[Drbd-dev] RFC: always use REQ_OP_WRITE_ZEROES for zeroing offload
Christoph Hellwig
hch at lst.de
Thu Mar 23 15:33:18 CET 2017
This series makes REQ_OP_WRITE_ZEROES the only zeroing offload
supported by the block layer, and switches existing implementations
of REQ_OP_DISCARD that correctly set discard_zeroes_data to it,
removes incorrect discard_zeroes_data, and also switches WRITE SAME
based zeroing in SCSI to this new method.
I've done testing with ATA, SCSI and NVMe setups, but there are
a few things that will need more attention:
- what is dm-kcopyd doing with the current WRITE SAME usage
that gets multiple biovecs? Can we fix it up in any way.
- what are we going to do with discards through parity raid?
I suspect we should either just disable it for now entirely
or modify raid5.c to issue REQ_OP_WRITE_ZEROES to the underlying
devices. But I need someone with such a setup to test it.
- The DRBD code in this area was very odd, and will need an
audit from the maintainers.
Note that this series needs to be applied on top of the
"support ranges TRIM for libata" series.
A git tree is also avaiable at:
git://git.infradead.org/users/hch/block.git discard-rework
Gitweb:
http://git.infradead.org/users/hch/block.git/shortlog/refs/heads/discard-rework
More information about the drbd-dev
mailing list