summary refs log tree commit diff
path: root/drivers/block/drbd/drbd_req.h
diff options
context:
space:
mode:
authorChristoph Hellwig <hch@lst.de>2016-07-19 11:23:33 +0200
committerJens Axboe <axboe@fb.com>2016-07-20 17:35:20 -0600
commite950fdf71c9b4a6b63b58fed78956a96cc907402 (patch)
treeeadcf71a0abf034caaab5b019fe8f290df7fbc14 /drivers/block/drbd/drbd_req.h
parentb09dcf585df959cf26270e65941ea1f79a1345aa (diff)
downloadlinux-e950fdf71c9b4a6b63b58fed78956a96cc907402.tar.gz
block: introduce BLKDEV_DISCARD_ZERO to fix zeroout
Currently blkdev_issue_zeroout cascades down from discards (if the driver
guarantees that discards zero data), to WRITE SAME and then to a loop
writing zeroes.  Unfortunately we ignore run-time EOPNOTSUPP errors in the
block layer blkdev_issue_discard helper to work around DM volumes that
may have mixed discard support underneath.

This patch intoroduces a new BLKDEV_DISCARD_ZERO flag to
blkdev_issue_discard that indicates we are called for zeroing operation.
This allows both to ignore the EOPNOTSUPP hack and actually consolidating
the discard_zeroes_data check into the function.

Signed-off-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Martin K. Petersen <martin.petersen@oracle.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
Diffstat (limited to 'drivers/block/drbd/drbd_req.h')
0 files changed, 0 insertions, 0 deletions