Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
1aed3e42
K
Kernel
项目概览
openeuler
/
Kernel
1 年多 前同步成功
通知
8
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
DevOps
流水线
流水线任务
计划
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
K
Kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
DevOps
DevOps
流水线
流水线任务
计划
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
流水线任务
提交
Issue看板
提交
1aed3e42
编写于
3月 18, 2011
作者:
A
Al Viro
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
lose 'mounting_here' argument in ->d_manage()
it's always false... Signed-off-by:
N
Al Viro
<
viro@zeniv.linux.org.uk
>
上级
7cc90cc3
变更
4
隐藏空白更改
内联
并排
Showing
4 changed file
with
8 addition
and
13 deletion
+8
-13
Documentation/filesystems/vfs.txt
Documentation/filesystems/vfs.txt
+1
-5
fs/autofs4/root.c
fs/autofs4/root.c
+3
-3
fs/namei.c
fs/namei.c
+3
-4
include/linux/dcache.h
include/linux/dcache.h
+1
-1
未找到文件。
Documentation/filesystems/vfs.txt
浏览文件 @
1aed3e42
...
...
@@ -873,7 +873,7 @@ struct dentry_operations {
void (*d_iput)(struct dentry *, struct inode *);
char *(*d_dname)(struct dentry *, char *, int);
struct vfsmount *(*d_automount)(struct path *);
int (*d_manage)(struct dentry *, bool
, bool
);
int (*d_manage)(struct dentry *, bool);
};
d_revalidate: called when the VFS needs to revalidate a dentry. This
...
...
@@ -969,10 +969,6 @@ struct dentry_operations {
mounted on it and not to check the automount flag. Any other error
code will abort pathwalk completely.
If the 'mounting_here' parameter is true, then namespace_sem is being
held by the caller and the function should not initiate any mounts or
unmounts that it will then wait for.
If the 'rcu_walk' parameter is true, then the caller is doing a
pathwalk in RCU-walk mode. Sleeping is not permitted in this mode,
and the caller can be asked to leave it and call again by returing
...
...
fs/autofs4/root.c
浏览文件 @
1aed3e42
...
...
@@ -36,7 +36,7 @@ static long autofs4_root_compat_ioctl(struct file *,unsigned int,unsigned long);
static
int
autofs4_dir_open
(
struct
inode
*
inode
,
struct
file
*
file
);
static
struct
dentry
*
autofs4_lookup
(
struct
inode
*
,
struct
dentry
*
,
struct
nameidata
*
);
static
struct
vfsmount
*
autofs4_d_automount
(
struct
path
*
);
static
int
autofs4_d_manage
(
struct
dentry
*
,
bool
,
bool
);
static
int
autofs4_d_manage
(
struct
dentry
*
,
bool
);
static
void
autofs4_dentry_release
(
struct
dentry
*
);
const
struct
file_operations
autofs4_root_operations
=
{
...
...
@@ -446,7 +446,7 @@ static struct vfsmount *autofs4_d_automount(struct path *path)
return
NULL
;
}
int
autofs4_d_manage
(
struct
dentry
*
dentry
,
bool
mounting_here
,
bool
rcu_walk
)
int
autofs4_d_manage
(
struct
dentry
*
dentry
,
bool
rcu_walk
)
{
struct
autofs_sb_info
*
sbi
=
autofs4_sbi
(
dentry
->
d_sb
);
...
...
@@ -454,7 +454,7 @@ int autofs4_d_manage(struct dentry *dentry, bool mounting_here, bool rcu_walk)
dentry
,
dentry
->
d_name
.
len
,
dentry
->
d_name
.
name
);
/* The daemon never waits. */
if
(
autofs4_oz_mode
(
sbi
)
||
mounting_here
)
{
if
(
autofs4_oz_mode
(
sbi
))
{
if
(
!
d_mountpoint
(
dentry
))
return
-
EISDIR
;
return
0
;
...
...
fs/namei.c
浏览文件 @
1aed3e42
...
...
@@ -933,8 +933,7 @@ static int follow_managed(struct path *path, unsigned flags)
if
(
managed
&
DCACHE_MANAGE_TRANSIT
)
{
BUG_ON
(
!
path
->
dentry
->
d_op
);
BUG_ON
(
!
path
->
dentry
->
d_op
->
d_manage
);
ret
=
path
->
dentry
->
d_op
->
d_manage
(
path
->
dentry
,
false
,
false
);
ret
=
path
->
dentry
->
d_op
->
d_manage
(
path
->
dentry
,
false
);
if
(
ret
<
0
)
return
ret
==
-
EISDIR
?
0
:
ret
;
}
...
...
@@ -999,7 +998,7 @@ static bool __follow_mount_rcu(struct nameidata *nd, struct path *path,
struct
vfsmount
*
mounted
;
if
(
unlikely
(
path
->
dentry
->
d_flags
&
DCACHE_MANAGE_TRANSIT
)
&&
!
reverse_transit
&&
path
->
dentry
->
d_op
->
d_manage
(
path
->
dentry
,
false
,
true
)
<
0
)
path
->
dentry
->
d_op
->
d_manage
(
path
->
dentry
,
true
)
<
0
)
return
false
;
mounted
=
__lookup_mnt
(
path
->
mnt
,
path
->
dentry
,
1
);
if
(
!
mounted
)
...
...
@@ -1086,7 +1085,7 @@ int follow_down(struct path *path)
BUG_ON
(
!
path
->
dentry
->
d_op
);
BUG_ON
(
!
path
->
dentry
->
d_op
->
d_manage
);
ret
=
path
->
dentry
->
d_op
->
d_manage
(
path
->
dentry
,
false
,
false
);
path
->
dentry
,
false
);
if
(
ret
<
0
)
return
ret
==
-
EISDIR
?
0
:
ret
;
}
...
...
include/linux/dcache.h
浏览文件 @
1aed3e42
...
...
@@ -168,7 +168,7 @@ struct dentry_operations {
void
(
*
d_iput
)(
struct
dentry
*
,
struct
inode
*
);
char
*
(
*
d_dname
)(
struct
dentry
*
,
char
*
,
int
);
struct
vfsmount
*
(
*
d_automount
)(
struct
path
*
);
int
(
*
d_manage
)(
struct
dentry
*
,
bool
,
bool
);
int
(
*
d_manage
)(
struct
dentry
*
,
bool
);
}
____cacheline_aligned
;
/*
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录