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