]> git-server-git.apps.pok.os.sepia.ceph.com Git - ceph-client.git/commitdiff
netfs: fix sense of DIO test on short read
authorJeff Layton <jlayton@kernel.org>
Tue, 17 May 2022 22:28:09 +0000 (18:28 -0400)
committerJeff Layton <jlayton@kernel.org>
Wed, 18 May 2022 14:58:53 +0000 (10:58 -0400)
The sense of this test is reversed. There's nothing that prevents
userland from requesting a DIO read that is longer than the available
data. Conversely, we don't expect a buffered read to be short unless it
hits the EOF.

Suggested-by: David Howells <dhowells@redhat.com>
Signed-off-by: Jeff Layton <jlayton@kernel.org>
fs/netfs/io.c

index e5a15a924fc7bf2e3fc0e61773b8d31d6e2d3d67..8188d43e8044fc8ea0f0efe1a1af02f16fba954f 100644 (file)
@@ -728,7 +728,7 @@ ssize_t netfs_begin_read(struct netfs_io_request *rreq, bool sync)
 
                ret = rreq->error;
                if (ret == 0 && rreq->submitted < rreq->len &&
-                   rreq->origin == NETFS_DIO_READ) {
+                   rreq->origin != NETFS_DIO_READ) {
                        trace_netfs_failure(rreq, NULL, ret, netfs_fail_short_read);
                        ret = -EIO;
                }