Revert "loop: use aio to perform io on the underlying file", revising the patch

This reverts commit d8075b3d49d463f12cd8765b1f882b6bb0d5e93b.

Signed-off-by: zwliew <zhaoweiliew@gmail.com>
loop: use aio to perform io on the underlying file (revised)

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 and write_iter methods.  These methods must only be added when
O_DIRECT on bio_vecs is supported.

Signed-off-by: Dave Kleikamp <dave.kleikamp@oracle.com>
Cc: Zach Brown <zab@zabbo.net>

Change-Id: Ie54fd00d6ef3667c05fc0f76d31789c703fd94f5
Signed-off-by: zwliew <zhaoweiliew@gmail.com>