freebsd-dev/sys/fs/fuse
Alan Somers b9e2019755 fusefs: rewrite vop_getpages and vop_putpages
Use the standard facilities for getpages and putpages instead of bespoke
implementations that don't work well with the writeback cache.  This has
several corollaries:

* Change the way we handle short reads _again_.  vfs_bio_getpages doesn't
  provide any way to handle unexpected short reads.  Plus, I found some more
  lock-order problems.  So now when the short read is detected we'll just
  clear the vnode's attribute cache, forcing the file size to be requeried
  the next time it's needed.  VOP_GETPAGES doesn't have any way to indicate
  a short read to the "caller", so we just bzero the rest of the page
  whenever a short read happens.

* Change the way we decide when to set the FUSE_WRITE_CACHE bit.  We now set
  it for clustered writes even when the writeback cache is not in use.

Sponsored by:   The FreeBSD Foundation
2019-06-25 17:24:43 +00:00
..
fuse_device.c fusefs: raise protocol level to 7.15 2019-06-20 23:32:25 +00:00
fuse_file.c fusefs: set the flags fields of fuse_write_in and fuse_read_in 2019-05-28 01:09:19 +00:00
fuse_file.h fusefs: raise protocol level to 7.10 2019-05-29 00:01:36 +00:00
fuse_internal.c fusefs: raise protocol level to 7.23 2019-06-21 04:57:23 +00:00
fuse_internal.h MFHead @348740 2019-06-06 16:20:50 +00:00
fuse_io.c fusefs: rewrite vop_getpages and vop_putpages 2019-06-25 17:24:43 +00:00
fuse_io.h fusefs: rewrite vop_getpages and vop_putpages 2019-06-25 17:24:43 +00:00
fuse_ipc.c fusefs: raise protocol level to 7.23 2019-06-21 04:57:23 +00:00
fuse_ipc.h fusefs: implement VOP_BMAP 2019-06-20 17:08:21 +00:00
fuse_kernel.h fusefs: raise protocol level to 7.23 2019-06-21 04:57:23 +00:00
fuse_main.c fusefs: FIFO support 2019-04-29 01:40:35 +00:00
fuse_node.c fusefs: fix a page fault with writeback cacheing 2019-06-11 23:46:31 +00:00
fuse_node.h MFHead @348740 2019-06-06 16:20:50 +00:00
fuse_vfsops.c fusefs: attempt to support servers as old as protocol 7.4 2019-06-20 22:21:42 +00:00
fuse_vnops.c fusefs: rewrite vop_getpages and vop_putpages 2019-06-25 17:24:43 +00:00
fuse.h fusefs: reap dead code 2019-04-19 23:04:07 +00:00