Re: fc5 seek errors - nash mount (built-in)

"James Olson" <[email protected]>
Newsgroups gmane.linux.ataraid
Message-ID <[email protected]>
> ----- Original Message -----
> From: "Peter Jones" <[email protected]>
> To: "ATARAID (eg, Promise Fasttrak,  Highpoint 370) related discussions" <[email protected]>
> 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
lmpx.com only provides a reader for public news (NNTP) servers. It is not affiliated with the servers or forums shown here and is not responsible for the content of articles, which is written by their respective authors.