fc5 seek errors - nash mount (built-in)

James Olson big_spender12 at lycos.com
Thu Mar 30 11:32:57 UTC 2006


> ----- Original Message -----
> From: "Peter Jones" <pjones at redhat.com>
> To: "ATARAID (eg, Promise Fasttrak,  Highpoint 370) related discussions" <ataraid-list at redhat.com>
> Subject: Re: fc5 seek errors - nash mount (built-in)
> Date: Wed, 29 Mar 2006 19:50:41 -0500
> 
> 
> On Wed, 2006-03-29 at 18:55 -0500, James Olson wrote:
> > > On Wed, 2006-03-29 at 09:45 -0500, James Olson wrote:
> > > > # cd /bin
> > > > # mv mount mount.jim  /* rename /bin/mount so nash will have to use it's own */
> > > > FWIW, you an call nash's as "nash-mount" instead of this.
> > Do I need to have another package installed besides mkinitrd?  When I
> > type # nash-mount into a terminal window I get "bash: nash-mount:
> > command not found".  If I type # nash - mount I get "unknown argument
> > -mount"
> 
> No, you have to be running nash.  nash-mount isn't a separate binary,
> it's just a way to tell nash "don't look in path for mount, use your
> internal one no matter what"
<snip..>
Thanks Peter! That does make testing easier (don't have to rename /bin/mount) Smiles!

I came up with a patch to nash/block.c that seems to fix the problem for me, you're welcome to use it if you want.  I just added another modified function to populate the cache that doesn't probe devices or scan for block id tags (BLOCK_ID_DEV_FIND instead of BLOCK_ID_DEV_NORMAL).

# diff -Naur block.c.orig block.c
--- block.c.orig        2006-03-08 11:46:59.000000000 -0800
+++ block.c     2006-03-30 02:49:19.000000000 -0800
@@ -337,6 +337,23 @@
     return NULL;
 }

+static char *
+block_populate_cache()
+{
+    bdev_iter biter;
+    bdev dev = NULL;
+    blkid_dev bdev = NULL;
+
+    biter = block_sysfs_iterate_begin("/sys/block");
+    while(block_sysfs_next(biter, &dev) >= 0) {
+
+        bdev = blkid_get_dev(cache, dev->dev_path, BLKID_DEV_FIND);
+    }
+    block_sysfs_iterate_end(&biter);
+
+    return NULL;
+}
+
 char *
 block_find_fs_by_label(const char *label)
 {
@@ -356,7 +373,7 @@

     if (!access("/sys/block", F_OK)) {
         /* populate the whole cache */
-        block_find_fs_by_keyvalue("unlikely","unlikely");
+        block_populate_cache();

         /* now look our device up */
         bdev = blkid_get_dev(cache, name, BLKID_DEV_NORMAL);


-- 
_______________________________________________

Search for businesses by name, location, or phone number.  -Lycos Yellow Pages

http://r.lycos.com/r/yp_emailfooter/http://yellowpages.lycos.com/default.asp?SRC=lycos10





More information about the Ataraid-list mailing list