Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
48fde701
cloud-kernel
项目概览
openanolis
/
cloud-kernel
接近 2 年 前同步成功
通知
169
Star
36
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
cloud-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
提交
48fde701
编写于
1月 08, 2012
作者:
A
Al Viro
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
switch open-coded instances of d_make_root() to new helper
Signed-off-by:
N
Al Viro
<
viro@zeniv.linux.org.uk
>
上级
6b4231e2
变更
64
隐藏空白更改
内联
并排
Showing
64 changed file
with
105 addition
and
264 deletion
+105
-264
arch/powerpc/platforms/cell/spufs/inode.c
arch/powerpc/platforms/cell/spufs/inode.c
+2
-2
arch/s390/hypfs/inode.c
arch/s390/hypfs/inode.c
+2
-4
drivers/misc/ibmasm/ibmasmfs.c
drivers/misc/ibmasm/ibmasmfs.c
+2
-4
drivers/oprofile/oprofilefs.c
drivers/oprofile/oprofilefs.c
+2
-4
drivers/usb/core/inode.c
drivers/usb/core/inode.c
+1
-8
drivers/usb/gadget/f_fs.c
drivers/usb/gadget/f_fs.c
+2
-6
drivers/usb/gadget/inode.c
drivers/usb/gadget/inode.c
+1
-3
fs/9p/vfs_super.c
fs/9p/vfs_super.c
+1
-2
fs/adfs/super.c
fs/adfs/super.c
+1
-2
fs/affs/super.c
fs/affs/super.c
+2
-5
fs/afs/super.c
fs/afs/super.c
+2
-5
fs/autofs4/inode.c
fs/autofs4/inode.c
+2
-8
fs/befs/linuxvfs.c
fs/befs/linuxvfs.c
+1
-2
fs/bfs/inode.c
fs/bfs/inode.c
+1
-2
fs/btrfs/super.c
fs/btrfs/super.c
+2
-6
fs/ceph/super.c
fs/ceph/super.c
+1
-2
fs/cifs/cifsfs.c
fs/cifs/cifsfs.c
+1
-3
fs/coda/inode.c
fs/coda/inode.c
+1
-2
fs/configfs/mount.c
fs/configfs/mount.c
+1
-2
fs/cramfs/inode.c
fs/cramfs/inode.c
+2
-4
fs/devpts/inode.c
fs/devpts/inode.c
+1
-2
fs/ecryptfs/main.c
fs/ecryptfs/main.c
+1
-2
fs/efs/super.c
fs/efs/super.c
+1
-2
fs/exofs/super.c
fs/exofs/super.c
+1
-2
fs/ext2/super.c
fs/ext2/super.c
+1
-2
fs/ext3/super.c
fs/ext3/super.c
+1
-2
fs/ext4/super.c
fs/ext4/super.c
+1
-2
fs/freevxfs/vxfs_super.c
fs/freevxfs/vxfs_super.c
+1
-2
fs/fuse/inode.c
fs/fuse/inode.c
+2
-7
fs/gfs2/ops_fstype.c
fs/gfs2/ops_fstype.c
+1
-2
fs/hfs/super.c
fs/hfs/super.c
+2
-4
fs/hostfs/hostfs_kern.c
fs/hostfs/hostfs_kern.c
+2
-2
fs/hpfs/super.c
fs/hpfs/super.c
+2
-4
fs/hppfs/hppfs.c
fs/hppfs/hppfs.c
+2
-7
fs/hugetlbfs/inode.c
fs/hugetlbfs/inode.c
+2
-11
fs/isofs/inode.c
fs/isofs/inode.c
+1
-2
fs/jffs2/fs.c
fs/jffs2/fs.c
+2
-4
fs/jfs/super.c
fs/jfs/super.c
+1
-2
fs/libfs.c
fs/libfs.c
+2
-4
fs/logfs/super.c
fs/logfs/super.c
+2
-4
fs/ncpfs/inode.c
fs/ncpfs/inode.c
+2
-4
fs/nfs/getroot.c
fs/nfs/getroot.c
+2
-4
fs/nilfs2/super.c
fs/nilfs2/super.c
+1
-2
fs/ocfs2/dlmfs/dlmfs.c
fs/ocfs2/dlmfs/dlmfs.c
+2
-12
fs/ocfs2/super.c
fs/ocfs2/super.c
+1
-2
fs/omfs/inode.c
fs/omfs/inode.c
+2
-4
fs/openpromfs/inode.c
fs/openpromfs/inode.c
+1
-2
fs/proc/inode.c
fs/proc/inode.c
+3
-12
fs/pstore/inode.c
fs/pstore/inode.c
+1
-2
fs/qnx4/inode.c
fs/qnx4/inode.c
+2
-4
fs/ramfs/inode.c
fs/ramfs/inode.c
+2
-10
fs/reiserfs/super.c
fs/reiserfs/super.c
+2
-4
fs/romfs/super.c
fs/romfs/super.c
+2
-4
fs/squashfs/super.c
fs/squashfs/super.c
+1
-2
fs/sysfs/mount.c
fs/sysfs/mount.c
+1
-2
fs/sysv/super.c
fs/sysv/super.c
+1
-2
fs/ubifs/super.c
fs/ubifs/super.c
+2
-4
fs/udf/super.c
fs/udf/super.c
+1
-2
fs/ufs/super.c
fs/ufs/super.c
+2
-4
fs/xfs/xfs_super.c
fs/xfs/xfs_super.c
+2
-4
ipc/mqueue.c
ipc/mqueue.c
+7
-17
kernel/cgroup.c
kernel/cgroup.c
+2
-6
mm/shmem.c
mm/shmem.c
+2
-4
net/sunrpc/rpc_pipe.c
net/sunrpc/rpc_pipe.c
+2
-6
未找到文件。
arch/powerpc/platforms/cell/spufs/inode.c
浏览文件 @
48fde701
...
...
@@ -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:
...
...
arch/s390/hypfs/inode.c
浏览文件 @
48fde701
...
...
@@ -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
...
...
drivers/misc/ibmasm/ibmasmfs.c
浏览文件 @
48fde701
...
...
@@ -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
);
...
...
drivers/oprofile/oprofilefs.c
浏览文件 @
48fde701
...
...
@@ -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
;
...
...
drivers/usb/core/inode.c
浏览文件 @
48fde701
...
...
@@ -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
;
...
...
drivers/usb/gadget/f_fs.c
浏览文件 @
48fde701
...
...
@@ -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
,
...
...
drivers/usb/gadget/inode.c
浏览文件 @
48fde701
...
...
@@ -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.
...
...
fs/9p/vfs_super.c
浏览文件 @
48fde701
...
...
@@ -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
;
}
...
...
fs/adfs/super.c
浏览文件 @
48fde701
...
...
@@ -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
);
...
...
fs/affs/super.c
浏览文件 @
48fde701
...
...
@@ -473,7 +473,7 @@ static int affs_fill_super(struct super_block *sb, void *data, int silent)
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 @@ static int affs_fill_super(struct super_block *sb, void *data, int silent)
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 @@ static int affs_fill_super(struct super_block *sb, void *data, int silent)
* 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
);
...
...
fs/afs/super.c
浏览文件 @
48fde701
...
...
@@ -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
;
}
...
...
fs/autofs4/inode.c
浏览文件 @
48fde701
...
...
@@ -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_i
put
;
goto
fail_i
no
;
pipe
=
NULL
;
root
->
d_fsdata
=
ino
;
...
...
@@ -317,9 +314,6 @@ int autofs4_fill_super(struct super_block *s, void *data, int silent)
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:
...
...
fs/befs/linuxvfs.c
浏览文件 @
48fde701
...
...
@@ -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
;
}
...
...
fs/bfs/inode.c
浏览文件 @
48fde701
...
...
@@ -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
;
}
...
...
fs/btrfs/super.c
浏览文件 @
48fde701
...
...
@@ -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
;
...
...
fs/ceph/super.c
浏览文件 @
48fde701
...
...
@@ -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
;
}
...
...
fs/cifs/cifsfs.c
浏览文件 @
48fde701
...
...
@@ -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
;
}
...
...
fs/coda/inode.c
浏览文件 @
48fde701
...
...
@@ -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
;
}
...
...
fs/configfs/mount.c
浏览文件 @
48fde701
...
...
@@ -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
);
...
...
fs/cramfs/inode.c
浏览文件 @
48fde701
...
...
@@ -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
);
...
...
fs/devpts/inode.c
浏览文件 @
48fde701
...
...
@@ -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
;
...
...
fs/ecryptfs/main.c
浏览文件 @
48fde701
...
...
@@ -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
;
}
...
...
fs/efs/super.c
浏览文件 @
48fde701
...
...
@@ -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
;
}
...
...
fs/exofs/super.c
浏览文件 @
48fde701
...
...
@@ -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
;
...
...
fs/ext2/super.c
浏览文件 @
48fde701
...
...
@@ -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
;
...
...
fs/ext3/super.c
浏览文件 @
48fde701
...
...
@@ -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
;
}
...
...
fs/ext4/super.c
浏览文件 @
48fde701
...
...
@@ -3735,9 +3735,8 @@ static int ext4_fill_super(struct super_block *sb, void *data, int silent)
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
;
...
...
fs/freevxfs/vxfs_super.c
浏览文件 @
48fde701
...
...
@@ -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
;
}
...
...
fs/fuse/inode.c
浏览文件 @
48fde701
...
...
@@ -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
;
...
...
fs/gfs2/ops_fstype.c
浏览文件 @
48fde701
...
...
@@ -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
;
...
...
fs/hfs/super.c
浏览文件 @
48fde701
...
...
@@ -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_
ipu
t
;
goto
bail_
no_roo
t
;
/* everything's okay */
return
0
;
bail_iput:
iput
(
root_inode
);
bail_no_root:
printk
(
KERN_ERR
"hfs: get root inode failed.
\n
"
);
bail:
...
...
fs/hostfs/hostfs_kern.c
浏览文件 @
48fde701
...
...
@@ -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
;
...
...
fs/hpfs/super.c
浏览文件 @
48fde701
...
...
@@ -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
...
...
fs/hppfs/hppfs.c
浏览文件 @
48fde701
...
...
@@ -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_
i
put
;
goto
out_
mnt
put
;
return
0
;
out_iput:
iput
(
root_inode
);
out_mntput:
mntput
(
proc_mnt
);
out:
...
...
fs/hugetlbfs/inode.c
浏览文件 @
48fde701
...
...
@@ -831,8 +831,6 @@ hugetlbfs_parse_options(char *options, struct hugetlbfs_config *pconfig)
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
)
goto
out_free
;
root
=
d_alloc_root
(
inode
);
if
(
!
root
)
{
iput
(
inode
);
sb
->
s_root
=
d_make_root
(
hugetlbfs_get_root
(
sb
,
&
config
));
if
(
!
sb
->
s_root
)
goto
out_free
;
}
sb
->
s_root
=
root
;
return
0
;
out_free:
kfree
(
sbinfo
);
...
...
fs/isofs/inode.c
浏览文件 @
48fde701
...
...
@@ -947,9 +947,8 @@ static int isofs_fill_super(struct super_block *s, void *data, int silent)
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
;
}
...
...
fs/jffs2/fs.c
浏览文件 @
48fde701
...
...
@@ -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
);
...
...
fs/jfs/super.c
浏览文件 @
48fde701
...
...
@@ -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
);
...
...
fs/libfs.c
浏览文件 @
48fde701
...
...
@@ -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
;
...
...
fs/logfs/super.c
浏览文件 @
48fde701
...
...
@@ -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
);
...
...
fs/ncpfs/inode.c
浏览文件 @
48fde701
...
...
@@ -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_roo
t
;
goto
out_
disconnec
t
;
return
0
;
out_no_root:
iput
(
root_inode
);
out_disconnect:
ncp_lock_server
(
server
);
ncp_disconnect
(
server
);
...
...
fs/nfs/getroot.c
浏览文件 @
48fde701
...
...
@@ -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().
...
...
fs/nilfs2/super.c
浏览文件 @
48fde701
...
...
@@ -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
;
}
...
...
fs/ocfs2/dlmfs/dlmfs.c
浏览文件 @
48fde701
...
...
@@ -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
)
return
-
ENOMEM
;
root
=
d_alloc_root
(
inode
);
if
(
!
root
)
{
iput
(
inode
);
sb
->
s_root
=
d_make_root
(
dlmfs_get_root_inode
(
sb
));
if
(
!
sb
->
s_root
)
return
-
ENOMEM
;
}
sb
->
s_root
=
root
;
return
0
;
}
...
...
fs/ocfs2/super.c
浏览文件 @
48fde701
...
...
@@ -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
;
...
...
fs/omfs/inode.c
浏览文件 @
48fde701
...
...
@@ -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
;
...
...
fs/openpromfs/inode.c
浏览文件 @
48fde701
...
...
@@ -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
"
);
...
...
fs/proc/inode.c
浏览文件 @
48fde701
...
...
@@ -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
;
...
...
fs/pstore/inode.c
浏览文件 @
48fde701
...
...
@@ -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
;
}
...
...
fs/qnx4/inode.c
浏览文件 @
48fde701
...
...
@@ -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
out
i
;
goto
out
b
;
brelse
(
bh
);
return
0
;
outi:
iput
(
root
);
outb:
kfree
(
qs
->
BitMap
);
out:
...
...
fs/ramfs/inode.c
浏览文件 @
48fde701
...
...
@@ -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
;
}
...
...
fs/reiserfs/super.c
浏览文件 @
48fde701
...
...
@@ -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
)
{
...
...
fs/romfs/super.c
浏览文件 @
48fde701
...
...
@@ -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:
...
...
fs/squashfs/super.c
浏览文件 @
48fde701
...
...
@@ -316,11 +316,10 @@ static int squashfs_fill_super(struct super_block *sb, void *data, int silent)
}
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
;
}
...
...
fs/sysfs/mount.c
浏览文件 @
48fde701
...
...
@@ -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
;
...
...
fs/sysv/super.c
浏览文件 @
48fde701
...
...
@@ -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
;
}
...
...
fs/ubifs/super.c
浏览文件 @
48fde701
...
...
@@ -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_
ipu
t
;
goto
out_
umoun
t
;
mutex_unlock
(
&
c
->
umount_mutex
);
return
0
;
out_iput:
iput
(
root
);
out_umount:
ubifs_umount
(
c
);
out_unlock:
...
...
fs/udf/super.c
浏览文件 @
48fde701
...
...
@@ -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
;
...
...
fs/ufs/super.c
浏览文件 @
48fde701
...
...
@@ -1164,10 +1164,10 @@ static int ufs_fill_super(struct super_block *sb, void *data, int silent)
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 @@ static int ufs_fill_super(struct super_block *sb, void *data, int silent)
UFSD
(
"EXIT
\n
"
);
return
0
;
dalloc_failed:
iput
(
inode
);
failed:
if
(
ubh
)
ubh_brelse_uspi
(
uspi
);
...
...
fs/xfs/xfs_super.c
浏览文件 @
48fde701
...
...
@@ -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:
...
...
ipc/mqueue.c
浏览文件 @
48fde701
...
...
@@ -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
,
...
...
kernel/cgroup.c
浏览文件 @
48fde701
...
...
@@ -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
;
...
...
mm/shmem.c
浏览文件 @
48fde701
...
...
@@ -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
;
...
...
net/sunrpc/rpc_pipe.c
浏览文件 @
48fde701
...
...
@@ -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
)
return
-
ENOMEM
;
sb
->
s_root
=
root
=
d_alloc_root
(
inode
);
if
(
!
root
)
{
iput
(
inode
);
sb
->
s_root
=
root
=
d_make_root
(
inode
);
if
(
!
root
)
return
-
ENOMEM
;
}
if
(
rpc_populate
(
root
,
files
,
RPCAUTH_lockd
,
RPCAUTH_RootEOF
,
NULL
))
return
-
ENOMEM
;
return
0
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录