patch-2.4.22 linux-2.4.22/init/do_mounts.c
Next file: linux-2.4.22/init/main.c
Previous file: linux-2.4.22/include/video/fbcon.h
Back to the patch index
Back to the overall index
- Lines: 80
- Date:
2003-08-25 04:44:44.000000000 -0700
- Orig file:
linux-2.4.21/init/do_mounts.c
- Orig date:
2003-06-13 07:51:39.000000000 -0700
diff -urN linux-2.4.21/init/do_mounts.c linux-2.4.22/init/do_mounts.c
@@ -15,6 +15,7 @@
#include <linux/minix_fs.h>
#include <linux/ext2_fs.h>
#include <linux/romfs_fs.h>
+#include <linux/cramfs_fs.h>
#define BUILD_CRAMDISK
@@ -87,7 +88,7 @@
const char *name;
const int num;
} root_dev_names[] __initdata = {
- { "nfs", 0x00ff },
+ { "nfs", MKDEV(NFS_MAJOR, NFS_MINOR) },
{ "hda", 0x0300 },
{ "hdb", 0x0340 },
{ "loop", 0x0700 },
@@ -474,6 +475,7 @@
* minix
* ext2
* romfs
+ * cramfs
* gzip
*/
static int __init
@@ -483,6 +485,7 @@
struct minix_super_block *minixsb;
struct ext2_super_block *ext2sb;
struct romfs_super_block *romfsb;
+ struct cramfs_super *cramfsb;
int nblocks = -1;
unsigned char *buf;
@@ -493,6 +496,7 @@
minixsb = (struct minix_super_block *) buf;
ext2sb = (struct ext2_super_block *) buf;
romfsb = (struct romfs_super_block *) buf;
+ cramfsb = (struct cramfs_super *) buf;
memset(buf, 0xe5, size);
/*
@@ -522,6 +526,14 @@
goto done;
}
+ if (cramfsb->magic == CRAMFS_MAGIC) {
+ printk(KERN_NOTICE
+ "RAMDISK: cramfs filesystem found at block %d\n",
+ start_block);
+ nblocks = (cramfsb->size + BLOCK_SIZE - 1) >> BLOCK_SIZE_BITS;
+ goto done;
+ }
+
/*
* Read block 1 to test for minix and ext2 superblock
*/
@@ -747,7 +759,8 @@
static void __init mount_root(void)
{
#ifdef CONFIG_ROOT_NFS
- if (MAJOR(ROOT_DEV) == UNNAMED_MAJOR) {
+ if (MAJOR(ROOT_DEV) == NFS_MAJOR
+ && MINOR(ROOT_DEV) == NFS_MINOR) {
if (mount_nfs_root()) {
sys_chdir("/root");
ROOT_DEV = current->fs->pwdmnt->mnt_sb->s_dev;
@@ -908,6 +921,8 @@
mount_devfs_fs ();
}
+#ifdef CONFIG_BLK_DEV_RAM
+
#if defined(BUILD_CRAMDISK) && defined(CONFIG_BLK_DEV_RAM)
/*
@@ -1054,3 +1069,4 @@
}
#endif /* BUILD_CRAMDISK && CONFIG_BLK_DEV_RAM */
+#endif /* CONFIG_BLK_DEV_RAM */
FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen (who was at: slshen@lbl.gov)