mbox series

[v4,0/7] fuse: writeback clean up / refactoring

Message ID 20240826211908.75190-1-joannelkoong@gmail.com (mailing list archive)
Headers show
Series fuse: writeback clean up / refactoring | expand

Message

Joanne Koong Aug. 26, 2024, 9:19 p.m. UTC
This patchset contains some minor clean up / refactoring for the fuse
writeback code.

As a sanity check, I ran fio to check against crashes -
./libfuse/build/example/passthrough_ll -o cache=always -o writeback -o
source=~/fstests ~/tmp_mount
fio --name=test --ioengine=psync --iodepth=1 --rw=randwrite --bs=1M --direct=0
--size=2G --numjobs=2 --directory=/home/user/tmp_mount

and (suggested by Miklos) fsx test -
sudo HOST_OPTIONS=fuse.config ./check -fuse generic/616
generic/616 (soak buffered fsx test) without the -U (io_uring) flag
(verified this uses the fuse_writepages_fill path)

v3:
https://lore.kernel.org/linux-fsdevel/20240823162730.521499-1-joannelkoong@gmail.com/
Changes from v3 -> v4:
* Merge v3's 4/9 and 5/9 into 1 patch (Josef)
* Merge v3's 7/9 and 9/9 into 1 patch

v2:
https://lore.kernel.org/linux-fsdevel/20240821232241.3573997-1-joannelkoong@gmail.com/
Changes from v2 -> v3:
* Drop v2 9/9 (Miklos)
* Split v2 8/9 into 2 patches (v3 8/9 and 9/9) to make review easier
* Change error pattern usage (Miklos)

v1:
https://lore.kernel.org/linux-fsdevel/20240819182417.504672-1-joannelkoong@gmail.com/
Changes from v1 -> v2:
* Added patches 2 and 4-9
* Add commit message to patch 1 (Jingbo)

Joanne Koong (7):
  fuse: drop unused fuse_mount arg in fuse_writepage_finish()
  fuse: refactor finished writeback stats updates into helper function
  fuse: update stats for pages in dropped aux writeback list
  fuse: move initialization of fuse_file to fuse_writepages() instead of
    in callback
  fuse: convert fuse_writepages_fill() to use a folio for its tmp page
  fuse: move fuse file initialization to wpa allocation time
  fuse: refactor out shared logic in fuse_writepages_fill() and
    fuse_writepage_locked()

 fs/fuse/file.c | 167 +++++++++++++++++++++++++------------------------
 1 file changed, 86 insertions(+), 81 deletions(-)

Comments

Josef Bacik Aug. 27, 2024, 11 a.m. UTC | #1
On Mon, Aug 26, 2024 at 02:19:01PM -0700, Joanne Koong wrote:
> This patchset contains some minor clean up / refactoring for the fuse
> writeback code.
> 
> As a sanity check, I ran fio to check against crashes -
> ./libfuse/build/example/passthrough_ll -o cache=always -o writeback -o
> source=~/fstests ~/tmp_mount
> fio --name=test --ioengine=psync --iodepth=1 --rw=randwrite --bs=1M --direct=0
> --size=2G --numjobs=2 --directory=/home/user/tmp_mount
> 
> and (suggested by Miklos) fsx test -
> sudo HOST_OPTIONS=fuse.config ./check -fuse generic/616
> generic/616 (soak buffered fsx test) without the -U (io_uring) flag
> (verified this uses the fuse_writepages_fill path)
> 
> v3:
> https://lore.kernel.org/linux-fsdevel/20240823162730.521499-1-joannelkoong@gmail.com/
> Changes from v3 -> v4:
> * Merge v3's 4/9 and 5/9 into 1 patch (Josef)
> * Merge v3's 7/9 and 9/9 into 1 patch
> 
> v2:
> https://lore.kernel.org/linux-fsdevel/20240821232241.3573997-1-joannelkoong@gmail.com/
> Changes from v2 -> v3:
> * Drop v2 9/9 (Miklos)
> * Split v2 8/9 into 2 patches (v3 8/9 and 9/9) to make review easier
> * Change error pattern usage (Miklos)
> 
> v1:
> https://lore.kernel.org/linux-fsdevel/20240819182417.504672-1-joannelkoong@gmail.com/
> Changes from v1 -> v2:
> * Added patches 2 and 4-9
> * Add commit message to patch 1 (Jingbo)

This is good, I've based my folio conversion patches ontop of this series as
well,

Reviewed-by: Josef Bacik <josef@toxicpanda.com>

Thanks for this,

Josef
Miklos Szeredi Aug. 30, 2024, 9:26 a.m. UTC | #2
On Mon, 26 Aug 2024 at 23:20, Joanne Koong <joannelkoong@gmail.com> wrote:
>
> This patchset contains some minor clean up / refactoring for the fuse
> writeback code.
>
> As a sanity check, I ran fio to check against crashes -
> ./libfuse/build/example/passthrough_ll -o cache=always -o writeback -o
> source=~/fstests ~/tmp_mount
> fio --name=test --ioengine=psync --iodepth=1 --rw=randwrite --bs=1M --direct=0
> --size=2G --numjobs=2 --directory=/home/user/tmp_mount
>
> and (suggested by Miklos) fsx test -
> sudo HOST_OPTIONS=fuse.config ./check -fuse generic/616
> generic/616 (soak buffered fsx test) without the -U (io_uring) flag
> (verified this uses the fuse_writepages_fill path)

Applied, thanks.

Miklos
Bernd Schubert Sept. 10, 2024, 8:55 p.m. UTC | #3
On 8/26/24 23:19, Joanne Koong wrote:
> This patchset contains some minor clean up / refactoring for the fuse
> writeback code.

Thanks Joanne, especially after 7/7 this looks so much better now!

I'm a bit late, reviewed-by: Bernd Schubert <bschubert@ddn.com>
Jingbo Xu Sept. 11, 2024, 1:36 a.m. UTC | #4
On 8/27/24 5:19 AM, Joanne Koong wrote:
> This patchset contains some minor clean up / refactoring for the fuse
> writeback code.

Sorry maybe it's too late and not sure if it's still needed, but anyway,

Reviewed-by: Jingbo Xu <jefflexu@linux.alibaba.com>