Re: [PATCH 25/27] block: remove the discard_zeroes_data flag
From: Nicholas A. Bellinger <hidden>
Date: 2017-05-05 03:10:22
Also in:
dm-devel, linux-raid, linux-scsi
On Wed, 2017-05-03 at 10:33 -0400, Mike Snitzer wrote:
On Tue, May 02 2017 at 11:33pm -0400, Nicholas A. Bellinger [off-list ref] wrote:quoted
On Tue, 2017-05-02 at 09:23 +0200, hch@lst.de wrote:quoted
On Tue, May 02, 2017 at 12:16:13AM -0700, Nicholas A. Bellinger wrote:quoted
Or, another options is use bdev_write_zeroes_sectors() to determine when dev_attrib->unmap_zeroes_data should be set.Yes, that in combination with your patch to use bdev_write_zeroes_sectors for zeroing from write same seems like the right fix.The larger target/iblock conversion patch looks like post v4.12 material at this point, so to avoid breakage wrt to existing LBPRZ behavior, I'll plan to push the following patch post -rc1.diff --git a/drivers/target/target_core_device.c b/drivers/target/target_core_device.c index d2f089c..e7caf78 100644 --- a/drivers/target/target_core_device.c +++ b/drivers/target/target_core_device.c@@ -851,7 +851,7 @@ bool target_configure_unmap_from_queue(struct se_dev_attrib *attrib, attrib->unmap_granularity = q->limits.discard_granularity / block_size; attrib->unmap_granularity_alignment = q->limits.discard_alignment / block_size; - attrib->unmap_zeroes_data = 0; + attrib->unmap_zeroes_data = (q->limits.max_write_zeroes_sectors); return true; } EXPORT_SYMBOL(target_configure_unmap_from_queue);Completely a nit but: why the extra parenthesis?
dev_attrib->unmap_zeros_data is only compared as a bool.