diff options
author | Xie Yongji <xieyongji@bytedance.com> | 2021-11-22 17:05:31 +0800 |
---|---|---|
committer | Greg Kroah-Hartman <gregkh@linuxfoundation.org> | 2022-01-27 10:54:25 +0100 |
commit | 9668cf9e4af0a0989c5f8f975213a58e74568a17 (patch) | |
tree | 44087ad9579a9467a5acbde1dc43353541b695da /fs | |
parent | 9fbaddd783fdc7c074ac9af5aef9baa45596b8b3 (diff) | |
download | linux-stable-9668cf9e4af0a0989c5f8f975213a58e74568a17.tar.gz linux-stable-9668cf9e4af0a0989c5f8f975213a58e74568a17.tar.bz2 linux-stable-9668cf9e4af0a0989c5f8f975213a58e74568a17.zip |
fuse: Pass correct lend value to filemap_write_and_wait_range()
commit e388164ea385f04666c4633f5dc4f951fca71890 upstream.
The acceptable maximum value of lend parameter in
filemap_write_and_wait_range() is LLONG_MAX rather than -1. And there is
also some logic depending on LLONG_MAX check in write_cache_pages(). So
let's pass LLONG_MAX to filemap_write_and_wait_range() in
fuse_writeback_range() instead.
Fixes: 59bda8ecee2f ("fuse: flush extending writes")
Signed-off-by: Xie Yongji <xieyongji@bytedance.com>
Cc: <stable@vger.kernel.org> # v5.15
Signed-off-by: Miklos Szeredi <mszeredi@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
Diffstat (limited to 'fs')
-rw-r--r-- | fs/fuse/file.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/fuse/file.c b/fs/fuse/file.c index 4dd70b53df81..e81d1c3eb7e1 100644 --- a/fs/fuse/file.c +++ b/fs/fuse/file.c @@ -3251,7 +3251,7 @@ fuse_direct_IO(struct kiocb *iocb, struct iov_iter *iter) static int fuse_writeback_range(struct inode *inode, loff_t start, loff_t end) { - int err = filemap_write_and_wait_range(inode->i_mapping, start, -1); + int err = filemap_write_and_wait_range(inode->i_mapping, start, LLONG_MAX); if (!err) fuse_sync_writes(inode); |