Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
OpenHarmony
kernel_linux
提交
d465887f
K
kernel_linux
项目概览
OpenHarmony
/
kernel_linux
上一次同步 3 年多
通知
13
Star
8
Fork
2
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
kernel_linux
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
d465887f
编写于
11月 20, 2014
作者:
A
Al Viro
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
fs/namei.c: fold link_path_walk() call into path_init()
Signed-off-by:
N
Al Viro
<
viro@zeniv.linux.org.uk
>
上级
980f3ea2
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
6 addition
and
21 deletion
+6
-21
fs/namei.c
fs/namei.c
+6
-21
未找到文件。
fs/namei.c
浏览文件 @
d465887f
...
...
@@ -1873,7 +1873,7 @@ static int path_init(int dfd, const char *name, unsigned int flags,
}
else
{
path_get
(
&
nd
->
path
);
}
return
0
;
goto
done
;
}
nd
->
root
.
mnt
=
NULL
;
...
...
@@ -1934,13 +1934,16 @@ static int path_init(int dfd, const char *name, unsigned int flags,
nd
->
inode
=
nd
->
path
.
dentry
->
d_inode
;
if
(
!
(
flags
&
LOOKUP_RCU
))
return
0
;
goto
done
;
if
(
likely
(
!
read_seqcount_retry
(
&
nd
->
path
.
dentry
->
d_seq
,
nd
->
seq
)))
return
0
;
goto
done
;
if
(
!
(
nd
->
flags
&
LOOKUP_ROOT
))
nd
->
root
.
mnt
=
NULL
;
rcu_read_unlock
();
return
-
ECHILD
;
done:
current
->
total_link_count
=
0
;
return
link_path_walk
(
name
,
nd
);
}
static
void
path_cleanup
(
struct
nameidata
*
nd
)
...
...
@@ -1984,13 +1987,6 @@ static int path_lookupat(int dfd, const char *name,
* be able to complete).
*/
err
=
path_init
(
dfd
,
name
,
flags
,
nd
);
if
(
unlikely
(
err
))
goto
out
;
current
->
total_link_count
=
0
;
err
=
link_path_walk
(
name
,
nd
);
if
(
!
err
&&
!
(
flags
&
LOOKUP_PARENT
))
{
err
=
lookup_last
(
nd
,
&
path
);
while
(
err
>
0
)
{
...
...
@@ -2018,7 +2014,6 @@ static int path_lookupat(int dfd, const char *name,
}
}
out:
path_cleanup
(
nd
);
return
err
;
}
...
...
@@ -2333,11 +2328,6 @@ path_mountpoint(int dfd, const char *name, struct path *path, unsigned int flags
if
(
unlikely
(
err
))
goto
out
;
current
->
total_link_count
=
0
;
err
=
link_path_walk
(
name
,
&
nd
);
if
(
err
)
goto
out
;
err
=
mountpoint_last
(
&
nd
,
path
);
while
(
err
>
0
)
{
void
*
cookie
;
...
...
@@ -3224,11 +3214,6 @@ static struct file *path_openat(int dfd, struct filename *pathname,
if
(
unlikely
(
error
))
goto
out
;
current
->
total_link_count
=
0
;
error
=
link_path_walk
(
pathname
->
name
,
nd
);
if
(
unlikely
(
error
))
goto
out
;
error
=
do_last
(
nd
,
&
path
,
file
,
op
,
&
opened
,
pathname
);
while
(
unlikely
(
error
>
0
))
{
/* trailing symlink */
struct
path
link
=
path
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录