Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
8f975242
cloud-kernel
项目概览
openanolis
/
cloud-kernel
大约 1 年 前同步成功
通知
158
Star
36
Fork
7
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
10
列表
看板
标记
里程碑
合并请求
2
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
cloud-kernel
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
10
Issue
10
列表
看板
标记
里程碑
合并请求
2
合并请求
2
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
8f975242
编写于
4月 01, 2009
作者:
B
Benny Halevy
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
nfs41: create a svc_xprt for nfs41 callback thread and use for incoming callbacks
Signed-off-by:
N
Benny Halevy
<
bhalevy@panasas.com
>
上级
9c9f3f5f
变更
2
隐藏空白更改
内联
并排
Showing
2 changed file
with
17 addition
and
1 deletion
+17
-1
fs/nfs/callback.c
fs/nfs/callback.c
+16
-1
net/sunrpc/svc.c
net/sunrpc/svc.c
+1
-0
未找到文件。
fs/nfs/callback.c
浏览文件 @
8f975242
...
...
@@ -185,16 +185,31 @@ nfs41_callback_svc(void *vrqstp)
struct
svc_rqst
*
nfs41_callback_up
(
struct
svc_serv
*
serv
,
struct
rpc_xprt
*
xprt
)
{
struct
svc_xprt
*
bc_xprt
;
struct
svc_rqst
*
rqstp
=
ERR_PTR
(
-
ENOMEM
);
dprintk
(
"--> %s
\n
"
,
__func__
);
/* Create a svc_sock for the service */
bc_xprt
=
svc_sock_create
(
serv
,
xprt
->
prot
);
if
(
!
bc_xprt
)
goto
out
;
/*
* Save the svc_serv in the transport so that it can
* be referenced when the session backchannel is initialized
*/
serv
->
bc_xprt
=
bc_xprt
;
xprt
->
bc_serv
=
serv
;
INIT_LIST_HEAD
(
&
serv
->
sv_cb_list
);
spin_lock_init
(
&
serv
->
sv_cb_lock
);
init_waitqueue_head
(
&
serv
->
sv_cb_waitq
);
return
svc_prepare_thread
(
serv
,
&
serv
->
sv_pools
[
0
]);
rqstp
=
svc_prepare_thread
(
serv
,
&
serv
->
sv_pools
[
0
]);
if
(
IS_ERR
(
rqstp
))
svc_sock_destroy
(
bc_xprt
);
out:
dprintk
(
"--> %s return %p
\n
"
,
__func__
,
rqstp
);
return
rqstp
;
}
static
inline
int
nfs_minorversion_callback_svc_setup
(
u32
minorversion
,
...
...
net/sunrpc/svc.c
浏览文件 @
8f975242
...
...
@@ -1258,6 +1258,7 @@ bc_svc_process(struct svc_serv *serv, struct rpc_rqst *req,
int
error
;
/* Build the svc_rqst used by the common processing routine */
rqstp
->
rq_xprt
=
serv
->
bc_xprt
;
rqstp
->
rq_xid
=
req
->
rq_xid
;
rqstp
->
rq_prot
=
req
->
rq_xprt
->
prot
;
rqstp
->
rq_server
=
serv
;
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录