freebsd-dev/sys/fs/fuse
Alan Somers aef22f2d75 fusefs: correctly handle short reads
A fuse server may return a short read for three reasons:

* The file is opened with FOPEN_DIRECT_IO.  In this case, the short read
  should be returned directly to userland.  We already handled this case
  correctly.

* The file was truncated server-side, and the read hit EOF.  In this case,
  the kernel should update the file size.  Fixed in the case of VOP_READ.
  Fixing this for VOP_GETPAGES is TODO.

* The file is opened in writeback mode, there are dirty buffers past what
  the server thinks is the file's EOF, and the read hit what the server
  thinks is the file's EOF.  In this case, the client is trying to read a
  hole, and should zero-fill it.  We already handled this case, and I added
  a test for it.

Sponsored by:	The FreeBSD Foundation
2019-06-21 21:44:31 +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: correctly handle short reads 2019-06-21 21:44:31 +00:00
fuse_io.h fusefs: fix a deadlock in VOP_PUTPAGES 2019-04-26 19:47: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: implement VOP_BMAP 2019-06-20 17:08:21 +00:00
fuse.h fusefs: reap dead code 2019-04-19 23:04:07 +00:00