Skip to content

Commit

Permalink
tidy up after d_make_root() conversion
Browse files Browse the repository at this point in the history
Signed-off-by: Al Viro <[email protected]>
  • Loading branch information
Al Viro committed Mar 21, 2012
1 parent ca85c07 commit 318ceed
Show file tree
Hide file tree
Showing 6 changed files with 26 additions and 53 deletions.
14 changes: 6 additions & 8 deletions drivers/misc/ibmasm/ibmasmfs.c
Original file line number Diff line number Diff line change
Expand Up @@ -87,7 +87,7 @@
static LIST_HEAD(service_processors);

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);


Expand All @@ -114,7 +114,6 @@ static struct file_system_type ibmasmfs_type = {
static int ibmasmfs_fill_super (struct super_block *sb, void *data, int silent)
{
struct inode *root;
struct dentry *root_dentry;

sb->s_blocksize = PAGE_CACHE_SIZE;
sb->s_blocksize_bits = PAGE_CACHE_SHIFT;
Expand All @@ -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_fop = ibmasmfs_dir_ops;

root_dentry = d_make_root(root);
if (!root_dentry)
sb->s_root = d_make_root(root);
if (!sb->s_root)
return -ENOMEM;
sb->s_root = root_dentry;

ibmasmfs_create_files(sb, root_dentry);
ibmasmfs_create_files(sb);
return 0;
}

Expand Down Expand Up @@ -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 service_processor *sp;
Expand All @@ -619,7 +617,7 @@ static void ibmasmfs_create_files (struct super_block *sb, struct dentry *root)
struct dentry *dir;
struct dentry *remote_dir;
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)
continue;

Expand Down
9 changes: 3 additions & 6 deletions drivers/oprofile/oprofilefs.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
struct inode *root_inode;
struct dentry *root_dentry;

sb->s_blocksize = PAGE_CACHE_SIZE;
sb->s_blocksize_bits = PAGE_CACHE_SHIFT;
Expand All @@ -251,13 +250,11 @@ static int oprofilefs_fill_super(struct super_block *sb, void *data, int silent)
return -ENOMEM;
root_inode->i_op = &simple_dir_inode_operations;
root_inode->i_fop = &simple_dir_operations;
root_dentry = d_make_root(root_inode);
if (!root_dentry)
sb->s_root = d_make_root(root_inode);
if (!sb->s_root)
return -ENOMEM;

sb->s_root = root_dentry;

oprofile_create_files(sb, root_dentry);
oprofile_create_files(sb, sb->s_root);

// FIXME: verify kill_litter_super removes our dentries
return 0;
Expand Down
6 changes: 2 additions & 4 deletions drivers/usb/core/inode.c
Original file line number Diff line number Diff line change
Expand Up @@ -454,20 +454,18 @@ static const struct super_operations usbfs_ops = {
static int usbfs_fill_super(struct super_block *sb, void *data, int silent)
{
struct inode *inode;
struct dentry *root;

sb->s_blocksize = PAGE_CACHE_SIZE;
sb->s_blocksize_bits = PAGE_CACHE_SHIFT;
sb->s_magic = USBDEVICE_SUPER_MAGIC;
sb->s_op = &usbfs_ops;
sb->s_time_gran = 1;
inode = usbfs_get_inode(sb, S_IFDIR | 0755, 0);
root = d_make_root(inode);
if (!root) {
sb->s_root = d_make_root(inode);
if (!sb->s_root) {
dbg("%s: could not get root dentry!",__func__);
return -ENOMEM;
}
sb->s_root = root;
return 0;
}

Expand Down
24 changes: 7 additions & 17 deletions fs/pstore/inode.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
struct inode *inode = NULL;
struct dentry *root;
int err;
struct inode *inode;

save_mount_options(sb, data);

Expand All @@ -296,25 +294,17 @@ int pstore_fill_super(struct super_block *sb, void *data, int silent)
parse_options(data);

inode = pstore_get_inode(sb, NULL, S_IFDIR | 0755, 0);
if (!inode) {
err = -ENOMEM;
goto fail;
}
/* 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;
if (inode) {
/* override ramfs "dir" options so we catch unlink(2) */
inode->i_op = &pstore_dir_inode_operations;
}
sb->s_root = d_make_root(inode);
if (!sb->s_root)
return -ENOMEM;

pstore_get_records(0);

return 0;
fail:
return err;
}

static struct dentry *pstore_mount(struct file_system_type *fs_type,
Expand Down
20 changes: 6 additions & 14 deletions fs/ramfs/inode.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
struct ramfs_fs_info *fsi;
struct inode *inode = NULL;
struct inode *inode;
int err;

save_mount_options(sb, data);

fsi = kzalloc(sizeof(struct ramfs_fs_info), GFP_KERNEL);
sb->s_fs_info = fsi;
if (!fsi) {
err = -ENOMEM;
goto fail;
}
if (!fsi)
return -ENOMEM;

err = ramfs_parse_options(data, &fsi->mount_opts);
if (err)
goto fail;
return err;

sb->s_maxbytes = MAX_LFS_FILESIZE;
sb->s_blocksize = PAGE_CACHE_SIZE;
Expand All @@ -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);
sb->s_root = d_make_root(inode);
if (!sb->s_root) {
err = -ENOMEM;
goto fail;
}
if (!sb->s_root)
return -ENOMEM;

return 0;
fail:
kfree(fsi);
sb->s_fs_info = NULL;
return err;
}

struct dentry *ramfs_mount(struct file_system_type *fs_type,
Expand Down
6 changes: 2 additions & 4 deletions mm/shmem.c
Original file line number Diff line number Diff line change
Expand Up @@ -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)
{
struct inode *inode;
struct dentry *root;
struct shmem_sb_info *sbinfo;
int err = -ENOMEM;

Expand Down Expand Up @@ -2232,10 +2231,9 @@ int shmem_fill_super(struct super_block *sb, void *data, int silent)
goto failed;
inode->i_uid = sbinfo->uid;
inode->i_gid = sbinfo->gid;
root = d_make_root(inode);
if (!root)
sb->s_root = d_make_root(inode);
if (!sb->s_root)
goto failed;
sb->s_root = root;
return 0;

failed:
Expand Down

0 comments on commit 318ceed

Please sign in to comment.