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
..
2018-08-16 22:04:00 +00:00
2018-08-16 22:04:00 +00:00
2019-06-21 21:44:31 +00:00
2018-12-06 09:22:35 +00:00
2017-10-31 00:07:04 +00:00
2019-06-13 05:05:58 +00:00
2019-05-21 04:11:16 +00:00
2018-08-16 22:04:00 +00:00
2017-11-17 19:25:39 +00:00