Now that we are using REQ_OP_WRITE_ZEROES for all zeroing needs in the kernel there is very little use left for REQ_OP_WRITE_SAME. We only have two callers left, and both just export optional protocol features to remote systems: DRBD and the target code. For the target code the only real use case was zeroing offload, which is kept with this series, and for DRBD I suspect the same based on the usage. git://git.infradead.org/users/hch/block.git delete-write-same Gitweb: http://git.infradead.org/users/hch/block.git/shortlog/refs/heads/delete-write-same Changes since v2: - split up - rebased ontop of five years of kernel change, including the totally pointless addition of REQ_OP_WRITE_SAME in rnbd Changes from RFC: - add zeroing offload for the SCSI target. Diffstat: block/blk-core.c | 13 ----- block/blk-lib.c | 91 ------------------------------------- block/blk-merge.c | 40 ---------------- block/blk-settings.c | 16 ------ block/blk-sysfs.c | 8 --- block/blk-zoned.c | 1 block/blk.h | 1 block/bounce.c | 3 - drivers/block/drbd/drbd_main.c | 31 +----------- drivers/block/drbd/drbd_nl.c | 72 ----------------------------- drivers/block/drbd/drbd_receiver.c | 47 ++----------------- drivers/block/drbd/drbd_req.c | 1 drivers/block/drbd/drbd_worker.c | 5 -- drivers/block/rnbd/rnbd-clt.c | 7 -- drivers/block/rnbd/rnbd-clt.h | 1 drivers/block/rnbd/rnbd-proto.h | 6 -- drivers/block/rnbd/rnbd-srv.c | 3 - drivers/md/dm-core.h | 1 drivers/md/dm-crypt.c | 1 drivers/md/dm-ebs-target.c | 1 drivers/md/dm-io.c | 22 -------- drivers/md/dm-linear.c | 1 drivers/md/dm-mpath.c | 1 drivers/md/dm-rq.c | 3 - drivers/md/dm-stripe.c | 4 - drivers/md/dm-table.c | 29 ----------- drivers/md/dm-zone.c | 4 - drivers/md/dm.c | 15 ------ drivers/md/md-linear.c | 1 drivers/md/md-multipath.c | 1 drivers/md/md.h | 7 -- drivers/md/raid0.c | 2 drivers/md/raid1.c | 4 - drivers/md/raid10.c | 1 drivers/md/raid5.c | 1 drivers/scsi/cxlflash/vlun.c | 4 - drivers/scsi/sd.c | 75 ++---------------------------- drivers/scsi/sd_zbc.c | 2 include/linux/bio.h | 3 - include/linux/blk_types.h | 2 include/linux/blkdev.h | 19 ------- include/linux/device-mapper.h | 6 -- kernel/trace/blktrace.c | 1 43 files changed, 30 insertions(+), 527 deletions(-)