Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
abde71f4
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
160
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看板
提交
abde71f4
编写于
6月 09, 2014
作者:
T
Tom Haynes
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
pnfs: Add nfs_rpc_ops in calls to nfs_initiate_pgio
Signed-off-by:
N
Tom Haynes
<
loghyr@primarydata.com
>
上级
5f01d953
变更
6
隐藏空白更改
内联
并排
Showing
6 changed file
with
13 addition
and
8 deletion
+13
-8
fs/nfs/filelayout/filelayout.c
fs/nfs/filelayout/filelayout.c
+2
-2
fs/nfs/internal.h
fs/nfs/internal.h
+1
-0
fs/nfs/pagelist.c
fs/nfs/pagelist.c
+4
-2
fs/nfs/read.c
fs/nfs/read.c
+2
-1
fs/nfs/write.c
fs/nfs/write.c
+3
-3
include/linux/nfs_page.h
include/linux/nfs_page.h
+1
-0
未找到文件。
fs/nfs/filelayout/filelayout.c
浏览文件 @
abde71f4
...
...
@@ -501,7 +501,7 @@ filelayout_read_pagelist(struct nfs_pgio_header *hdr)
hdr
->
mds_offset
=
offset
;
/* Perform an asynchronous read to ds */
nfs_initiate_pgio
(
ds_clnt
,
hdr
,
nfs_initiate_pgio
(
ds_clnt
,
hdr
,
NFS_PROTO
(
hdr
->
inode
),
&
filelayout_read_call_ops
,
0
,
RPC_TASK_SOFTCONN
);
return
PNFS_ATTEMPTED
;
}
...
...
@@ -542,7 +542,7 @@ filelayout_write_pagelist(struct nfs_pgio_header *hdr, int sync)
hdr
->
args
.
offset
=
filelayout_get_dserver_offset
(
lseg
,
offset
);
/* Perform an asynchronous write */
nfs_initiate_pgio
(
ds_clnt
,
hdr
,
nfs_initiate_pgio
(
ds_clnt
,
hdr
,
NFS_PROTO
(
hdr
->
inode
),
&
filelayout_write_call_ops
,
sync
,
RPC_TASK_SOFTCONN
);
return
PNFS_ATTEMPTED
;
...
...
fs/nfs/internal.h
浏览文件 @
abde71f4
...
...
@@ -251,6 +251,7 @@ void nfs_pgio_header_free(struct nfs_pgio_header *);
void
nfs_pgio_data_destroy
(
struct
nfs_pgio_header
*
);
int
nfs_generic_pgio
(
struct
nfs_pageio_descriptor
*
,
struct
nfs_pgio_header
*
);
int
nfs_initiate_pgio
(
struct
rpc_clnt
*
,
struct
nfs_pgio_header
*
,
const
struct
nfs_rpc_ops
*
,
const
struct
rpc_call_ops
*
,
int
,
int
);
void
nfs_free_request
(
struct
nfs_page
*
req
);
...
...
fs/nfs/pagelist.c
浏览文件 @
abde71f4
...
...
@@ -597,6 +597,7 @@ static void nfs_pgio_prepare(struct rpc_task *task, void *calldata)
}
int
nfs_initiate_pgio
(
struct
rpc_clnt
*
clnt
,
struct
nfs_pgio_header
*
hdr
,
const
struct
nfs_rpc_ops
*
rpc_ops
,
const
struct
rpc_call_ops
*
call_ops
,
int
how
,
int
flags
)
{
struct
rpc_task
*
task
;
...
...
@@ -616,7 +617,7 @@ int nfs_initiate_pgio(struct rpc_clnt *clnt, struct nfs_pgio_header *hdr,
};
int
ret
=
0
;
hdr
->
rw_ops
->
rw_initiate
(
hdr
,
&
msg
,
&
task_setup_data
,
how
);
hdr
->
rw_ops
->
rw_initiate
(
hdr
,
&
msg
,
rpc_ops
,
&
task_setup_data
,
how
);
dprintk
(
"NFS: %5u initiated pgio call "
"(req %s/%llu, %u bytes @ offset %llu)
\n
"
,
...
...
@@ -792,7 +793,8 @@ static int nfs_generic_pg_pgios(struct nfs_pageio_descriptor *desc)
ret
=
nfs_generic_pgio
(
desc
,
hdr
);
if
(
ret
==
0
)
ret
=
nfs_initiate_pgio
(
NFS_CLIENT
(
hdr
->
inode
),
hdr
,
desc
->
pg_rpc_callops
,
hdr
,
NFS_PROTO
(
hdr
->
inode
),
desc
->
pg_rpc_callops
,
desc
->
pg_ioflags
,
0
);
return
ret
;
}
...
...
fs/nfs/read.c
浏览文件 @
abde71f4
...
...
@@ -168,13 +168,14 @@ static void nfs_read_completion(struct nfs_pgio_header *hdr)
static
void
nfs_initiate_read
(
struct
nfs_pgio_header
*
hdr
,
struct
rpc_message
*
msg
,
const
struct
nfs_rpc_ops
*
rpc_ops
,
struct
rpc_task_setup
*
task_setup_data
,
int
how
)
{
struct
inode
*
inode
=
hdr
->
inode
;
int
swap_flags
=
IS_SWAPFILE
(
inode
)
?
NFS_RPC_SWAPFLAGS
:
0
;
task_setup_data
->
flags
|=
swap_flags
;
NFS_PROTO
(
inode
)
->
read_setup
(
hdr
,
msg
);
rpc_ops
->
read_setup
(
hdr
,
msg
);
}
static
void
...
...
fs/nfs/write.c
浏览文件 @
abde71f4
...
...
@@ -1240,15 +1240,15 @@ static int flush_task_priority(int how)
static
void
nfs_initiate_write
(
struct
nfs_pgio_header
*
hdr
,
struct
rpc_message
*
msg
,
const
struct
nfs_rpc_ops
*
rpc_ops
,
struct
rpc_task_setup
*
task_setup_data
,
int
how
)
{
struct
inode
*
inode
=
hdr
->
inode
;
int
priority
=
flush_task_priority
(
how
);
task_setup_data
->
priority
=
priority
;
NFS_PROTO
(
inode
)
->
write_setup
(
hdr
,
msg
);
rpc_ops
->
write_setup
(
hdr
,
msg
);
nfs4_state_protect_write
(
NFS_SERVER
(
inode
)
->
nfs_client
,
nfs4_state_protect_write
(
NFS_SERVER
(
hdr
->
inode
)
->
nfs_client
,
&
task_setup_data
->
rpc_client
,
msg
,
hdr
);
}
...
...
include/linux/nfs_page.h
浏览文件 @
abde71f4
...
...
@@ -69,6 +69,7 @@ struct nfs_rw_ops {
struct
inode
*
);
void
(
*
rw_result
)(
struct
rpc_task
*
,
struct
nfs_pgio_header
*
);
void
(
*
rw_initiate
)(
struct
nfs_pgio_header
*
,
struct
rpc_message
*
,
const
struct
nfs_rpc_ops
*
,
struct
rpc_task_setup
*
,
int
);
};
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录