Skip to content
体验新版
项目
组织
正在加载...
登录
切换导航
打开侧边栏
openanolis
cloud-kernel
提交
65a4a1ca
cloud-kernel
项目概览
openanolis
/
cloud-kernel
1 年多 前同步成功
通知
163
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看板
提交
65a4a1ca
编写于
9年前
作者:
A
Al Viro
浏览文件
操作
浏览文件
下载
电子邮件补丁
差异文件
nfs: generic_write_checks() shouldn't be done on swapout...
Signed-off-by:
N
Al Viro
<
viro@zeniv.linux.org.uk
>
上级
7da839c4
master
alk-4.19.24
alk-4.19.30
alk-4.19.34
alk-4.19.36
alk-4.19.43
alk-4.19.48
alk-4.19.57
ck-4.19.67
ck-4.19.81
ck-4.19.91
github/fork/deepanshu1422/fix-typo-in-comment
github/fork/haosdent/fix-typo
linux-next
v4.19.91
v4.19.90
v4.19.89
v4.19.88
v4.19.87
v4.19.86
v4.19.85
v4.19.84
v4.19.83
v4.19.82
v4.19.81
v4.19.80
v4.19.79
v4.19.78
v4.19.77
v4.19.76
v4.19.75
v4.19.74
v4.19.73
v4.19.72
v4.19.71
v4.19.70
v4.19.69
v4.19.68
v4.19.67
v4.19.66
v4.19.65
v4.19.64
v4.19.63
v4.19.62
v4.19.61
v4.19.60
v4.19.59
v4.19.58
v4.19.57
v4.19.56
v4.19.55
v4.19.54
v4.19.53
v4.19.52
v4.19.51
v4.19.50
v4.19.49
v4.19.48
v4.19.47
v4.19.46
v4.19.45
v4.19.44
v4.19.43
v4.19.42
v4.19.41
v4.19.40
v4.19.39
v4.19.38
v4.19.37
v4.19.36
v4.19.35
v4.19.34
v4.19.33
v4.19.32
v4.19.31
v4.19.30
v4.19.29
v4.19.28
v4.19.27
v4.19.26
v4.19.25
v4.19.24
v4.19.23
v4.19.22
v4.19.21
v4.19.20
v4.19.19
v4.19.18
v4.19.17
v4.19.16
v4.19.15
v4.19.14
v4.19.13
v4.19.12
v4.19.11
v4.19.10
v4.19.9
v4.19.8
v4.19.7
v4.19.6
v4.19.5
v4.19.4
v4.19.3
v4.19.2
v4.19.1
v4.19
v4.19-rc8
v4.19-rc7
v4.19-rc6
v4.19-rc5
v4.19-rc4
v4.19-rc3
v4.19-rc2
v4.19-rc1
ck-release-21
ck-release-20
ck-release-19.2
ck-release-19.1
ck-release-19
ck-release-18
ck-release-17.2
ck-release-17.1
ck-release-17
ck-release-16
ck-release-15.1
ck-release-15
ck-release-14
ck-release-13.2
ck-release-13
ck-release-12
ck-release-11
ck-release-10
ck-release-9
ck-release-7
alk-release-15
alk-release-14
alk-release-13.2
alk-release-13
alk-release-12
alk-release-11
alk-release-10
alk-release-9
alk-release-7
无相关合并请求
变更
3
隐藏空白更改
内联
并排
Showing
3 changed file
with
11 addition
and
15 deletion
+11
-15
fs/nfs/direct.c
fs/nfs/direct.c
+3
-9
fs/nfs/file.c
fs/nfs/file.c
+7
-4
include/linux/nfs_fs.h
include/linux/nfs_fs.h
+1
-2
未找到文件。
fs/nfs/direct.c
浏览文件 @
65a4a1ca
...
...
@@ -268,7 +268,7 @@ ssize_t nfs_direct_IO(struct kiocb *iocb, struct iov_iter *iter, loff_t pos)
if
(
iov_iter_rw
(
iter
)
==
READ
)
return
nfs_file_direct_read
(
iocb
,
iter
,
pos
);
return
nfs_file_direct_write
(
iocb
,
iter
,
pos
);
return
nfs_file_direct_write
(
iocb
,
iter
);
#endif
/* CONFIG_NFS_SWAP */
}
...
...
@@ -959,8 +959,7 @@ static ssize_t nfs_direct_write_schedule_iovec(struct nfs_direct_req *dreq,
* Note that O_APPEND is not supported for NFS direct writes, as there
* is no atomic O_APPEND write facility in the NFS protocol.
*/
ssize_t
nfs_file_direct_write
(
struct
kiocb
*
iocb
,
struct
iov_iter
*
iter
,
loff_t
pos
)
ssize_t
nfs_file_direct_write
(
struct
kiocb
*
iocb
,
struct
iov_iter
*
iter
)
{
ssize_t
result
=
-
EINVAL
;
struct
file
*
file
=
iocb
->
ki_filp
;
...
...
@@ -968,15 +967,11 @@ ssize_t nfs_file_direct_write(struct kiocb *iocb, struct iov_iter *iter,
struct
inode
*
inode
=
mapping
->
host
;
struct
nfs_direct_req
*
dreq
;
struct
nfs_lock_context
*
l_ctx
;
loff_t
end
;
loff_t
pos
,
end
;
dfprintk
(
FILE
,
"NFS: direct write(%pD2, %zd@%Ld)
\n
"
,
file
,
iov_iter_count
(
iter
),
(
long
long
)
iocb
->
ki_pos
);
result
=
generic_write_checks
(
iocb
,
iter
);
if
(
result
<=
0
)
goto
out
;
nfs_add_stats
(
mapping
->
host
,
NFSIOS_DIRECTWRITTENBYTES
,
iov_iter_count
(
iter
));
...
...
@@ -1044,7 +1039,6 @@ ssize_t nfs_file_direct_write(struct kiocb *iocb, struct iov_iter *iter,
nfs_direct_req_release
(
dreq
);
out_unlock:
mutex_unlock
(
&
inode
->
i_mutex
);
out:
return
result
;
}
...
...
This diff is collapsed.
Click to expand it.
fs/nfs/file.c
浏览文件 @
65a4a1ca
...
...
@@ -674,17 +674,20 @@ ssize_t nfs_file_write(struct kiocb *iocb, struct iov_iter *from)
unsigned
long
written
=
0
;
ssize_t
result
;
size_t
count
=
iov_iter_count
(
from
);
loff_t
pos
=
iocb
->
ki_pos
;
result
=
nfs_key_timeout_notify
(
file
,
inode
);
if
(
result
)
return
result
;
if
(
iocb
->
ki_flags
&
IOCB_DIRECT
)
return
nfs_file_direct_write
(
iocb
,
from
,
pos
);
if
(
iocb
->
ki_flags
&
IOCB_DIRECT
)
{
result
=
generic_write_checks
(
iocb
,
from
);
if
(
result
<=
0
)
return
result
;
return
nfs_file_direct_write
(
iocb
,
from
);
}
dprintk
(
"NFS: write(%pD2, %zu@%Ld)
\n
"
,
file
,
count
,
(
long
long
)
pos
);
file
,
count
,
(
long
long
)
iocb
->
ki_
pos
);
result
=
-
EBUSY
;
if
(
IS_SWAPFILE
(
inode
))
...
...
This diff is collapsed.
Click to expand it.
include/linux/nfs_fs.h
浏览文件 @
65a4a1ca
...
...
@@ -452,8 +452,7 @@ extern ssize_t nfs_file_direct_read(struct kiocb *iocb,
struct
iov_iter
*
iter
,
loff_t
pos
);
extern
ssize_t
nfs_file_direct_write
(
struct
kiocb
*
iocb
,
struct
iov_iter
*
iter
,
loff_t
pos
);
struct
iov_iter
*
iter
);
/*
* linux/fs/nfs/dir.c
...
...
This diff is collapsed.
Click to expand it.
编辑
预览
Markdown
is supported
0%
请重试
或
添加新附件
.
添加附件
取消
You are about to add
0
people
to the discussion. Proceed with caution.
先完成此消息的编辑!
取消
想要评论请
注册
或
登录
反馈
建议
客服
返回
顶部