block: add support for passing back a bio for non-polled dio
We support cached bio allocations and frees from polled IO, since it's
trivial to do when we know IRQs are not going to be involved. However,
some issuers of non-polled dio always complete from task context. That
means we can support bio caching for that as well.
Add a IOCB_PUT_CACHE flag that allows to pass back a bio through the
kiocb, passing ownership of that bio to the kiocb completion handling.
Signed-off-by: Jens Axboe <axboe@kernel.dk>