patch-2.1.37 linux/fs/super.c

Next file: linux/fs/umsdos/namei.c
Previous file: linux/fs/smbfs/inode.c
Back to the patch index
Back to the overall index

diff -u --recursive --new-file v2.1.36/linux/fs/super.c linux/fs/super.c
@@ -33,6 +33,7 @@
 #include <linux/smp.h>
 #include <linux/smp_lock.h>
 #include <linux/fd.h>
+#include <linux/init.h>
 
 #include <asm/system.h>
 #include <asm/uaccess.h>
@@ -552,7 +553,7 @@
 	int i;
 
 	for (i = 1; i < 256; i++) {
-		if (!set_bit(i,unnamed_dev_in_use))
+		if (!test_and_set_bit(i,unnamed_dev_in_use))
 			return MKDEV(UNNAMED_MAJOR, i);
 	}
 	return 0;
@@ -562,7 +563,7 @@
 {
 	if (!dev || MAJOR(dev) != UNNAMED_MAJOR)
 		return;
-	if (clear_bit(MINOR(dev), unnamed_dev_in_use))
+	if (test_and_clear_bit(MINOR(dev), unnamed_dev_in_use))
 		return;
 	printk("VFS: put_unnamed_dev: freeing unused device %s\n",
 			kdevname(dev));
@@ -937,7 +938,11 @@
 	return retval;
 }
 
+#ifdef CONFIG_BLK_DEV_INITRD
 static void do_mount_root(void)
+#else
+__initfunc(static void do_mount_root(void))
+#endif
 {
 	struct file_system_type * fs_type;
 	struct super_block * sb;
@@ -1046,7 +1051,7 @@
 }
 
 
-void mount_root(void)
+__initfunc(void mount_root(void))
 {
 	memset(super_blocks, 0, sizeof(super_blocks));
 	do_mount_root();

FUNET's LINUX-ADM group, linux-adm@nic.funet.fi
TCL-scripts by Sam Shen, slshen@lbl.gov