X-Git-Url: https://git.pld-linux.org/?a=blobdiff_plain;f=kernel-inittmpfs.patch;h=a89cb38df9dca4e741bb17805370884bfda3b268;hb=822fa6ea093c7b3c92866671e9a10bca430457a9;hp=e654d54f357f8353a2f93240e03c37f483c77a96;hpb=0497755dff5456c60b39ffe75ccb8a50313b7232;p=packages%2Fkernel.git diff --git a/kernel-inittmpfs.patch b/kernel-inittmpfs.patch index e654d54f..a89cb38d 100644 --- a/kernel-inittmpfs.patch +++ b/kernel-inittmpfs.patch @@ -30,14 +30,7 @@ diff -ruw linux-2.6.30.orig/fs/Kconfig linux-2.6.30/fs/Kconfig 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); } @@ -46,23 +39,15 @@ diff -ruw linux-2.6.30.orig/fs/ramfs/inode.c linux-2.6.30/fs/ramfs/inode.c -{ - 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 = ramfs_kill_sb, --}; + 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) @@ -80,19 +65,12 @@ diff -ruw linux-2.6.30.orig/fs/ramfs/inode.c linux-2.6.30/fs/ramfs/inode.c -{ - 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; } @@ -102,16 +80,9 @@ diff -ruw linux-2.6.30.orig/fs/ramfs/inode.c linux-2.6.30/fs/ramfs/inode.c +{ + 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 @@ -126,7 +97,7 @@ diff -ruw linux-2.6.30.orig/mm/shmem.c linux-2.6.30/mm/shmem.c static unsigned long shmem_default_max_inodes(void) @@ -2369,6 +2369,10 @@ - static int init_inodecache(void) + static int shmem_init_inodecache(void) { +#ifdef CONFIG_TMPFS_ROOT + if (shmem_inode_cachep) @@ -154,7 +125,7 @@ diff -ruw linux-2.6.30.orig/mm/shmem.c linux-2.6.30/mm/shmem.c + +int __init init_rootfs(void) +{ -+ if (init_inodecache()) ++ if (shmem_init_inodecache()) + panic("Can't initialize shm inode cache"); + return register_filesystem(&rootfs_fs_type); +}