diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2016-09-22 23:35:42 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2016-10-05 18:23:56 -0400 |
commit | 82c156f853840645604acd7c2cebcb75ed1b6652 (patch) | |
tree | 19d74fbaafb300aa05523ad0ecb60f24f82c5d1f /fs/ocfs2/file.c | |
parent | 241699cd72a8489c9446ae3910ddd243e9b9061b (diff) |
switch generic_file_splice_read() to use of ->read_iter()
... and kill the ->splice_read() instances that can be switched to it
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/ocfs2/file.c')
-rw-r--r-- | fs/ocfs2/file.c | 34 |
1 files changed, 2 insertions, 32 deletions
diff --git a/fs/ocfs2/file.c b/fs/ocfs2/file.c index 0b055bfb8e86..8f91639f8364 100644 --- a/fs/ocfs2/file.c +++ b/fs/ocfs2/file.c | |||
@@ -2321,36 +2321,6 @@ out_mutex: | |||
2321 | return ret; | 2321 | return ret; |
2322 | } | 2322 | } |
2323 | 2323 | ||
2324 | static ssize_t ocfs2_file_splice_read(struct file *in, | ||
2325 | loff_t *ppos, | ||
2326 | struct pipe_inode_info *pipe, | ||
2327 | size_t len, | ||
2328 | unsigned int flags) | ||
2329 | { | ||
2330 | int ret = 0, lock_level = 0; | ||
2331 | struct inode *inode = file_inode(in); | ||
2332 | |||
2333 | trace_ocfs2_file_splice_read(inode, in, in->f_path.dentry, | ||
2334 | (unsigned long long)OCFS2_I(inode)->ip_blkno, | ||
2335 | in->f_path.dentry->d_name.len, | ||
2336 | in->f_path.dentry->d_name.name, len); | ||
2337 | |||
2338 | /* | ||
2339 | * See the comment in ocfs2_file_read_iter() | ||
2340 | */ | ||
2341 | ret = ocfs2_inode_lock_atime(inode, in->f_path.mnt, &lock_level); | ||
2342 | if (ret < 0) { | ||
2343 | mlog_errno(ret); | ||
2344 | goto bail; | ||
2345 | } | ||
2346 | ocfs2_inode_unlock(inode, lock_level); | ||
2347 | |||
2348 | ret = generic_file_splice_read(in, ppos, pipe, len, flags); | ||
2349 | |||
2350 | bail: | ||
2351 | return ret; | ||
2352 | } | ||
2353 | |||
2354 | static ssize_t ocfs2_file_read_iter(struct kiocb *iocb, | 2324 | static ssize_t ocfs2_file_read_iter(struct kiocb *iocb, |
2355 | struct iov_iter *to) | 2325 | struct iov_iter *to) |
2356 | { | 2326 | { |
@@ -2509,7 +2479,7 @@ const struct file_operations ocfs2_fops = { | |||
2509 | #endif | 2479 | #endif |
2510 | .lock = ocfs2_lock, | 2480 | .lock = ocfs2_lock, |
2511 | .flock = ocfs2_flock, | 2481 | .flock = ocfs2_flock, |
2512 | .splice_read = ocfs2_file_splice_read, | 2482 | .splice_read = generic_file_splice_read, |
2513 | .splice_write = iter_file_splice_write, | 2483 | .splice_write = iter_file_splice_write, |
2514 | .fallocate = ocfs2_fallocate, | 2484 | .fallocate = ocfs2_fallocate, |
2515 | }; | 2485 | }; |
@@ -2554,7 +2524,7 @@ const struct file_operations ocfs2_fops_no_plocks = { | |||
2554 | .compat_ioctl = ocfs2_compat_ioctl, | 2524 | .compat_ioctl = ocfs2_compat_ioctl, |
2555 | #endif | 2525 | #endif |
2556 | .flock = ocfs2_flock, | 2526 | .flock = ocfs2_flock, |
2557 | .splice_read = ocfs2_file_splice_read, | 2527 | .splice_read = generic_file_splice_read, |
2558 | .splice_write = iter_file_splice_write, | 2528 | .splice_write = iter_file_splice_write, |
2559 | .fallocate = ocfs2_fallocate, | 2529 | .fallocate = ocfs2_fallocate, |
2560 | }; | 2530 | }; |