Trond Myklebust 031d73ed76 NFS: Fix O_DIRECT accounting of number of bytes read/written
When a series of O_DIRECT reads or writes are truncated, either due to
eof or due to an error, then we should return the number of contiguous
bytes that were received/sent starting at the offset specified by the
application.

Currently, we are failing to correctly check contiguity, and so we're
failing the generic/465 in xfstests when the race between the read
and write RPCs causes the file to get extended while the 2 reads are
outstanding. If the first read RPC call wins the race and returns with
eof set, we should treat the second read RPC as being truncated.

Reported-by: Su Yanjun <suyj.fnst@cn.fujitsu.com>
Fixes: 1ccbad9f9f9bd ("nfs: fix DIO good bytes calculation")
Cc: stable@vger.kernel.org # 4.1+
Signed-off-by: Trond Myklebust <trond.myklebust@hammerspace.com>
Signed-off-by: Anna Schumaker <Anna.Schumaker@Netapp.com>
2019-10-09 11:45:59 -04:00
..
2019-09-27 15:10:34 -07:00
2019-09-30 10:25:24 -07:00
2019-09-25 10:21:13 -07:00
2019-09-19 09:42:37 -07:00
2019-09-19 13:09:28 -07:00
2019-07-12 17:37:53 -07:00
\n
2019-09-21 13:53:34 -07:00
2019-09-29 19:25:39 -07:00
2019-09-21 14:26:33 -07:00
2019-09-27 15:54:24 -07:00
2019-09-19 09:42:37 -07:00
2019-09-19 09:42:37 -07:00
2019-07-03 17:52:09 -04:00
2019-09-27 17:00:27 -07:00
2019-09-27 17:00:27 -07:00
2019-09-19 10:21:35 -07:00
2019-08-30 08:11:25 -07:00
2019-09-19 09:42:37 -07:00
2019-09-26 11:36:20 -07:00
2019-09-18 17:35:20 -07:00
2019-07-15 21:20:52 -07:00
2019-04-08 18:21:02 -05:00
2019-08-07 21:51:47 -04:00
2019-03-08 14:48:40 -08:00
2019-09-27 12:08:24 -07:00
2019-09-18 16:59:14 -07:00
2019-09-27 17:00:27 -07:00
2019-09-18 16:59:14 -07:00
2019-09-25 09:55:59 -07:00
2019-08-01 20:51:23 +02:00
2019-09-25 17:51:41 -07:00