Skip to contentSkip to conversation

2.6.0-test1 devfs question

DISCUSSION Wiktor Wodecki 4 participants 5 messages Jul 25, 2003 – Jul 27, 2003 MD RAID

lore
Share & tools
lore
#0 lore raw

Hello,

I'm currently running at 2.6.0-test1-mm2-O8 and I wanted to give devfs a shot. I recompiled the kernel with the following settings:
CONFIG_DEVFS_FS=y
CONFIG_DEVFS_MOUNT=y
# CONFIG_DEVFS_DEBUG is not set

As I read through the documentation (btw, devfs=nomount is mentioned in configure help but not in Documentation/filesystems/devfs/boot-options) I got the understanding that this shouldn't make any difference to the system right? After booting with this kernel there were lots of proper devfs devices in my dmesg (host0/ide0... scsi0/...) however, the system didn't came up (couldn't mount rootfs). It didn't even work when I enabled CONFIG_DEVFS_MOUNT.

I'm not sure whether this is a bug in mount/nomount of devfs or if it's somewhere my fault/setup (root on raid1, various lvm2 devices on raid1/0 devices)

Any help would be greatly appreciated.

Signature · 3 lines
Regards,

Wiktor Wodecki
#1 lore raw

argh

Quoted 6 lines · Wiktor Wodecki

Hello,

I'm currently running at 2.6.0-test1-mm2-O8 and I wanted to give devfs a shot. I recompiled the kernel with the following settings:
CONFIG_DEVFS_FS=y
CONFIG_DEVFS_MOUNT=y

please note, that my initial testing was done with CONFIG_DEVFS_MOUNT *not* set.

Quoted 20 lines

# CONFIG_DEVFS_DEBUG is not set

As I read through the documentation (btw, devfs=nomount is mentioned in configure help but not in Documentation/filesystems/devfs/boot-options) I got the understanding that this shouldn't make any difference to the system right? After booting with this kernel there were lots of proper devfs devices in my dmesg (host0/ide0... scsi0/...) however, the system didn't came up (couldn't mount rootfs). It didn't even work when I enabled CONFIG_DEVFS_MOUNT.

I'm not sure whether this is a bug in mount/nomount of devfs or if it's somewhere my fault/setup (root on raid1, various lvm2 devices on raid1/0 devices)

Any help would be greatly appreciated.

Signature · 3 lines
Regards,

Wiktor Wodecki
Signature · 3 lines
Regards,

Wiktor Wodecki
#2 lore raw
In reply to Wiktor Wodecki

There is a bug with devfs and raid, see:
http://bugzilla.kernel.org/show_bug.cgi?id=471

It's sitting there since 2.5.45, but no one seems interested and I don't have the knowledge to fix it by myself (or the time to acquire that knowledge).

Bye.

Quoted 13 lines · Wiktor Wodecki

Hello,

I'm currently running at 2.6.0-test1-mm2-O8 and I wanted to give devfs a shot. I recompiled the kernel with the following settings:
CONFIG_DEVFS_FS=y
CONFIG_DEVFS_MOUNT=y
# CONFIG_DEVFS_DEBUG is not set

I'm not sure whether this is a bug in mount/nomount of devfs or if it's somewhere my fault/setup (root on raid1, various lvm2 devices on raid1/0 devices)

Any help would be greatly appreciated.

Signature · 3 lines
----------------------------------------
Daniele Venzano
Web: http://digilander.iol.it/webvenza/
#3 lore raw
Quoted 7 lines · Daniele Venzano

There is a bug with devfs and raid, see:
http://bugzilla.kernel.org/show_bug.cgi?id=471

It's sitting there since 2.5.45, but no one seems interested and I don't have the knowledge to fix it by myself (or the time to acquire that knowledge).

Unfortunately, raising a bug in bugzilla doesn't actually mean that anyone is paying any attention to it. You need to keep shouting at people.

Is the problem simply that the device has moved from /dev/md1 to /dev/md/1? If so, is this change sufficient?

drivers/md/md.c renamed from drivers/md/md.c~a +2 -2
diff -puN drivers/md/md.c~a drivers/md/md.c
@@ -3505,7 +3505,7 @@ int __init md_init(void)
 	for (minor=0; minor < MAX_MD_DEVS; ++minor) {
 		devfs_mk_bdev(MKDEV(MAJOR_NR, minor),
 				S_IFBLK|S_IRUSR|S_IWUSR,
-				"md/%d", minor);
+				"md%d", minor);
 	}
 
 	register_reboot_notifier(&md_notifier);
@@ -3567,7 +3567,7 @@ static __exit void md_exit(void)
 	int i;
 	blk_unregister_region(MKDEV(MAJOR_NR,0), MAX_MD_DEVS);
 	for (i=0; i < MAX_MD_DEVS; i++)
-		devfs_remove("md/%d", i);
+		devfs_remove("md%d", i);
 	devfs_remove("md");
 
 	unregister_blkdev(MAJOR_NR,"md");

_

#4 lore raw
Quoted 2 lines · Andrew Morton

Is the problem simply that the device has moved from /dev/md1 to /dev/md/1? If so, is this change sufficient?

The problem seems to be "user selected devfs"

drivers/md/md.c int __init md_init(void) · line 3508

Quoted 9 lines

diff -puN drivers/md/md.c~a drivers/md/md.c

drivers/md/md.c renamed from drivers/md/md.c~a +1 -1
@@ -3505,7 +3505,7 @@ int __init md_init(void)
 	for (minor=0; minor < MAX_MD_DEVS; ++minor) {
 		devfs_mk_bdev(MKDEV(MAJOR_NR, minor),
 				S_IFBLK|S_IRUSR|S_IWUSR,
-				"md/%d", minor);
+				"md%d", minor);

But 2.4 is the same as 2.5 ...

   devfs_handle = devfs_mk_dir (NULL, "md", NULL);
        /* we don't use devfs_register_series because we want to fill
md_hd_str
        for (minor=0; minor < MAX_MD_DEVS; ++minor) {
                char devname[128];
                sprintf (devname, "%u", minor);