Messages in this thread Patch in this message | | | From | Hou Tao <> | Subject | [PATCH] fat: enable .splice_write to support splice on O_DIRECT file | Date | Sun, 10 Feb 2019 17:47:54 +0800 |
| |
Now splice() on O_DIRECT-opened fat file will return -EFAULT, that is because the default .splice_write, namely default_file_splice_write(), will construct an ITER_KVEC iov_iter and dio_refill_pages() in dio path can not handle it.
Fix it by implementing .splice_write through iter_file_splice_write().
Spotted by xfs-tests generic/091.
Signed-off-by: Hou Tao <houtao1@huawei.com> --- fs/fat/file.c | 1 + 1 file changed, 1 insertion(+)
diff --git a/fs/fat/file.c b/fs/fat/file.c index 13935ee99e1e..b3bed32946b1 100644 --- a/fs/fat/file.c +++ b/fs/fat/file.c @@ -214,6 +214,7 @@ const struct file_operations fat_file_operations = { #endif .fsync = fat_file_fsync, .splice_read = generic_file_splice_read, + .splice_write = iter_file_splice_write, .fallocate = fat_fallocate, }; -- 2.16.2.dirty
| |