X-Git-Url: http://pilppa.org/gitweb/gitweb.cgi?a=blobdiff_plain;f=fs%2Framfs%2Finode.c;h=8428d5b2711de8e901b75dd3c209039c3e2d429a;hb=614ee1f61f667b02165c1ae0c1357048dc6d94a0;hp=ff1f7639707b13c74f90737cf7db579050f2e04e;hpb=a22a0fab32e1216df56e4b9a577dc5c922cf7524;p=linux-2.6-omap-h63xx.git diff --git a/fs/ramfs/inode.c b/fs/ramfs/inode.c index ff1f7639707..8428d5b2711 100644 --- a/fs/ramfs/inode.c +++ b/fs/ramfs/inode.c @@ -30,10 +30,9 @@ #include #include #include -#include #include #include - +#include #include #include "internal.h" @@ -61,6 +60,7 @@ struct inode *ramfs_get_inode(struct super_block *sb, int mode, dev_t dev) inode->i_blocks = 0; inode->i_mapping->a_ops = &ramfs_aops; inode->i_mapping->backing_dev_info = &ramfs_backing_dev_info; + mapping_set_gfp_mask(inode->i_mapping, GFP_HIGHUSER); inode->i_atime = inode->i_mtime = inode->i_ctime = CURRENT_TIME; switch (mode & S_IFMT) { default: @@ -223,7 +223,17 @@ module_exit(exit_ramfs_fs) int __init init_rootfs(void) { - return register_filesystem(&rootfs_fs_type); + int err; + + err = bdi_init(&ramfs_backing_dev_info); + if (err) + return err; + + err = register_filesystem(&rootfs_fs_type); + if (err) + bdi_destroy(&ramfs_backing_dev_info); + + return err; } MODULE_LICENSE("GPL");