diff -ruw linux-2.6.30.orig/fs/ramfs/inode.c linux-2.6.30/fs/ramfs/inode.c
--- linux-2.6.30.orig/fs/ramfs/inode.c 2009-02-12 17:51:15.000000000 +0000
+++ linux-2.6.30/fs/ramfs/inode.c 2009-02-13 11:30:30.000000000 +0000
-@@ -255,17 +255,18 @@
- return err;
- }
-
-+
- struct dentry *ramfs_mount(struct file_system_type *fs_type,
- int flags, const char *dev_name, void *data)
- {
+@@ -244,12 +244,6 @@
return mount_nodev(fs_type, flags, data, ramfs_fill_super);
}
-{
- return mount_nodev(fs_type, flags|MS_NOUSER, data, ramfs_fill_super);
-}
-+static struct file_system_type ramfs_fs_type = {
-+ .name = "ramfs",
-+ .mount = ramfs_mount,
-+ .kill_sb = kill_litter_super,
-+};
-
+-
static void ramfs_kill_sb(struct super_block *sb)
{
-@@ -273,30 +274,19 @@
- kill_litter_super(sb);
- }
-
--static struct file_system_type ramfs_fs_type = {
-- .name = "ramfs",
-- .mount = ramfs_mount,
-- .kill_sb = kill_litter_super,
--};
+ kfree(sb->s_fs_info);
+@@ -261,18 +255,20 @@
+ .mount = ramfs_mount,
+ .kill_sb = ramfs_kill_sb,
+ };
++
+#ifndef CONFIG_TMPFS_ROOT
+static struct dentry *rootfs_mount(struct file_system_type *fs_type,
+ int flags, const char *dev_name, void *data)
-{
- return register_filesystem(&ramfs_fs_type);
-}
--
--static void __exit exit_ramfs_fs(void)
--{
-- unregister_filesystem(&ramfs_fs_type);
--}
--
-module_init(init_ramfs_fs)
--module_exit(exit_ramfs_fs)
-
int __init init_rootfs(void)
{
int err;
-@@ -311,5 +301,19 @@
+@@ -287,3 +283,12 @@
return err;
}
+{
+ return register_filesystem(&ramfs_fs_type);
+}
++module_init(init_ramfs_fs)
+
-+static void __exit exit_ramfs_fs(void)
-+{
-+ unregister_filesystem(&ramfs_fs_type);
-+}
+
-+module_init(init_ramfs_fs)
-+module_exit(exit_ramfs_fs)
-
- MODULE_LICENSE("GPL");
diff -ruw linux-2.6.30.orig/mm/shmem.c linux-2.6.30/mm/shmem.c
--- linux-2.6.30.orig/mm/shmem.c 2009-02-12 17:51:15.000000000 +0000
+++ linux-2.6.30/mm/shmem.c 2009-02-13 11:42:02.000000000 +0000