target/iblock: Convert WRITE_SAME to blkdev_issue_zeroout
authorNicholas Bellinger <nab@linux-iscsi.org>
Wed, 12 Apr 2017 05:21:47 +0000 (22:21 -0700)
committerNicholas Bellinger <nab@linux-iscsi.org>
Fri, 9 Jun 2017 06:26:37 +0000 (23:26 -0700)
commit2237498f0b5c74768f688ebaf16eab2c708d5fdb
treed914c4403fc37ad163cce5de9a1ae6f969458150
parent464fd6419c68bc6b1697e02f46b6d3dd57dfed28
target/iblock: Convert WRITE_SAME to blkdev_issue_zeroout

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.

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.

(Hook up max_write_zeroes_sectors to signal LBPRZ feature bit in
 target_configure_unmap_from_queue - nab)

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Cc: Christoph Hellwig <hch@lst.de>
Cc: Mike Christie <mchristi@redhat.com>
Cc: Hannes Reinecke <hare@suse.com>
Cc: Jens Axboe <axboe@fb.com>
Signed-off-by: Nicholas Bellinger <nab@linux-iscsi.org>
drivers/target/target_core_device.c
drivers/target/target_core_iblock.c