mirror of
https://gitee.com/openharmony/kernel_linux
synced 2025-04-04 16:12:35 +00:00
switch open-coded instances of d_make_root() to new helper
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
This commit is contained in:
parent
6b4231e2f9
commit
48fde701af
arch
drivers
fs
9p
adfs
affs
afs
autofs4
befs
bfs
btrfs
ceph
cifs
coda
configfs
cramfs
devpts
ecryptfs
efs
exofs
ext2
ext3
ext4
freevxfs
fuse
gfs2
hfs
hostfs
hpfs
hppfs
hugetlbfs
isofs
jffs2
jfs
libfs.clogfs
ncpfs
nfs
nilfs2
ocfs2
omfs
openpromfs
proc
pstore
qnx4
ramfs
reiserfs
romfs
squashfs
sysfs
sysv
ubifs
udf
ufs
xfs
ipc
kernel
mm
net/sunrpc
@ -757,9 +757,9 @@ spufs_create_root(struct super_block *sb, void *data)
|
||||
goto out_iput;
|
||||
|
||||
ret = -ENOMEM;
|
||||
sb->s_root = d_alloc_root(inode);
|
||||
sb->s_root = d_make_root(inode);
|
||||
if (!sb->s_root)
|
||||
goto out_iput;
|
||||
goto out;
|
||||
|
||||
return 0;
|
||||
out_iput:
|
||||
|
@ -293,11 +293,9 @@ static int hypfs_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;
|
||||
sb->s_root = root_dentry = d_alloc_root(root_inode);
|
||||
if (!root_dentry) {
|
||||
iput(root_inode);
|
||||
sb->s_root = root_dentry = d_make_root(root_inode);
|
||||
if (!root_dentry)
|
||||
return -ENOMEM;
|
||||
}
|
||||
if (MACHINE_IS_VM)
|
||||
rc = hypfs_vm_create_files(sb, root_dentry);
|
||||
else
|
||||
|
@ -129,11 +129,9 @@ 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_alloc_root(root);
|
||||
if (!root_dentry) {
|
||||
iput(root);
|
||||
root_dentry = d_make_root(root);
|
||||
if (!root_dentry)
|
||||
return -ENOMEM;
|
||||
}
|
||||
sb->s_root = root_dentry;
|
||||
|
||||
ibmasmfs_create_files(sb, root_dentry);
|
||||
|
@ -251,11 +251,9 @@ 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_alloc_root(root_inode);
|
||||
if (!root_dentry) {
|
||||
iput(root_inode);
|
||||
root_dentry = d_make_root(root_inode);
|
||||
if (!root_dentry)
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
sb->s_root = root_dentry;
|
||||
|
||||
|
@ -462,16 +462,9 @@ static int usbfs_fill_super(struct super_block *sb, void *data, int silent)
|
||||
sb->s_op = &usbfs_ops;
|
||||
sb->s_time_gran = 1;
|
||||
inode = usbfs_get_inode(sb, S_IFDIR | 0755, 0);
|
||||
|
||||
if (!inode) {
|
||||
dbg("%s: could not get inode!",__func__);
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
root = d_alloc_root(inode);
|
||||
root = d_make_root(inode);
|
||||
if (!root) {
|
||||
dbg("%s: could not get root dentry!",__func__);
|
||||
iput(inode);
|
||||
return -ENOMEM;
|
||||
}
|
||||
sb->s_root = root;
|
||||
|
@ -1063,13 +1063,9 @@ static int ffs_sb_fill(struct super_block *sb, void *_data, int silent)
|
||||
&simple_dir_operations,
|
||||
&simple_dir_inode_operations,
|
||||
&data->perms);
|
||||
if (unlikely(!inode))
|
||||
sb->s_root = d_make_root(inode);
|
||||
if (unlikely(!sb->s_root))
|
||||
goto Enomem;
|
||||
sb->s_root = d_alloc_root(inode);
|
||||
if (unlikely(!sb->s_root)) {
|
||||
iput(inode);
|
||||
goto Enomem;
|
||||
}
|
||||
|
||||
/* EP0 file */
|
||||
if (unlikely(!ffs_sb_create_file(sb, "ep0", ffs,
|
||||
|
@ -2059,10 +2059,8 @@ gadgetfs_fill_super (struct super_block *sb, void *opts, int silent)
|
||||
if (!inode)
|
||||
goto Enomem;
|
||||
inode->i_op = &simple_dir_inode_operations;
|
||||
if (!(sb->s_root = d_alloc_root (inode))) {
|
||||
iput(inode);
|
||||
if (!(sb->s_root = d_make_root (inode)))
|
||||
goto Enomem;
|
||||
}
|
||||
|
||||
/* the ep0 file is named after the controller we expect;
|
||||
* user mode code can use it for sanity checks, like we do.
|
||||
|
@ -155,9 +155,8 @@ static struct dentry *v9fs_mount(struct file_system_type *fs_type, int flags,
|
||||
goto release_sb;
|
||||
}
|
||||
|
||||
root = d_alloc_root(inode);
|
||||
root = d_make_root(inode);
|
||||
if (!root) {
|
||||
iput(inode);
|
||||
retval = -ENOMEM;
|
||||
goto release_sb;
|
||||
}
|
||||
|
@ -483,10 +483,9 @@ static int adfs_fill_super(struct super_block *sb, void *data, int silent)
|
||||
|
||||
sb->s_d_op = &adfs_dentry_operations;
|
||||
root = adfs_iget(sb, &root_obj);
|
||||
sb->s_root = d_alloc_root(root);
|
||||
sb->s_root = d_make_root(root);
|
||||
if (!sb->s_root) {
|
||||
int i;
|
||||
iput(root);
|
||||
for (i = 0; i < asb->s_map_size; i++)
|
||||
brelse(asb->s_map[i].dm_bh);
|
||||
kfree(asb->s_map);
|
||||
|
@ -473,7 +473,7 @@ got_root:
|
||||
root_inode = affs_iget(sb, root_block);
|
||||
if (IS_ERR(root_inode)) {
|
||||
ret = PTR_ERR(root_inode);
|
||||
goto out_error_noinode;
|
||||
goto out_error;
|
||||
}
|
||||
|
||||
if (AFFS_SB(sb)->s_flags & SF_INTL)
|
||||
@ -481,7 +481,7 @@ got_root:
|
||||
else
|
||||
sb->s_d_op = &affs_dentry_operations;
|
||||
|
||||
sb->s_root = d_alloc_root(root_inode);
|
||||
sb->s_root = d_make_root(root_inode);
|
||||
if (!sb->s_root) {
|
||||
printk(KERN_ERR "AFFS: Get root inode failed\n");
|
||||
goto out_error;
|
||||
@ -494,9 +494,6 @@ got_root:
|
||||
* Begin the cascaded cleanup ...
|
||||
*/
|
||||
out_error:
|
||||
if (root_inode)
|
||||
iput(root_inode);
|
||||
out_error_noinode:
|
||||
kfree(sbi->s_bitmap);
|
||||
affs_brelse(root_bh);
|
||||
kfree(sbi->s_prefix);
|
||||
|
@ -301,7 +301,6 @@ static int afs_fill_super(struct super_block *sb,
|
||||
{
|
||||
struct afs_super_info *as = sb->s_fs_info;
|
||||
struct afs_fid fid;
|
||||
struct dentry *root = NULL;
|
||||
struct inode *inode = NULL;
|
||||
int ret;
|
||||
|
||||
@ -327,18 +326,16 @@ static int afs_fill_super(struct super_block *sb,
|
||||
set_bit(AFS_VNODE_AUTOCELL, &AFS_FS_I(inode)->flags);
|
||||
|
||||
ret = -ENOMEM;
|
||||
root = d_alloc_root(inode);
|
||||
if (!root)
|
||||
sb->s_root = d_make_root(inode);
|
||||
if (!sb->s_root)
|
||||
goto error;
|
||||
|
||||
sb->s_d_op = &afs_fs_dentry_operations;
|
||||
sb->s_root = root;
|
||||
|
||||
_leave(" = 0");
|
||||
return 0;
|
||||
|
||||
error:
|
||||
iput(inode);
|
||||
_leave(" = %d", ret);
|
||||
return ret;
|
||||
}
|
||||
|
@ -247,12 +247,9 @@ int autofs4_fill_super(struct super_block *s, void *data, int silent)
|
||||
if (!ino)
|
||||
goto fail_free;
|
||||
root_inode = autofs4_get_inode(s, S_IFDIR | 0755);
|
||||
if (!root_inode)
|
||||
goto fail_ino;
|
||||
|
||||
root = d_alloc_root(root_inode);
|
||||
root = d_make_root(root_inode);
|
||||
if (!root)
|
||||
goto fail_iput;
|
||||
goto fail_ino;
|
||||
pipe = NULL;
|
||||
|
||||
root->d_fsdata = ino;
|
||||
@ -317,9 +314,6 @@ fail_fput:
|
||||
fail_dput:
|
||||
dput(root);
|
||||
goto fail_free;
|
||||
fail_iput:
|
||||
printk("autofs: get root dentry failed\n");
|
||||
iput(root_inode);
|
||||
fail_ino:
|
||||
kfree(ino);
|
||||
fail_free:
|
||||
|
@ -852,9 +852,8 @@ befs_fill_super(struct super_block *sb, void *data, int silent)
|
||||
ret = PTR_ERR(root);
|
||||
goto unacquire_priv_sbp;
|
||||
}
|
||||
sb->s_root = d_alloc_root(root);
|
||||
sb->s_root = d_make_root(root);
|
||||
if (!sb->s_root) {
|
||||
iput(root);
|
||||
befs_error(sb, "get root inode failed");
|
||||
goto unacquire_priv_sbp;
|
||||
}
|
||||
|
@ -367,9 +367,8 @@ static int bfs_fill_super(struct super_block *s, void *data, int silent)
|
||||
ret = PTR_ERR(inode);
|
||||
goto out2;
|
||||
}
|
||||
s->s_root = d_alloc_root(inode);
|
||||
s->s_root = d_make_root(inode);
|
||||
if (!s->s_root) {
|
||||
iput(inode);
|
||||
ret = -ENOMEM;
|
||||
goto out2;
|
||||
}
|
||||
|
@ -629,7 +629,6 @@ static int btrfs_fill_super(struct super_block *sb,
|
||||
void *data, int silent)
|
||||
{
|
||||
struct inode *inode;
|
||||
struct dentry *root_dentry;
|
||||
struct btrfs_fs_info *fs_info = btrfs_sb(sb);
|
||||
struct btrfs_key key;
|
||||
int err;
|
||||
@ -660,15 +659,12 @@ static int btrfs_fill_super(struct super_block *sb,
|
||||
goto fail_close;
|
||||
}
|
||||
|
||||
root_dentry = d_alloc_root(inode);
|
||||
if (!root_dentry) {
|
||||
iput(inode);
|
||||
sb->s_root = d_make_root(inode);
|
||||
if (!sb->s_root) {
|
||||
err = -ENOMEM;
|
||||
goto fail_close;
|
||||
}
|
||||
|
||||
sb->s_root = root_dentry;
|
||||
|
||||
save_mount_options(sb, data);
|
||||
cleancache_init_fs(sb);
|
||||
sb->s_flags |= MS_ACTIVE;
|
||||
|
@ -655,9 +655,8 @@ static struct dentry *open_root_dentry(struct ceph_fs_client *fsc,
|
||||
dout("open_root_inode success\n");
|
||||
if (ceph_ino(inode) == CEPH_INO_ROOT &&
|
||||
fsc->sb->s_root == NULL) {
|
||||
root = d_alloc_root(inode);
|
||||
root = d_make_root(inode);
|
||||
if (!root) {
|
||||
iput(inode);
|
||||
root = ERR_PTR(-ENOMEM);
|
||||
goto out;
|
||||
}
|
||||
|
@ -122,11 +122,9 @@ cifs_read_super(struct super_block *sb)
|
||||
goto out_no_root;
|
||||
}
|
||||
|
||||
sb->s_root = d_alloc_root(inode);
|
||||
|
||||
sb->s_root = d_make_root(inode);
|
||||
if (!sb->s_root) {
|
||||
rc = -ENOMEM;
|
||||
iput(inode);
|
||||
goto out_no_root;
|
||||
}
|
||||
|
||||
|
@ -213,9 +213,8 @@ static int coda_fill_super(struct super_block *sb, void *data, int silent)
|
||||
|
||||
printk("coda_read_super: rootinode is %ld dev %s\n",
|
||||
root->i_ino, root->i_sb->s_id);
|
||||
sb->s_root = d_alloc_root(root);
|
||||
sb->s_root = d_make_root(root);
|
||||
if (!sb->s_root) {
|
||||
iput(root);
|
||||
error = -EINVAL;
|
||||
goto error;
|
||||
}
|
||||
|
@ -91,10 +91,9 @@ static int configfs_fill_super(struct super_block *sb, void *data, int silent)
|
||||
return -ENOMEM;
|
||||
}
|
||||
|
||||
root = d_alloc_root(inode);
|
||||
root = d_make_root(inode);
|
||||
if (!root) {
|
||||
pr_debug("%s: could not get root dentry!\n",__func__);
|
||||
iput(inode);
|
||||
return -ENOMEM;
|
||||
}
|
||||
config_group_init(&configfs_root_group);
|
||||
|
@ -318,11 +318,9 @@ static int cramfs_fill_super(struct super_block *sb, void *data, int silent)
|
||||
root = get_cramfs_inode(sb, &super.root, 0);
|
||||
if (IS_ERR(root))
|
||||
goto out;
|
||||
sb->s_root = d_alloc_root(root);
|
||||
if (!sb->s_root) {
|
||||
iput(root);
|
||||
sb->s_root = d_make_root(root);
|
||||
if (!sb->s_root)
|
||||
goto out;
|
||||
}
|
||||
return 0;
|
||||
out:
|
||||
kfree(sbi);
|
||||
|
@ -309,12 +309,11 @@ devpts_fill_super(struct super_block *s, void *data, int silent)
|
||||
inode->i_fop = &simple_dir_operations;
|
||||
set_nlink(inode, 2);
|
||||
|
||||
s->s_root = d_alloc_root(inode);
|
||||
s->s_root = d_make_root(inode);
|
||||
if (s->s_root)
|
||||
return 0;
|
||||
|
||||
printk(KERN_ERR "devpts: get root dentry failed\n");
|
||||
iput(inode);
|
||||
|
||||
fail:
|
||||
return -ENOMEM;
|
||||
|
@ -550,9 +550,8 @@ static struct dentry *ecryptfs_mount(struct file_system_type *fs_type, int flags
|
||||
if (IS_ERR(inode))
|
||||
goto out_free;
|
||||
|
||||
s->s_root = d_alloc_root(inode);
|
||||
s->s_root = d_make_root(inode);
|
||||
if (!s->s_root) {
|
||||
iput(inode);
|
||||
rc = -ENOMEM;
|
||||
goto out_free;
|
||||
}
|
||||
|
@ -317,10 +317,9 @@ static int efs_fill_super(struct super_block *s, void *d, int silent)
|
||||
goto out_no_fs;
|
||||
}
|
||||
|
||||
s->s_root = d_alloc_root(root);
|
||||
s->s_root = d_make_root(root);
|
||||
if (!(s->s_root)) {
|
||||
printk(KERN_ERR "EFS: get root dentry failed\n");
|
||||
iput(root);
|
||||
ret = -ENOMEM;
|
||||
goto out_no_fs;
|
||||
}
|
||||
|
@ -819,9 +819,8 @@ static int exofs_fill_super(struct super_block *sb, void *data, int silent)
|
||||
ret = PTR_ERR(root);
|
||||
goto free_sbi;
|
||||
}
|
||||
sb->s_root = d_alloc_root(root);
|
||||
sb->s_root = d_make_root(root);
|
||||
if (!sb->s_root) {
|
||||
iput(root);
|
||||
EXOFS_ERR("ERROR: get root inode failed\n");
|
||||
ret = -ENOMEM;
|
||||
goto free_sbi;
|
||||
|
@ -1088,9 +1088,8 @@ static int ext2_fill_super(struct super_block *sb, void *data, int silent)
|
||||
goto failed_mount3;
|
||||
}
|
||||
|
||||
sb->s_root = d_alloc_root(root);
|
||||
sb->s_root = d_make_root(root);
|
||||
if (!sb->s_root) {
|
||||
iput(root);
|
||||
ext2_msg(sb, KERN_ERR, "error: get root inode failed");
|
||||
ret = -ENOMEM;
|
||||
goto failed_mount3;
|
||||
|
@ -2046,10 +2046,9 @@ static int ext3_fill_super (struct super_block *sb, void *data, int silent)
|
||||
ext3_msg(sb, KERN_ERR, "error: corrupt root inode, run e2fsck");
|
||||
goto failed_mount3;
|
||||
}
|
||||
sb->s_root = d_alloc_root(root);
|
||||
sb->s_root = d_make_root(root);
|
||||
if (!sb->s_root) {
|
||||
ext3_msg(sb, KERN_ERR, "error: get root dentry failed");
|
||||
iput(root);
|
||||
ret = -ENOMEM;
|
||||
goto failed_mount3;
|
||||
}
|
||||
|
@ -3735,9 +3735,8 @@ no_journal:
|
||||
iput(root);
|
||||
goto failed_mount4;
|
||||
}
|
||||
sb->s_root = d_alloc_root(root);
|
||||
sb->s_root = d_make_root(root);
|
||||
if (!sb->s_root) {
|
||||
iput(root);
|
||||
ext4_msg(sb, KERN_ERR, "get root dentry failed");
|
||||
ret = -ENOMEM;
|
||||
goto failed_mount4;
|
||||
|
@ -224,9 +224,8 @@ static int vxfs_fill_super(struct super_block *sbp, void *dp, int silent)
|
||||
ret = PTR_ERR(root);
|
||||
goto out;
|
||||
}
|
||||
sbp->s_root = d_alloc_root(root);
|
||||
sbp->s_root = d_make_root(root);
|
||||
if (!sbp->s_root) {
|
||||
iput(root);
|
||||
printk(KERN_WARNING "vxfs: unable to get root dentry.\n");
|
||||
goto out_free_ilist;
|
||||
}
|
||||
|
@ -988,14 +988,9 @@ static int fuse_fill_super(struct super_block *sb, void *data, int silent)
|
||||
|
||||
err = -ENOMEM;
|
||||
root = fuse_get_root_inode(sb, d.rootmode);
|
||||
if (!root)
|
||||
root_dentry = d_make_root(root);
|
||||
if (!root_dentry)
|
||||
goto err_put_conn;
|
||||
|
||||
root_dentry = d_alloc_root(root);
|
||||
if (!root_dentry) {
|
||||
iput(root);
|
||||
goto err_put_conn;
|
||||
}
|
||||
/* only now - we want root dentry with NULL ->d_op */
|
||||
sb->s_d_op = &fuse_dentry_operations;
|
||||
|
||||
|
@ -431,10 +431,9 @@ static int gfs2_lookup_root(struct super_block *sb, struct dentry **dptr,
|
||||
fs_err(sdp, "can't read in %s inode: %ld\n", name, PTR_ERR(inode));
|
||||
return PTR_ERR(inode);
|
||||
}
|
||||
dentry = d_alloc_root(inode);
|
||||
dentry = d_make_root(inode);
|
||||
if (!dentry) {
|
||||
fs_err(sdp, "can't alloc %s dentry\n", name);
|
||||
iput(inode);
|
||||
return -ENOMEM;
|
||||
}
|
||||
*dptr = dentry;
|
||||
|
@ -430,15 +430,13 @@ static int hfs_fill_super(struct super_block *sb, void *data, int silent)
|
||||
|
||||
sb->s_d_op = &hfs_dentry_operations;
|
||||
res = -ENOMEM;
|
||||
sb->s_root = d_alloc_root(root_inode);
|
||||
sb->s_root = d_make_root(root_inode);
|
||||
if (!sb->s_root)
|
||||
goto bail_iput;
|
||||
goto bail_no_root;
|
||||
|
||||
/* everything's okay */
|
||||
return 0;
|
||||
|
||||
bail_iput:
|
||||
iput(root_inode);
|
||||
bail_no_root:
|
||||
printk(KERN_ERR "hfs: get root inode failed.\n");
|
||||
bail:
|
||||
|
@ -966,9 +966,9 @@ static int hostfs_fill_sb_common(struct super_block *sb, void *d, int silent)
|
||||
}
|
||||
|
||||
err = -ENOMEM;
|
||||
sb->s_root = d_alloc_root(root_inode);
|
||||
sb->s_root = d_make_root(root_inode);
|
||||
if (sb->s_root == NULL)
|
||||
goto out_put;
|
||||
goto out;
|
||||
|
||||
return 0;
|
||||
|
||||
|
@ -625,11 +625,9 @@ static int hpfs_fill_super(struct super_block *s, void *options, int silent)
|
||||
hpfs_init_inode(root);
|
||||
hpfs_read_inode(root);
|
||||
unlock_new_inode(root);
|
||||
s->s_root = d_alloc_root(root);
|
||||
if (!s->s_root) {
|
||||
iput(root);
|
||||
s->s_root = d_make_root(root);
|
||||
if (!s->s_root)
|
||||
goto bail0;
|
||||
}
|
||||
|
||||
/*
|
||||
* find the root directory's . pointer & finish filling in the inode
|
||||
|
@ -726,17 +726,12 @@ static int hppfs_fill_super(struct super_block *sb, void *d, int silent)
|
||||
|
||||
err = -ENOMEM;
|
||||
root_inode = get_inode(sb, dget(proc_mnt->mnt_root));
|
||||
if (!root_inode)
|
||||
goto out_mntput;
|
||||
|
||||
sb->s_root = d_alloc_root(root_inode);
|
||||
sb->s_root = d_make_root(root_inode);
|
||||
if (!sb->s_root)
|
||||
goto out_iput;
|
||||
goto out_mntput;
|
||||
|
||||
return 0;
|
||||
|
||||
out_iput:
|
||||
iput(root_inode);
|
||||
out_mntput:
|
||||
mntput(proc_mnt);
|
||||
out:
|
||||
|
@ -831,8 +831,6 @@ bad_val:
|
||||
static int
|
||||
hugetlbfs_fill_super(struct super_block *sb, void *data, int silent)
|
||||
{
|
||||
struct inode * inode;
|
||||
struct dentry * root;
|
||||
int ret;
|
||||
struct hugetlbfs_config config;
|
||||
struct hugetlbfs_sb_info *sbinfo;
|
||||
@ -865,16 +863,9 @@ hugetlbfs_fill_super(struct super_block *sb, void *data, int silent)
|
||||
sb->s_magic = HUGETLBFS_MAGIC;
|
||||
sb->s_op = &hugetlbfs_ops;
|
||||
sb->s_time_gran = 1;
|
||||
inode = hugetlbfs_get_root(sb, &config);
|
||||
if (!inode)
|
||||
sb->s_root = d_make_root(hugetlbfs_get_root(sb, &config));
|
||||
if (!sb->s_root)
|
||||
goto out_free;
|
||||
|
||||
root = d_alloc_root(inode);
|
||||
if (!root) {
|
||||
iput(inode);
|
||||
goto out_free;
|
||||
}
|
||||
sb->s_root = root;
|
||||
return 0;
|
||||
out_free:
|
||||
kfree(sbinfo);
|
||||
|
@ -947,9 +947,8 @@ root_found:
|
||||
s->s_d_op = &isofs_dentry_ops[table];
|
||||
|
||||
/* get the root dentry */
|
||||
s->s_root = d_alloc_root(inode);
|
||||
s->s_root = d_make_root(inode);
|
||||
if (!(s->s_root)) {
|
||||
iput(inode);
|
||||
error = -ENOMEM;
|
||||
goto out_no_inode;
|
||||
}
|
||||
|
@ -561,9 +561,9 @@ int jffs2_do_fill_super(struct super_block *sb, void *data, int silent)
|
||||
ret = -ENOMEM;
|
||||
|
||||
D1(printk(KERN_DEBUG "jffs2_do_fill_super(): d_alloc_root()\n"));
|
||||
sb->s_root = d_alloc_root(root_i);
|
||||
sb->s_root = d_make_root(root_i);
|
||||
if (!sb->s_root)
|
||||
goto out_root_i;
|
||||
goto out_root;
|
||||
|
||||
sb->s_maxbytes = 0xFFFFFFFF;
|
||||
sb->s_blocksize = PAGE_CACHE_SIZE;
|
||||
@ -573,8 +573,6 @@ int jffs2_do_fill_super(struct super_block *sb, void *data, int silent)
|
||||
jffs2_start_garbage_collect_thread(c);
|
||||
return 0;
|
||||
|
||||
out_root_i:
|
||||
iput(root_i);
|
||||
out_root:
|
||||
jffs2_free_ino_caches(c);
|
||||
jffs2_free_raw_node_refs(c);
|
||||
|
@ -522,7 +522,7 @@ static int jfs_fill_super(struct super_block *sb, void *data, int silent)
|
||||
ret = PTR_ERR(inode);
|
||||
goto out_no_rw;
|
||||
}
|
||||
sb->s_root = d_alloc_root(inode);
|
||||
sb->s_root = d_make_root(inode);
|
||||
if (!sb->s_root)
|
||||
goto out_no_root;
|
||||
|
||||
@ -540,7 +540,6 @@ static int jfs_fill_super(struct super_block *sb, void *data, int silent)
|
||||
|
||||
out_no_root:
|
||||
jfs_err("jfs_read_super: get root dentry failed");
|
||||
iput(inode);
|
||||
|
||||
out_no_rw:
|
||||
rc = jfs_umount(sb);
|
||||
|
@ -491,11 +491,9 @@ int simple_fill_super(struct super_block *s, unsigned long magic,
|
||||
inode->i_op = &simple_dir_inode_operations;
|
||||
inode->i_fop = &simple_dir_operations;
|
||||
set_nlink(inode, 2);
|
||||
root = d_alloc_root(inode);
|
||||
if (!root) {
|
||||
iput(inode);
|
||||
root = d_make_root(inode);
|
||||
if (!root)
|
||||
return -ENOMEM;
|
||||
}
|
||||
for (i = 0; !files->name || files->name[0]; i++, files++) {
|
||||
if (!files->name)
|
||||
continue;
|
||||
|
@ -315,11 +315,9 @@ static int logfs_get_sb_final(struct super_block *sb)
|
||||
if (IS_ERR(rootdir))
|
||||
goto fail;
|
||||
|
||||
sb->s_root = d_alloc_root(rootdir);
|
||||
if (!sb->s_root) {
|
||||
iput(rootdir);
|
||||
sb->s_root = d_make_root(rootdir);
|
||||
if (!sb->s_root)
|
||||
goto fail;
|
||||
}
|
||||
|
||||
/* at that point we know that ->put_super() will be called */
|
||||
super->s_erase_page = alloc_pages(GFP_KERNEL, 0);
|
||||
|
@ -716,13 +716,11 @@ static int ncp_fill_super(struct super_block *sb, void *raw_data, int silent)
|
||||
if (!root_inode)
|
||||
goto out_disconnect;
|
||||
DPRINTK("ncp_fill_super: root vol=%d\n", NCP_FINFO(root_inode)->volNumber);
|
||||
sb->s_root = d_alloc_root(root_inode);
|
||||
sb->s_root = d_make_root(root_inode);
|
||||
if (!sb->s_root)
|
||||
goto out_no_root;
|
||||
goto out_disconnect;
|
||||
return 0;
|
||||
|
||||
out_no_root:
|
||||
iput(root_inode);
|
||||
out_disconnect:
|
||||
ncp_lock_server(server);
|
||||
ncp_disconnect(server);
|
||||
|
@ -49,11 +49,9 @@ static int nfs_superblock_set_dummy_root(struct super_block *sb, struct inode *i
|
||||
{
|
||||
/* The mntroot acts as the dummy root dentry for this superblock */
|
||||
if (sb->s_root == NULL) {
|
||||
sb->s_root = d_alloc_root(inode);
|
||||
if (sb->s_root == NULL) {
|
||||
iput(inode);
|
||||
sb->s_root = d_make_root(inode);
|
||||
if (sb->s_root == NULL)
|
||||
return -ENOMEM;
|
||||
}
|
||||
ihold(inode);
|
||||
/*
|
||||
* Ensure that this dentry is invisible to d_find_alias().
|
||||
|
@ -917,9 +917,8 @@ static int nilfs_get_root_dentry(struct super_block *sb,
|
||||
if (root->cno == NILFS_CPTREE_CURRENT_CNO) {
|
||||
dentry = d_find_alias(inode);
|
||||
if (!dentry) {
|
||||
dentry = d_alloc_root(inode);
|
||||
dentry = d_make_root(inode);
|
||||
if (!dentry) {
|
||||
iput(inode);
|
||||
ret = -ENOMEM;
|
||||
goto failed_dentry;
|
||||
}
|
||||
|
@ -582,24 +582,14 @@ static int dlmfs_fill_super(struct super_block * sb,
|
||||
void * data,
|
||||
int silent)
|
||||
{
|
||||
struct inode * inode;
|
||||
struct dentry * root;
|
||||
|
||||
sb->s_maxbytes = MAX_LFS_FILESIZE;
|
||||
sb->s_blocksize = PAGE_CACHE_SIZE;
|
||||
sb->s_blocksize_bits = PAGE_CACHE_SHIFT;
|
||||
sb->s_magic = DLMFS_MAGIC;
|
||||
sb->s_op = &dlmfs_ops;
|
||||
inode = dlmfs_get_root_inode(sb);
|
||||
if (!inode)
|
||||
sb->s_root = d_make_root(dlmfs_get_root_inode(sb));
|
||||
if (!sb->s_root)
|
||||
return -ENOMEM;
|
||||
|
||||
root = d_alloc_root(inode);
|
||||
if (!root) {
|
||||
iput(inode);
|
||||
return -ENOMEM;
|
||||
}
|
||||
sb->s_root = root;
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
@ -1166,9 +1166,8 @@ static int ocfs2_fill_super(struct super_block *sb, void *data, int silent)
|
||||
goto read_super_error;
|
||||
}
|
||||
|
||||
root = d_alloc_root(inode);
|
||||
root = d_make_root(inode);
|
||||
if (!root) {
|
||||
iput(inode);
|
||||
status = -ENOMEM;
|
||||
mlog_errno(status);
|
||||
goto read_super_error;
|
||||
|
@ -539,11 +539,9 @@ static int omfs_fill_super(struct super_block *sb, void *data, int silent)
|
||||
goto out_brelse_bh2;
|
||||
}
|
||||
|
||||
sb->s_root = d_alloc_root(root);
|
||||
if (!sb->s_root) {
|
||||
iput(root);
|
||||
sb->s_root = d_make_root(root);
|
||||
if (!sb->s_root)
|
||||
goto out_brelse_bh2;
|
||||
}
|
||||
printk(KERN_DEBUG "omfs: Mounted volume %s\n", omfs_rb->r_name);
|
||||
|
||||
ret = 0;
|
||||
|
@ -408,13 +408,12 @@ static int openprom_fill_super(struct super_block *s, void *data, int silent)
|
||||
oi->type = op_inode_node;
|
||||
oi->u.node = of_find_node_by_path("/");
|
||||
|
||||
s->s_root = d_alloc_root(root_inode);
|
||||
s->s_root = d_make_root(root_inode);
|
||||
if (!s->s_root)
|
||||
goto out_no_root_dentry;
|
||||
return 0;
|
||||
|
||||
out_no_root_dentry:
|
||||
iput(root_inode);
|
||||
ret = -ENOMEM;
|
||||
out_no_root:
|
||||
printk("openprom_fill_super: get root inode failed\n");
|
||||
|
@ -486,8 +486,6 @@ struct inode *proc_get_inode(struct super_block *sb, struct proc_dir_entry *de)
|
||||
|
||||
int proc_fill_super(struct super_block *s)
|
||||
{
|
||||
struct inode * root_inode;
|
||||
|
||||
s->s_flags |= MS_NODIRATIME | MS_NOSUID | MS_NOEXEC;
|
||||
s->s_blocksize = 1024;
|
||||
s->s_blocksize_bits = 10;
|
||||
@ -496,17 +494,10 @@ int proc_fill_super(struct super_block *s)
|
||||
s->s_time_gran = 1;
|
||||
|
||||
pde_get(&proc_root);
|
||||
root_inode = proc_get_inode(s, &proc_root);
|
||||
if (!root_inode)
|
||||
goto out_no_root;
|
||||
s->s_root = d_alloc_root(root_inode);
|
||||
if (!s->s_root) {
|
||||
iput(root_inode);
|
||||
goto out_no_root;
|
||||
}
|
||||
return 0;
|
||||
s->s_root = d_make_root(proc_get_inode(s, &proc_root));
|
||||
if (s->s_root)
|
||||
return 0;
|
||||
|
||||
out_no_root:
|
||||
printk("proc_read_super: get root inode failed\n");
|
||||
pde_put(&proc_root);
|
||||
return -ENOMEM;
|
||||
|
@ -303,7 +303,7 @@ int pstore_fill_super(struct super_block *sb, void *data, int silent)
|
||||
/* override ramfs "dir" options so we catch unlink(2) */
|
||||
inode->i_op = &pstore_dir_inode_operations;
|
||||
|
||||
root = d_alloc_root(inode);
|
||||
root = d_make_root(inode);
|
||||
sb->s_root = root;
|
||||
if (!root) {
|
||||
err = -ENOMEM;
|
||||
@ -314,7 +314,6 @@ int pstore_fill_super(struct super_block *sb, void *data, int silent)
|
||||
|
||||
return 0;
|
||||
fail:
|
||||
iput(inode);
|
||||
return err;
|
||||
}
|
||||
|
||||
|
@ -260,15 +260,13 @@ static int qnx4_fill_super(struct super_block *s, void *data, int silent)
|
||||
}
|
||||
|
||||
ret = -ENOMEM;
|
||||
s->s_root = d_alloc_root(root);
|
||||
s->s_root = d_make_root(root);
|
||||
if (s->s_root == NULL)
|
||||
goto outi;
|
||||
goto outb;
|
||||
|
||||
brelse(bh);
|
||||
return 0;
|
||||
|
||||
outi:
|
||||
iput(root);
|
||||
outb:
|
||||
kfree(qs->BitMap);
|
||||
out:
|
||||
|
@ -210,7 +210,6 @@ int ramfs_fill_super(struct super_block *sb, void *data, int silent)
|
||||
{
|
||||
struct ramfs_fs_info *fsi;
|
||||
struct inode *inode = NULL;
|
||||
struct dentry *root;
|
||||
int err;
|
||||
|
||||
save_mount_options(sb, data);
|
||||
@ -234,14 +233,8 @@ int ramfs_fill_super(struct super_block *sb, void *data, int silent)
|
||||
sb->s_time_gran = 1;
|
||||
|
||||
inode = ramfs_get_inode(sb, NULL, S_IFDIR | fsi->mount_opts.mode, 0);
|
||||
if (!inode) {
|
||||
err = -ENOMEM;
|
||||
goto fail;
|
||||
}
|
||||
|
||||
root = d_alloc_root(inode);
|
||||
sb->s_root = root;
|
||||
if (!root) {
|
||||
sb->s_root = d_make_root(inode);
|
||||
if (!sb->s_root) {
|
||||
err = -ENOMEM;
|
||||
goto fail;
|
||||
}
|
||||
@ -250,7 +243,6 @@ int ramfs_fill_super(struct super_block *sb, void *data, int silent)
|
||||
fail:
|
||||
kfree(fsi);
|
||||
sb->s_fs_info = NULL;
|
||||
iput(inode);
|
||||
return err;
|
||||
}
|
||||
|
||||
|
@ -1874,11 +1874,9 @@ static int reiserfs_fill_super(struct super_block *s, void *data, int silent)
|
||||
unlock_new_inode(root_inode);
|
||||
}
|
||||
|
||||
s->s_root = d_alloc_root(root_inode);
|
||||
if (!s->s_root) {
|
||||
iput(root_inode);
|
||||
s->s_root = d_make_root(root_inode);
|
||||
if (!s->s_root)
|
||||
goto error;
|
||||
}
|
||||
// define and initialize hash function
|
||||
sbi->s_hash_function = hash_function(s);
|
||||
if (sbi->s_hash_function == NULL) {
|
||||
|
@ -538,14 +538,12 @@ static int romfs_fill_super(struct super_block *sb, void *data, int silent)
|
||||
if (IS_ERR(root))
|
||||
goto error;
|
||||
|
||||
sb->s_root = d_alloc_root(root);
|
||||
sb->s_root = d_make_root(root);
|
||||
if (!sb->s_root)
|
||||
goto error_i;
|
||||
goto error;
|
||||
|
||||
return 0;
|
||||
|
||||
error_i:
|
||||
iput(root);
|
||||
error:
|
||||
return -EINVAL;
|
||||
error_rsb_inval:
|
||||
|
@ -316,11 +316,10 @@ check_directory_table:
|
||||
}
|
||||
insert_inode_hash(root);
|
||||
|
||||
sb->s_root = d_alloc_root(root);
|
||||
sb->s_root = d_make_root(root);
|
||||
if (sb->s_root == NULL) {
|
||||
ERROR("Root inode create failed\n");
|
||||
err = -ENOMEM;
|
||||
iput(root);
|
||||
goto failed_mount;
|
||||
}
|
||||
|
||||
|
@ -61,10 +61,9 @@ static int sysfs_fill_super(struct super_block *sb, void *data, int silent)
|
||||
}
|
||||
|
||||
/* instantiate and link root dentry */
|
||||
root = d_alloc_root(inode);
|
||||
root = d_make_root(inode);
|
||||
if (!root) {
|
||||
pr_debug("%s: could not get root dentry!\n",__func__);
|
||||
iput(inode);
|
||||
return -ENOMEM;
|
||||
}
|
||||
root->d_fsdata = &sysfs_root;
|
||||
|
@ -341,9 +341,8 @@ static int complete_read_super(struct super_block *sb, int silent, int size)
|
||||
printk("SysV FS: get root inode failed\n");
|
||||
return 0;
|
||||
}
|
||||
sb->s_root = d_alloc_root(root_inode);
|
||||
sb->s_root = d_make_root(root_inode);
|
||||
if (!sb->s_root) {
|
||||
iput(root_inode);
|
||||
printk("SysV FS: get root dentry failed\n");
|
||||
return 0;
|
||||
}
|
||||
|
@ -2076,15 +2076,13 @@ static int ubifs_fill_super(struct super_block *sb, void *data, int silent)
|
||||
goto out_umount;
|
||||
}
|
||||
|
||||
sb->s_root = d_alloc_root(root);
|
||||
sb->s_root = d_make_root(root);
|
||||
if (!sb->s_root)
|
||||
goto out_iput;
|
||||
goto out_umount;
|
||||
|
||||
mutex_unlock(&c->umount_mutex);
|
||||
return 0;
|
||||
|
||||
out_iput:
|
||||
iput(root);
|
||||
out_umount:
|
||||
ubifs_umount(c);
|
||||
out_unlock:
|
||||
|
@ -2037,10 +2037,9 @@ static int udf_fill_super(struct super_block *sb, void *options, int silent)
|
||||
}
|
||||
|
||||
/* Allocate a dentry for the root inode */
|
||||
sb->s_root = d_alloc_root(inode);
|
||||
sb->s_root = d_make_root(inode);
|
||||
if (!sb->s_root) {
|
||||
udf_err(sb, "Couldn't allocate root dentry\n");
|
||||
iput(inode);
|
||||
goto error_out;
|
||||
}
|
||||
sb->s_maxbytes = MAX_LFS_FILESIZE;
|
||||
|
@ -1164,10 +1164,10 @@ magic_found:
|
||||
ret = PTR_ERR(inode);
|
||||
goto failed;
|
||||
}
|
||||
sb->s_root = d_alloc_root(inode);
|
||||
sb->s_root = d_make_root(inode);
|
||||
if (!sb->s_root) {
|
||||
ret = -ENOMEM;
|
||||
goto dalloc_failed;
|
||||
goto failed;
|
||||
}
|
||||
|
||||
ufs_setup_cstotal(sb);
|
||||
@ -1181,8 +1181,6 @@ magic_found:
|
||||
UFSD("EXIT\n");
|
||||
return 0;
|
||||
|
||||
dalloc_failed:
|
||||
iput(inode);
|
||||
failed:
|
||||
if (ubh)
|
||||
ubh_brelse_uspi (uspi);
|
||||
|
@ -1362,10 +1362,10 @@ xfs_fs_fill_super(
|
||||
error = EINVAL;
|
||||
goto out_syncd_stop;
|
||||
}
|
||||
sb->s_root = d_alloc_root(root);
|
||||
sb->s_root = d_make_root(root);
|
||||
if (!sb->s_root) {
|
||||
error = ENOMEM;
|
||||
goto out_iput;
|
||||
goto out_syncd_stop;
|
||||
}
|
||||
|
||||
return 0;
|
||||
@ -1384,8 +1384,6 @@ xfs_fs_fill_super(
|
||||
out:
|
||||
return -error;
|
||||
|
||||
out_iput:
|
||||
iput(root);
|
||||
out_syncd_stop:
|
||||
xfs_syncd_stop(mp);
|
||||
out_unmount:
|
||||
|
24
ipc/mqueue.c
24
ipc/mqueue.c
@ -188,30 +188,20 @@ static int mqueue_fill_super(struct super_block *sb, void *data, int silent)
|
||||
{
|
||||
struct inode *inode;
|
||||
struct ipc_namespace *ns = data;
|
||||
int error;
|
||||
|
||||
sb->s_blocksize = PAGE_CACHE_SIZE;
|
||||
sb->s_blocksize_bits = PAGE_CACHE_SHIFT;
|
||||
sb->s_magic = MQUEUE_MAGIC;
|
||||
sb->s_op = &mqueue_super_ops;
|
||||
|
||||
inode = mqueue_get_inode(sb, ns, S_IFDIR | S_ISVTX | S_IRWXUGO,
|
||||
NULL);
|
||||
if (IS_ERR(inode)) {
|
||||
error = PTR_ERR(inode);
|
||||
goto out;
|
||||
}
|
||||
inode = mqueue_get_inode(sb, ns, S_IFDIR | S_ISVTX | S_IRWXUGO, NULL);
|
||||
if (IS_ERR(inode))
|
||||
return PTR_ERR(inode);
|
||||
|
||||
sb->s_root = d_alloc_root(inode);
|
||||
if (!sb->s_root) {
|
||||
iput(inode);
|
||||
error = -ENOMEM;
|
||||
goto out;
|
||||
}
|
||||
error = 0;
|
||||
|
||||
out:
|
||||
return error;
|
||||
sb->s_root = d_make_root(inode);
|
||||
if (!sb->s_root)
|
||||
return -ENOMEM;
|
||||
return 0;
|
||||
}
|
||||
|
||||
static struct dentry *mqueue_mount(struct file_system_type *fs_type,
|
||||
|
@ -1472,7 +1472,6 @@ static int cgroup_get_rootdir(struct super_block *sb)
|
||||
|
||||
struct inode *inode =
|
||||
cgroup_new_inode(S_IFDIR | S_IRUGO | S_IXUGO | S_IWUSR, sb);
|
||||
struct dentry *dentry;
|
||||
|
||||
if (!inode)
|
||||
return -ENOMEM;
|
||||
@ -1481,12 +1480,9 @@ static int cgroup_get_rootdir(struct super_block *sb)
|
||||
inode->i_op = &cgroup_dir_inode_operations;
|
||||
/* directories start off with i_nlink == 2 (for "." entry) */
|
||||
inc_nlink(inode);
|
||||
dentry = d_alloc_root(inode);
|
||||
if (!dentry) {
|
||||
iput(inode);
|
||||
sb->s_root = d_make_root(inode);
|
||||
if (!sb->s_root)
|
||||
return -ENOMEM;
|
||||
}
|
||||
sb->s_root = dentry;
|
||||
/* for everything else we want ->d_op set */
|
||||
sb->s_d_op = &cgroup_dops;
|
||||
return 0;
|
||||
|
@ -2232,14 +2232,12 @@ 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_alloc_root(inode);
|
||||
root = d_make_root(inode);
|
||||
if (!root)
|
||||
goto failed_iput;
|
||||
goto failed;
|
||||
sb->s_root = root;
|
||||
return 0;
|
||||
|
||||
failed_iput:
|
||||
iput(inode);
|
||||
failed:
|
||||
shmem_put_super(sb);
|
||||
return err;
|
||||
|
@ -1033,13 +1033,9 @@ rpc_fill_super(struct super_block *sb, void *data, int silent)
|
||||
sb->s_time_gran = 1;
|
||||
|
||||
inode = rpc_get_inode(sb, S_IFDIR | 0755);
|
||||
if (!inode)
|
||||
sb->s_root = root = d_make_root(inode);
|
||||
if (!root)
|
||||
return -ENOMEM;
|
||||
sb->s_root = root = d_alloc_root(inode);
|
||||
if (!root) {
|
||||
iput(inode);
|
||||
return -ENOMEM;
|
||||
}
|
||||
if (rpc_populate(root, files, RPCAUTH_lockd, RPCAUTH_RootEOF, NULL))
|
||||
return -ENOMEM;
|
||||
return 0;
|
||||
|
Loading…
x
Reference in New Issue
Block a user