mbox series

[v3,0/9] fuse: writeback clean up / refactoring

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

Message

Joanne Koong Aug. 23, 2024, 4:27 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)


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 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 (9):
  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: clean up error handling in fuse_writepages()
  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 folio_start_writeback to after the allocations in
    fuse_writepage_locked()
  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 | 169 +++++++++++++++++++++++++------------------------
 1 file changed, 87 insertions(+), 82 deletions(-)