Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
36d44c60
K
Kernel
项目概览
openeuler
/
Kernel
大约 1 年 前同步成功
通知
5
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看板
体验新版 GitCode,发现更多精彩内容 >>
提交
36d44c60
编写于
9月 08, 2011
作者:
J
J. Bruce Fields
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
nfsd4: share common stid-hashing helper function
Signed-off-by:
N
J. Bruce Fields
<
bfields@redhat.com
>
上级
d5477a8d
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
11 addition
and
4 deletion
+11
-4
fs/nfsd/nfs4state.c
fs/nfsd/nfs4state.c
+11
-4
未找到文件。
fs/nfsd/nfs4state.c
浏览文件 @
36d44c60
...
...
@@ -218,6 +218,15 @@ static void nfs4_file_put_access(struct nfs4_file *fp, int oflag)
__nfs4_file_put_access
(
fp
,
oflag
);
}
static
inline
void
hash_stid
(
struct
nfs4_stid
*
stid
)
{
stateid_t
*
s
=
&
stid
->
sc_stateid
;
unsigned
int
hashval
;
hashval
=
stateid_hashval
(
s
->
si_stateownerid
,
s
->
si_fileid
);
list_add
(
&
stid
->
sc_hash
,
&
stateid_hashtbl
[
hashval
]);
}
static
struct
nfs4_delegation
*
alloc_init_deleg
(
struct
nfs4_client
*
clp
,
struct
nfs4_ol_stateid
*
stp
,
struct
svc_fh
*
current_fh
,
u32
type
)
{
...
...
@@ -2316,10 +2325,8 @@ alloc_init_open_stateowner(unsigned int strhashval, struct nfs4_client *clp, str
static
inline
void
init_open_stateid
(
struct
nfs4_ol_stateid
*
stp
,
struct
nfs4_file
*
fp
,
struct
nfsd4_open
*
open
)
{
struct
nfs4_openowner
*
oo
=
open
->
op_openowner
;
unsigned
int
hashval
=
stateid_hashval
(
oo
->
oo_owner
.
so_id
,
fp
->
fi_id
);
INIT_LIST_HEAD
(
&
stp
->
st_lockowners
);
list_add
(
&
stp
->
st_stid
.
sc_hash
,
&
stateid_hashtbl
[
hashval
]);
list_add
(
&
stp
->
st_perstateowner
,
&
oo
->
oo_owner
.
so_stateids
);
list_add
(
&
stp
->
st_perfile
,
&
fp
->
fi_stateids
);
stp
->
st_stid
.
sc_type
=
NFS4_OPEN_STID
;
...
...
@@ -2331,6 +2338,7 @@ init_open_stateid(struct nfs4_ol_stateid *stp, struct nfs4_file *fp, struct nfsd
stp
->
st_stid
.
sc_stateid
.
si_fileid
=
fp
->
fi_id
;
/* note will be incremented before first return to client: */
stp
->
st_stid
.
sc_stateid
.
si_generation
=
0
;
hash_stid
(
&
stp
->
st_stid
);
stp
->
st_access_bmap
=
0
;
stp
->
st_deny_bmap
=
0
;
__set_bit
(
open
->
op_share_access
&
~
NFS4_SHARE_WANT_MASK
,
...
...
@@ -3866,12 +3874,10 @@ static struct nfs4_ol_stateid *
alloc_init_lock_stateid
(
struct
nfs4_lockowner
*
lo
,
struct
nfs4_file
*
fp
,
struct
nfs4_ol_stateid
*
open_stp
)
{
struct
nfs4_ol_stateid
*
stp
;
unsigned
int
hashval
=
stateid_hashval
(
lo
->
lo_owner
.
so_id
,
fp
->
fi_id
);
stp
=
nfs4_alloc_stateid
();
if
(
stp
==
NULL
)
goto
out
;
list_add
(
&
stp
->
st_stid
.
sc_hash
,
&
stateid_hashtbl
[
hashval
]);
list_add
(
&
stp
->
st_perfile
,
&
fp
->
fi_stateids
);
list_add
(
&
stp
->
st_perstateowner
,
&
lo
->
lo_owner
.
so_stateids
);
stp
->
st_stateowner
=
&
lo
->
lo_owner
;
...
...
@@ -3883,6 +3889,7 @@ alloc_init_lock_stateid(struct nfs4_lockowner *lo, struct nfs4_file *fp, struct
stp
->
st_stid
.
sc_stateid
.
si_fileid
=
fp
->
fi_id
;
/* note will be incremented before first return to client: */
stp
->
st_stid
.
sc_stateid
.
si_generation
=
0
;
hash_stid
(
&
stp
->
st_stid
);
stp
->
st_access_bmap
=
0
;
stp
->
st_deny_bmap
=
open_stp
->
st_deny_bmap
;
stp
->
st_openstp
=
open_stp
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录