Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
xiphi1978
linux
提交
bd00f84b
L
linux
项目概览
xiphi1978
/
linux
通知
2
Star
0
Fork
0
代码
文件
提交
分支
Tags
贡献者
分支图
Diff
Issue
0
列表
看板
标记
里程碑
合并请求
0
Wiki
0
Wiki
分析
仓库
DevOps
项目成员
Pages
L
linux
项目概览
项目概览
详情
发布
仓库
仓库
文件
提交
分支
标签
贡献者
分支图
比较
Issue
0
Issue
0
列表
看板
标记
里程碑
合并请求
0
合并请求
0
Pages
分析
分析
仓库分析
DevOps
Wiki
0
Wiki
成员
成员
收起侧边栏
关闭侧边栏
动态
分支图
创建新Issue
提交
Issue看板
体验新版 GitCode,发现更多精彩内容 >>
提交
bd00f84b
编写于
6月 26, 2012
作者:
T
Trond Myklebust
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
SUNRPC: Simplify the end-of-buffer calculation in xdr_read_pages
Signed-off-by:
N
Trond Myklebust
<
Trond.Myklebust@netapp.com
>
上级
b760b313
变更
1
显示空白变更内容
内联
并排
Showing
1 changed file
with
7 addition
and
8 deletion
+7
-8
net/sunrpc/xdr.c
net/sunrpc/xdr.c
+7
-8
未找到文件。
net/sunrpc/xdr.c
浏览文件 @
bd00f84b
...
@@ -762,11 +762,10 @@ unsigned int xdr_read_pages(struct xdr_stream *xdr, unsigned int len)
...
@@ -762,11 +762,10 @@ unsigned int xdr_read_pages(struct xdr_stream *xdr, unsigned int len)
{
{
struct
xdr_buf
*
buf
=
xdr
->
buf
;
struct
xdr_buf
*
buf
=
xdr
->
buf
;
struct
kvec
*
iov
;
struct
kvec
*
iov
;
ssize_t
shift
;
unsigned
int
nwords
=
XDR_QUADLEN
(
len
);
unsigned
int
nwords
=
XDR_QUADLEN
(
len
);
unsigned
int
cur
=
xdr_stream_pos
(
xdr
);
unsigned
int
cur
=
xdr_stream_pos
(
xdr
);
unsigned
int
end
;
unsigned
int
end
;
int
padding
;
unsigned
int
padding
;
if
(
xdr
->
nwords
==
0
)
if
(
xdr
->
nwords
==
0
)
return
0
;
return
0
;
...
@@ -782,15 +781,15 @@ unsigned int xdr_read_pages(struct xdr_stream *xdr, unsigned int len)
...
@@ -782,15 +781,15 @@ unsigned int xdr_read_pages(struct xdr_stream *xdr, unsigned int len)
/* Truncate page data and move it into the tail */
/* Truncate page data and move it into the tail */
if
(
buf
->
page_len
>
len
)
if
(
buf
->
page_len
>
len
)
xdr_shrink_pagelen
(
buf
,
buf
->
page_len
-
len
);
xdr_shrink_pagelen
(
buf
,
buf
->
page_len
-
len
);
xdr
->
nwords
=
XDR_QUADLEN
(
buf
->
len
-
cur
);
padding
=
(
nwords
<<
2
)
-
len
;
padding
=
(
nwords
<<
2
)
-
len
;
xdr
->
iov
=
iov
=
buf
->
tail
;
xdr
->
iov
=
iov
=
buf
->
tail
;
/* Compute remaining message length. */
/* Compute remaining message length. */
end
=
((
xdr
->
nwords
-
nwords
)
<<
2
)
+
padding
;
if
(
end
>
iov
->
iov_len
)
end
=
iov
->
iov_len
;
end
=
iov
->
iov_len
;
shift
=
buf
->
buflen
-
buf
->
len
;
if
(
end
>
shift
+
padding
)
end
-=
shift
;
else
end
=
padding
;
/*
/*
* Position current pointer at beginning of tail, and
* Position current pointer at beginning of tail, and
* set remaining message length.
* set remaining message length.
...
...
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录