Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openeuler
Kernel
提交
4581d140
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看板
提交
4581d140
编写于
9月 06, 2011
作者:
J
J. Bruce Fields
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
nfsd4: rearrange to avoid a forward reference
Signed-off-by:
N
J. Bruce Fields
<
bfields@redhat.com
>
上级
4665e2ba
变更
1
隐藏空白更改
内联
并排
Showing
1 changed file
with
26 addition
and
27 deletion
+26
-27
fs/nfsd/nfs4state.c
fs/nfsd/nfs4state.c
+26
-27
未找到文件。
fs/nfsd/nfs4state.c
浏览文件 @
4581d140
...
...
@@ -60,7 +60,6 @@ static u64 current_sessionid = 1;
#define ONE_STATEID(stateid) (!memcmp((stateid), &onestateid, sizeof(stateid_t)))
/* forward declarations */
static
struct
nfs4_stateid
*
find_stateid
(
stateid_t
*
stid
,
int
flags
);
static
struct
nfs4_delegation
*
search_for_delegation
(
stateid_t
*
stid
);
static
struct
nfs4_delegation
*
find_delegation_stateid
(
struct
inode
*
ino
,
stateid_t
*
stid
);
static
int
check_for_locks
(
struct
nfs4_file
*
filp
,
struct
nfs4_lockowner
*
lowner
);
...
...
@@ -1061,6 +1060,32 @@ static void gen_confirm(struct nfs4_client *clp)
*
p
++
=
i
++
;
}
static
int
same_stateid
(
stateid_t
*
id_one
,
stateid_t
*
id_two
)
{
if
(
id_one
->
si_stateownerid
!=
id_two
->
si_stateownerid
)
return
0
;
return
id_one
->
si_fileid
==
id_two
->
si_fileid
;
}
static
struct
nfs4_stateid
*
find_stateid
(
stateid_t
*
t
,
int
flags
)
{
struct
nfs4_stateid
*
s
;
unsigned
int
hashval
;
hashval
=
stateid_hashval
(
t
->
si_stateownerid
,
t
->
si_fileid
);
list_for_each_entry
(
s
,
&
stateid_hashtbl
[
hashval
],
st_hash
)
{
if
(
!
same_stateid
(
&
s
->
st_stateid
,
t
))
continue
;
if
(
flags
&
LOCK_STATE
&&
s
->
st_type
!=
NFS4_LOCK_STID
)
return
NULL
;
if
(
flags
&
OPEN_STATE
&&
s
->
st_type
!=
NFS4_OPEN_STID
)
return
NULL
;
return
s
;
}
return
NULL
;
}
static
struct
nfs4_client
*
create_client
(
struct
xdr_netobj
name
,
char
*
recdir
,
struct
svc_rqst
*
rqstp
,
nfs4_verifier
*
verf
)
{
...
...
@@ -3694,32 +3719,6 @@ lock_ownerstr_hashval(struct inode *inode, u32 cl_id,
static
struct
list_head
lock_ownerid_hashtbl
[
LOCK_HASH_SIZE
];
static
struct
list_head
lock_ownerstr_hashtbl
[
LOCK_HASH_SIZE
];
static
int
same_stateid
(
stateid_t
*
id_one
,
stateid_t
*
id_two
)
{
if
(
id_one
->
si_stateownerid
!=
id_two
->
si_stateownerid
)
return
0
;
return
id_one
->
si_fileid
==
id_two
->
si_fileid
;
}
static
struct
nfs4_stateid
*
find_stateid
(
stateid_t
*
t
,
int
flags
)
{
struct
nfs4_stateid
*
s
;
unsigned
int
hashval
;
hashval
=
stateid_hashval
(
t
->
si_stateownerid
,
t
->
si_fileid
);
list_for_each_entry
(
s
,
&
stateid_hashtbl
[
hashval
],
st_hash
)
{
if
(
!
same_stateid
(
&
s
->
st_stateid
,
t
))
continue
;
if
(
flags
&
LOCK_STATE
&&
s
->
st_type
!=
NFS4_LOCK_STID
)
return
NULL
;
if
(
flags
&
OPEN_STATE
&&
s
->
st_type
!=
NFS4_OPEN_STID
)
return
NULL
;
return
s
;
}
return
NULL
;
}
static
struct
nfs4_delegation
*
search_for_delegation
(
stateid_t
*
stid
)
{
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录