diff options
author | Christoph Hellwig <hch@lst.de> | 2020-07-09 18:22:06 +0200 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2020-07-09 19:57:58 +0200 |
commit | d77765911385b65fc82d74ab71b8983cddfe0b58 (patch) | |
tree | ef0afe1a04d8288e4383f1194eb06d5203fa9c8f /fs/btrfs | |
parent | 230ed397435e85b54f055c524fcb267ae2ce3bc4 (diff) | |
download | linux-stable-d77765911385b65fc82d74ab71b8983cddfe0b58.tar.gz linux-stable-d77765911385b65fc82d74ab71b8983cddfe0b58.tar.bz2 linux-stable-d77765911385b65fc82d74ab71b8983cddfe0b58.zip |
btrfs: wire up iter_file_splice_write
btrfs implements the iter_write op and thus can use the more efficient
iov_iter based splice implementation. For now falling back to the less
efficient default is pretty harmless, but I have a pending series that
removes the default, and thus would cause btrfs to not support splice
at all.
Reported-by: Andy Lavr <andy.lavr@gmail.com>
Tested-by: Andy Lavr <andy.lavr@gmail.com>
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs')
-rw-r--r-- | fs/btrfs/file.c | 1 |
1 files changed, 1 insertions, 0 deletions
diff --git a/fs/btrfs/file.c b/fs/btrfs/file.c index 2520605afc25..b0d2c976587e 100644 --- a/fs/btrfs/file.c +++ b/fs/btrfs/file.c @@ -3509,6 +3509,7 @@ const struct file_operations btrfs_file_operations = { .read_iter = generic_file_read_iter, .splice_read = generic_file_splice_read, .write_iter = btrfs_file_write_iter, + .splice_write = iter_file_splice_write, .mmap = btrfs_file_mmap, .open = btrfs_file_open, .release = btrfs_release_file, |