Dave confirmed Jeff's suspicion in [1]:

> That wants to be rw_op = do_aio_write in the else clause.  How did you
> test this patch set?

Yep, that's certainly a bug. I concentrated on testing on loop mounts,
running some fio and ltp testcases, but I'm at a loss to explain how
things seem to work as well as they do. Let's see how where fixing this
leads.

This is a fixup to commit daf0f6142dd5 ("fs: use read_iter and write_iter
rather than aio_read and aio_write") from Dave Kleiklamp's GIT tree in [2].

[1] http://www.spinics.net/lists/linux-fsdevel/msg61587.html
[2] https://github.com/kleikamp/linux-shaggy/commits/loop_2013_01_04

Cc: Dave Kleikamp <dave.kleik...@oracle.com>
Cc: Jeff Moyer <jmo...@redhat.com>
Cc: Alexander Viro <v...@zeniv.linux.org.uk>
Cc: linux-fsde...@vger.kernel.org
Signed-off-by: Sedat Dilek <sedat.di...@gmail.com>
---
 fs/aio.c | 2 +-
 1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/fs/aio.c b/fs/aio.c
index 08f550a..9635e7a 100644
--- a/fs/aio.c
+++ b/fs/aio.c
@@ -1320,7 +1320,7 @@ static ssize_t aio_rw_vect_retry(struct kiocb *iocb)
                rw_op = do_aio_read;
                opcode = IOCB_CMD_PREADV;
        } else {
-               rw_op = do_aio_read;
+               rw_op = do_aio_write;
                opcode = IOCB_CMD_PWRITEV;
        }
 
-- 
1.8.1.1

--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
Please read the FAQ at  http://www.tux.org/lkml/

Reply via email to