]> git.karo-electronics.de Git - karo-tx-linux.git/commit
loop: use aio to perform io on the underlying file
authorZach Brown <zab@zabbo.net>
Fri, 18 Oct 2013 15:36:53 +0000 (10:36 -0500)
committerDave Kleikamp <dave.kleikamp@oracle.com>
Fri, 18 Oct 2013 15:56:38 +0000 (10:56 -0500)
commit2486740b52fd47640a23d371847bd7fb6cf3c0e3
treee63a422f64db67f960cfc2375d3aeb9532da361c
parentccb002a080fd1bf848d0b52703e4702041c05e64
loop: use aio to perform io on the underlying file

This uses the new kernel aio interface to process loopback IO by
submitting concurrent direct aio.  Previously loop's IO was serialized
by synchronous processing in a thread.

The aio operations specify the memory for the IO with the bio_vec arrays
directly instead of mappings of the pages.

The use of aio operations is enabled when the backing file supports the
read_iter, write_iter and direct_IO methods.

Signed-off-by: Zach Brown <zab@zabbo.net>
Signed-off-by: Dave Kleikamp <dave.kleikamp@oracle.com>
Tested-by: Sedat Dilek <sedat.dilek@gmail.com>
drivers/block/loop.c
include/uapi/linux/loop.h