Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
f35ea0d4
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看板
提交
f35ea0d4
编写于
5月 22, 2014
作者:
J
J. Bruce Fields
浏览文件
操作
浏览文件
下载
差异文件
Merge 3.15 bugfixes for 3.16
上级
cbf7a75b
27b11428
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
14 addition
and
3 deletion
+14
-3
fs/nfsd/nfs4acl.c
fs/nfsd/nfs4acl.c
+1
-1
fs/nfsd/nfs4state.c
fs/nfsd/nfs4state.c
+13
-2
未找到文件。
fs/nfsd/nfs4acl.c
浏览文件 @
f35ea0d4
...
@@ -589,7 +589,7 @@ posix_state_to_acl(struct posix_acl_state *state, unsigned int flags)
...
@@ -589,7 +589,7 @@ posix_state_to_acl(struct posix_acl_state *state, unsigned int flags)
add_to_mask
(
state
,
&
state
->
groups
->
aces
[
i
].
perms
);
add_to_mask
(
state
,
&
state
->
groups
->
aces
[
i
].
perms
);
}
}
if
(
!
state
->
users
->
n
&&
!
state
->
groups
->
n
)
{
if
(
state
->
users
->
n
||
state
->
groups
->
n
)
{
pace
++
;
pace
++
;
pace
->
e_tag
=
ACL_MASK
;
pace
->
e_tag
=
ACL_MASK
;
low_mode_from_nfs4
(
state
->
mask
.
allow
,
&
pace
->
e_perm
,
flags
);
low_mode_from_nfs4
(
state
->
mask
.
allow
,
&
pace
->
e_perm
,
flags
);
...
...
fs/nfsd/nfs4state.c
浏览文件 @
f35ea0d4
...
@@ -3716,9 +3716,16 @@ nfs4_preprocess_stateid_op(struct net *net, struct nfsd4_compound_state *cstate,
...
@@ -3716,9 +3716,16 @@ nfs4_preprocess_stateid_op(struct net *net, struct nfsd4_compound_state *cstate,
static
__be32
static
__be32
nfsd4_free_lock_stateid
(
struct
nfs4_ol_stateid
*
stp
)
nfsd4_free_lock_stateid
(
struct
nfs4_ol_stateid
*
stp
)
{
{
if
(
check_for_locks
(
stp
->
st_file
,
lockowner
(
stp
->
st_stateowner
)))
struct
nfs4_lockowner
*
lo
=
lockowner
(
stp
->
st_stateowner
);
if
(
check_for_locks
(
stp
->
st_file
,
lo
))
return
nfserr_locks_held
;
return
nfserr_locks_held
;
release_lock_stateid
(
stp
);
/*
* Currently there's a 1-1 lock stateid<->lockowner
* correspondance, and we have to delete the lockowner when we
* delete the lock stateid:
*/
unhash_lockowner
(
lo
);
return
nfs_ok
;
return
nfs_ok
;
}
}
...
@@ -4158,6 +4165,10 @@ static bool same_lockowner_ino(struct nfs4_lockowner *lo, struct inode *inode, c
...
@@ -4158,6 +4165,10 @@ static bool same_lockowner_ino(struct nfs4_lockowner *lo, struct inode *inode, c
if
(
!
same_owner_str
(
&
lo
->
lo_owner
,
owner
,
clid
))
if
(
!
same_owner_str
(
&
lo
->
lo_owner
,
owner
,
clid
))
return
false
;
return
false
;
if
(
list_empty
(
&
lo
->
lo_owner
.
so_stateids
))
{
WARN_ON_ONCE
(
1
);
return
false
;
}
lst
=
list_first_entry
(
&
lo
->
lo_owner
.
so_stateids
,
lst
=
list_first_entry
(
&
lo
->
lo_owner
.
so_stateids
,
struct
nfs4_ol_stateid
,
st_perstateowner
);
struct
nfs4_ol_stateid
,
st_perstateowner
);
return
lst
->
st_file
->
fi_inode
==
inode
;
return
lst
->
st_file
->
fi_inode
==
inode
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录