tidy up after d_make_root() conversion
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
@@ -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 = {
|
|||||||
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)
|
|||||||
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 = {
|
|||||||
};
|
};
|
||||||
|
|
||||||
|
|
||||||
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)
|
|||||||
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,
|
|||||||
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)
|
|||||||
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 = {
|
|||||||
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)
|
|||||||
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 @@ fail:
|
|||||||
|
|
||||||
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)
|
|||||||
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;
|
|
||||||
goto fail;
|
|
||||||
}
|
|
||||||
/* override ramfs "dir" options so we catch unlink(2) */
|
/* override ramfs "dir" options so we catch unlink(2) */
|
||||||
inode->i_op = &pstore_dir_inode_operations;
|
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)
|
|||||||
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)
|
|||||||
|
|
||||||
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)
|
|||||||
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)
|
|||||||
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:
|
||||||
|
Reference in New Issue
Block a user