diff options
author | Al Viro <viro@zeniv.linux.org.uk> | 2014-04-05 04:37:17 -0400 |
---|---|---|
committer | Al Viro <viro@zeniv.linux.org.uk> | 2014-06-12 00:21:11 -0400 |
commit | 4da54c218da96fab0d65f3263c9b0092b42f0711 (patch) | |
tree | 579f380a7d970dbdbedaaf7b144ea2130cde2d2e /fs/nfs/file.c | |
parent | 96f9bc8fbc2440d90e15f02398e1de43f674b433 (diff) |
nfs: switch to iter_splice_write_file()
Signed-off-by: Al Viro <viro@zeniv.linux.org.uk>
Diffstat (limited to 'fs/nfs/file.c')
-rw-r--r-- | fs/nfs/file.c | 32 |
1 files changed, 1 insertions, 31 deletions
diff --git a/fs/nfs/file.c b/fs/nfs/file.c index 20a18e426bdf..f4ae5d0525e2 100644 --- a/fs/nfs/file.c +++ b/fs/nfs/file.c | |||
@@ -690,36 +690,6 @@ out_swapfile: | |||
690 | } | 690 | } |
691 | EXPORT_SYMBOL_GPL(nfs_file_write); | 691 | EXPORT_SYMBOL_GPL(nfs_file_write); |
692 | 692 | ||
693 | ssize_t nfs_file_splice_write(struct pipe_inode_info *pipe, | ||
694 | struct file *filp, loff_t *ppos, | ||
695 | size_t count, unsigned int flags) | ||
696 | { | ||
697 | struct inode *inode = file_inode(filp); | ||
698 | unsigned long written = 0; | ||
699 | ssize_t ret; | ||
700 | |||
701 | dprintk("NFS splice_write(%pD2, %lu@%llu)\n", | ||
702 | filp, (unsigned long) count, (unsigned long long) *ppos); | ||
703 | |||
704 | /* | ||
705 | * The combination of splice and an O_APPEND destination is disallowed. | ||
706 | */ | ||
707 | |||
708 | ret = generic_file_splice_write(pipe, filp, ppos, count, flags); | ||
709 | if (ret > 0) | ||
710 | written = ret; | ||
711 | |||
712 | if (ret >= 0 && nfs_need_sync_write(filp, inode)) { | ||
713 | int err = vfs_fsync(filp, 0); | ||
714 | if (err < 0) | ||
715 | ret = err; | ||
716 | } | ||
717 | if (ret > 0) | ||
718 | nfs_add_stats(inode, NFSIOS_NORMALWRITTENBYTES, written); | ||
719 | return ret; | ||
720 | } | ||
721 | EXPORT_SYMBOL_GPL(nfs_file_splice_write); | ||
722 | |||
723 | static int | 693 | static int |
724 | do_getlk(struct file *filp, int cmd, struct file_lock *fl, int is_local) | 694 | do_getlk(struct file *filp, int cmd, struct file_lock *fl, int is_local) |
725 | { | 695 | { |
@@ -950,7 +920,7 @@ const struct file_operations nfs_file_operations = { | |||
950 | .lock = nfs_lock, | 920 | .lock = nfs_lock, |
951 | .flock = nfs_flock, | 921 | .flock = nfs_flock, |
952 | .splice_read = nfs_file_splice_read, | 922 | .splice_read = nfs_file_splice_read, |
953 | .splice_write = nfs_file_splice_write, | 923 | .splice_write = iter_file_splice_write, |
954 | .check_flags = nfs_check_flags, | 924 | .check_flags = nfs_check_flags, |
955 | .setlease = nfs_setlease, | 925 | .setlease = nfs_setlease, |
956 | }; | 926 | }; |