]> 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, 14 Jun 2013 20:54:19 +0000 (15:54 -0500)
committerDave Kleikamp <dave.kleikamp@oracle.com>
Fri, 9 Aug 2013 21:43:37 +0000 (16:43 -0500)
commit60360803f553be66708fd06565d9b45388a3b33e
tree143bacc06bcfe85602b02ac8ec69f430954aeb93
parenta4a51d395827b4c4d8d68bd8708dd386c6cc694e
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: Dave Kleikamp <dave.kleikamp@oracle.com>
Cc: Zach Brown <zab@zabbo.net>
drivers/block/loop.c
include/uapi/linux/loop.h