提交 318ceed0 编写于 作者: A Al Viro

tidy up after d_make_root() conversion

Signed-off-by: NAl Viro <viro@zeniv.linux.org.uk>
上级 ca85c078
...@@ -87,7 +87,7 @@ ...@@ -87,7 +87,7 @@
static LIST_HEAD(service_processors); static LIST_HEAD(service_processors);
static struct inode *ibmasmfs_make_inode(struct super_block *sb, int mode); static struct inode *ibmasmfs_make_inode(struct super_block *sb, int mode);
static void ibmasmfs_create_files (struct super_block *sb, struct dentry *root); static void ibmasmfs_create_files (struct super_block *sb);
static int ibmasmfs_fill_super (struct super_block *sb, void *data, int silent); static int ibmasmfs_fill_super (struct super_block *sb, void *data, int silent);
...@@ -114,7 +114,6 @@ static struct file_system_type ibmasmfs_type = { ...@@ -114,7 +114,6 @@ static struct file_system_type ibmasmfs_type = {
static int ibmasmfs_fill_super (struct super_block *sb, void *data, int silent) static int ibmasmfs_fill_super (struct super_block *sb, void *data, int silent)
{ {
struct inode *root; struct inode *root;
struct dentry *root_dentry;
sb->s_blocksize = PAGE_CACHE_SIZE; sb->s_blocksize = PAGE_CACHE_SIZE;
sb->s_blocksize_bits = PAGE_CACHE_SHIFT; sb->s_blocksize_bits = PAGE_CACHE_SHIFT;
...@@ -129,12 +128,11 @@ static int ibmasmfs_fill_super (struct super_block *sb, void *data, int silent) ...@@ -129,12 +128,11 @@ static int ibmasmfs_fill_super (struct super_block *sb, void *data, int silent)
root->i_op = &simple_dir_inode_operations; root->i_op = &simple_dir_inode_operations;
root->i_fop = ibmasmfs_dir_ops; root->i_fop = ibmasmfs_dir_ops;
root_dentry = d_make_root(root); sb->s_root = d_make_root(root);
if (!root_dentry) if (!sb->s_root)
return -ENOMEM; return -ENOMEM;
sb->s_root = root_dentry;
ibmasmfs_create_files(sb, root_dentry); ibmasmfs_create_files(sb);
return 0; return 0;
} }
...@@ -610,7 +608,7 @@ static const struct file_operations remote_settings_fops = { ...@@ -610,7 +608,7 @@ static const struct file_operations remote_settings_fops = {
}; };
static void ibmasmfs_create_files (struct super_block *sb, struct dentry *root) static void ibmasmfs_create_files (struct super_block *sb)
{ {
struct list_head *entry; struct list_head *entry;
struct service_processor *sp; struct service_processor *sp;
...@@ -619,7 +617,7 @@ static void ibmasmfs_create_files (struct super_block *sb, struct dentry *root) ...@@ -619,7 +617,7 @@ static void ibmasmfs_create_files (struct super_block *sb, struct dentry *root)
struct dentry *dir; struct dentry *dir;
struct dentry *remote_dir; struct dentry *remote_dir;
sp = list_entry(entry, struct service_processor, node); sp = list_entry(entry, struct service_processor, node);
dir = ibmasmfs_create_dir(sb, root, sp->dirname); dir = ibmasmfs_create_dir(sb, sb->s_root, sp->dirname);
if (!dir) if (!dir)
continue; continue;
......
...@@ -238,7 +238,6 @@ struct dentry *oprofilefs_mkdir(struct super_block *sb, ...@@ -238,7 +238,6 @@ struct dentry *oprofilefs_mkdir(struct super_block *sb,
static int oprofilefs_fill_super(struct super_block *sb, void *data, int silent) static int oprofilefs_fill_super(struct super_block *sb, void *data, int silent)
{ {
struct inode *root_inode; struct inode *root_inode;
struct dentry *root_dentry;
sb->s_blocksize = PAGE_CACHE_SIZE; sb->s_blocksize = PAGE_CACHE_SIZE;
sb->s_blocksize_bits = PAGE_CACHE_SHIFT; sb->s_blocksize_bits = PAGE_CACHE_SHIFT;
...@@ -251,13 +250,11 @@ static int oprofilefs_fill_super(struct super_block *sb, void *data, int silent) ...@@ -251,13 +250,11 @@ static int oprofilefs_fill_super(struct super_block *sb, void *data, int silent)
return -ENOMEM; return -ENOMEM;
root_inode->i_op = &simple_dir_inode_operations; root_inode->i_op = &simple_dir_inode_operations;
root_inode->i_fop = &simple_dir_operations; root_inode->i_fop = &simple_dir_operations;
root_dentry = d_make_root(root_inode); sb->s_root = d_make_root(root_inode);
if (!root_dentry) if (!sb->s_root)
return -ENOMEM; return -ENOMEM;
sb->s_root = root_dentry; oprofile_create_files(sb, sb->s_root);
oprofile_create_files(sb, root_dentry);
// FIXME: verify kill_litter_super removes our dentries // FIXME: verify kill_litter_super removes our dentries
return 0; return 0;
......
...@@ -454,7 +454,6 @@ static const struct super_operations usbfs_ops = { ...@@ -454,7 +454,6 @@ static const struct super_operations usbfs_ops = {
static int usbfs_fill_super(struct super_block *sb, void *data, int silent) static int usbfs_fill_super(struct super_block *sb, void *data, int silent)
{ {
struct inode *inode; struct inode *inode;
struct dentry *root;
sb->s_blocksize = PAGE_CACHE_SIZE; sb->s_blocksize = PAGE_CACHE_SIZE;
sb->s_blocksize_bits = PAGE_CACHE_SHIFT; sb->s_blocksize_bits = PAGE_CACHE_SHIFT;
...@@ -462,12 +461,11 @@ static int usbfs_fill_super(struct super_block *sb, void *data, int silent) ...@@ -462,12 +461,11 @@ static int usbfs_fill_super(struct super_block *sb, void *data, int silent)
sb->s_op = &usbfs_ops; sb->s_op = &usbfs_ops;
sb->s_time_gran = 1; sb->s_time_gran = 1;
inode = usbfs_get_inode(sb, S_IFDIR | 0755, 0); inode = usbfs_get_inode(sb, S_IFDIR | 0755, 0);
root = d_make_root(inode); sb->s_root = d_make_root(inode);
if (!root) { if (!sb->s_root) {
dbg("%s: could not get root dentry!",__func__); dbg("%s: could not get root dentry!",__func__);
return -ENOMEM; return -ENOMEM;
} }
sb->s_root = root;
return 0; return 0;
} }
......
...@@ -278,9 +278,7 @@ int pstore_mkfile(enum pstore_type_id type, char *psname, u64 id, ...@@ -278,9 +278,7 @@ int pstore_mkfile(enum pstore_type_id type, char *psname, u64 id,
int pstore_fill_super(struct super_block *sb, void *data, int silent) int pstore_fill_super(struct super_block *sb, void *data, int silent)
{ {
struct inode *inode = NULL; struct inode *inode;
struct dentry *root;
int err;
save_mount_options(sb, data); save_mount_options(sb, data);
...@@ -296,25 +294,17 @@ int pstore_fill_super(struct super_block *sb, void *data, int silent) ...@@ -296,25 +294,17 @@ int pstore_fill_super(struct super_block *sb, void *data, int silent)
parse_options(data); parse_options(data);
inode = pstore_get_inode(sb, NULL, S_IFDIR | 0755, 0); inode = pstore_get_inode(sb, NULL, S_IFDIR | 0755, 0);
if (!inode) { if (inode) {
err = -ENOMEM; /* override ramfs "dir" options so we catch unlink(2) */
goto fail; inode->i_op = &pstore_dir_inode_operations;
}
/* override ramfs "dir" options so we catch unlink(2) */
inode->i_op = &pstore_dir_inode_operations;
root = d_make_root(inode);
sb->s_root = root;
if (!root) {
err = -ENOMEM;
goto fail;
} }
sb->s_root = d_make_root(inode);
if (!sb->s_root)
return -ENOMEM;
pstore_get_records(0); pstore_get_records(0);
return 0; return 0;
fail:
return err;
} }
static struct dentry *pstore_mount(struct file_system_type *fs_type, static struct dentry *pstore_mount(struct file_system_type *fs_type,
......
...@@ -209,21 +209,19 @@ static int ramfs_parse_options(char *data, struct ramfs_mount_opts *opts) ...@@ -209,21 +209,19 @@ static int ramfs_parse_options(char *data, struct ramfs_mount_opts *opts)
int ramfs_fill_super(struct super_block *sb, void *data, int silent) int ramfs_fill_super(struct super_block *sb, void *data, int silent)
{ {
struct ramfs_fs_info *fsi; struct ramfs_fs_info *fsi;
struct inode *inode = NULL; struct inode *inode;
int err; int err;
save_mount_options(sb, data); save_mount_options(sb, data);
fsi = kzalloc(sizeof(struct ramfs_fs_info), GFP_KERNEL); fsi = kzalloc(sizeof(struct ramfs_fs_info), GFP_KERNEL);
sb->s_fs_info = fsi; sb->s_fs_info = fsi;
if (!fsi) { if (!fsi)
err = -ENOMEM; return -ENOMEM;
goto fail;
}
err = ramfs_parse_options(data, &fsi->mount_opts); err = ramfs_parse_options(data, &fsi->mount_opts);
if (err) if (err)
goto fail; return err;
sb->s_maxbytes = MAX_LFS_FILESIZE; sb->s_maxbytes = MAX_LFS_FILESIZE;
sb->s_blocksize = PAGE_CACHE_SIZE; sb->s_blocksize = PAGE_CACHE_SIZE;
...@@ -234,16 +232,10 @@ int ramfs_fill_super(struct super_block *sb, void *data, int silent) ...@@ -234,16 +232,10 @@ int ramfs_fill_super(struct super_block *sb, void *data, int silent)
inode = ramfs_get_inode(sb, NULL, S_IFDIR | fsi->mount_opts.mode, 0); inode = ramfs_get_inode(sb, NULL, S_IFDIR | fsi->mount_opts.mode, 0);
sb->s_root = d_make_root(inode); sb->s_root = d_make_root(inode);
if (!sb->s_root) { if (!sb->s_root)
err = -ENOMEM; return -ENOMEM;
goto fail;
}
return 0; return 0;
fail:
kfree(fsi);
sb->s_fs_info = NULL;
return err;
} }
struct dentry *ramfs_mount(struct file_system_type *fs_type, struct dentry *ramfs_mount(struct file_system_type *fs_type,
......
...@@ -2175,7 +2175,6 @@ static void shmem_put_super(struct super_block *sb) ...@@ -2175,7 +2175,6 @@ static void shmem_put_super(struct super_block *sb)
int shmem_fill_super(struct super_block *sb, void *data, int silent) int shmem_fill_super(struct super_block *sb, void *data, int silent)
{ {
struct inode *inode; struct inode *inode;
struct dentry *root;
struct shmem_sb_info *sbinfo; struct shmem_sb_info *sbinfo;
int err = -ENOMEM; int err = -ENOMEM;
...@@ -2232,10 +2231,9 @@ int shmem_fill_super(struct super_block *sb, void *data, int silent) ...@@ -2232,10 +2231,9 @@ int shmem_fill_super(struct super_block *sb, void *data, int silent)
goto failed; goto failed;
inode->i_uid = sbinfo->uid; inode->i_uid = sbinfo->uid;
inode->i_gid = sbinfo->gid; inode->i_gid = sbinfo->gid;
root = d_make_root(inode); sb->s_root = d_make_root(inode);
if (!root) if (!sb->s_root)
goto failed; goto failed;
sb->s_root = root;
return 0; return 0;
failed: failed:
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册