Check for -EFAULT instead of wrapping the check in an ret < 0 block.
Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Reviewed-by: Christian Brauner <brauner@kernel.org>
Reviewed-by: David Howells <dhowells@redhat.com>
Link: https://lore.kernel.org/r/20230614140341.521331-3-hch@lst.de
Signed-off-by: Jens Axboe <axboe@kernel.dk>
        if (ret > 0) {
                keep = DIV_ROUND_UP(ret, PAGE_SIZE);
                *ppos = kiocb.ki_pos;
-       } else if (ret < 0) {
-               /*
-                * callers of ->splice_read() expect -EAGAIN on
-                * "can't put anything in there", rather than -EFAULT.
-                */
-               if (ret == -EFAULT)
-                       ret = -EAGAIN;
        }
 
+       /*
+        * Callers of ->splice_read() expect -EAGAIN on "can't put anything in
+        * there", rather than -EFAULT.
+        */
+       if (ret == -EFAULT)
+               ret = -EAGAIN;
+
        /* Free any pages that didn't get touched at all. */
        if (keep < npages)
                release_pages(pages + keep, npages - keep);