[PATCH] 5 year old bug in main.c (initrd). Can this please be fixed?

From: Dave Cinege (dcinege@psychosis.com)
Date: Tue May 23 2000 - 00:01:06 EST


This has been around as long as I can remember and I'm getting sick
of fixing it by hand.

During initrd if root=/dev/ram0, /linuxrc will not be executed.
This is just plain wrong. Exhibit A: Documentation/initrd.txt
If initrd was started /linuxrc is supposed to be executed.
/linuxrc is responcible for setting real_root_dev via /proc.
This is properly checked for AFTER /linuxrc completes.

main.c line ~735
#ifdef CONFIG_BLK_DEV_INITRD
        root_mountflags = real_root_mountflags;
- if (mount_initrd && ROOT_DEV != real_root_dev
- && MAJOR(ROOT_DEV) == RAMDISK_MAJOR && MINOR(ROOT_DEV) == 0) {
                int error;
                int i, pid;

#ifdef CONFIG_BLK_DEV_INITRD
        root_mountflags = real_root_mountflags;
+ if (mount_initrd && MAJOR(ROOT_DEV) == RAMDISK_MAJOR &&
+ MINOR(ROOT_DEV) == 0) {
                int error;
                int i, pid

-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.rutgers.edu
Please read the FAQ at http://www.tux.org/lkml/



This archive was generated by hypermail 2b29 : Tue May 23 2000 - 21:00:23 EST