AIO interface should prefer AIO operations over iter_op Signed-off-by: Tadeusz Struk <tadeusz.struk@xxxxxxxxx> --- fs/aio.c | 8 ++++++-- 1 file changed, 6 insertions(+), 2 deletions(-) diff --git a/fs/aio.c b/fs/aio.c index f8e52a1..389f4dd 100644 --- a/fs/aio.c +++ b/fs/aio.c @@ -1449,11 +1449,15 @@ rw_common: if (rw == WRITE) file_start_write(file); - if (iter_op) { + if (rw_op) { + ret = rw_op(req, iovec, nr_segs, req->ki_pos); + } else if (iter_op) { iov_iter_init(&iter, rw, iovec, nr_segs, req->ki_nbytes); ret = iter_op(req, &iter); } else { - ret = rw_op(req, iovec, nr_segs, req->ki_pos); + if (iovec != inline_vecs) + kfree(iovec); + return -EINVAL; } if (rw == WRITE) -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html