[Drbd-dev] [PATCH 2/8] target: remove iblock WRITE_SAME passthrough support
Nicholas A. Bellinger
nab at linux-iscsi.org
Wed Apr 12 07:30:41 CEST 2017
On Mon, 2017-04-10 at 18:08 +0200, Christoph Hellwig wrote:
> Use the pscsi driver to support arbitrary command passthrough
The people who are actively using iblock_execute_write_same_direct() are
doing so in the context of ESX VAAI BlockZero, together with
EXTENDED_COPY and COMPARE_AND_WRITE primitives. Just using PSCSI is not
an option for them.
In practice though I've not seen any users of IBLOCK WRITE_SAME for
anything other than VAAI BlockZero, so just using blkdev_issue_zeroout()
when available, and falling back to iblock_execute_write_same() if the
WRITE_SAME buffer contains anything other than zeros should be OK.
How about something like the following below..?
This would bring parity to how blkdev_issue_write_same() works atm wrt
to synchronous bio completions. However, most folks with a raw
make_request or blk-mq backend driver that supports multiple GB/sec of
zero bandwidth end up changing IBLOCK to support asynchronous
REQ_WRITE_SAME completions anyways.
I'd be happy to add support for that using __blkdev_issue_zeroout() once
the basic conversion is in place.
More information about the drbd-dev