dm: update original bio sector on Zone Append
authorJohannes Thumshirn <johannes.thumshirn@wdc.com>
Fri, 19 Jun 2020 06:59:04 +0000 (15:59 +0900)
committerMike Snitzer <snitzer@redhat.com>
Fri, 19 Jun 2020 16:25:58 +0000 (12:25 -0400)
commit415c79e13b17ce5f0a0815bab4d584f75f4d1171
treefe347fdb7138a76c3d931e58b031cd79e04cd523
parentb38c0ad57f8e7810f2d994f49dab4ccb129cf31c
dm: update original bio sector on Zone Append

Naohiro reported that issuing zone-append bios to a zoned block device
underneath a dm-linear device does not work as expected.

This because we forgot to reverse-map the sector the device wrote to the
original bio.

For zone-append bios, get the offset in the zone of the written sector
from the clone bio and add that to the original bio's sector position.

Fixes: 0512a75b98f8 ("block: Introduce REQ_OP_ZONE_APPEND")
Cc: stable@vger.kernel.org
Reported-by: Naohiro Aota <Naohiro.Aota@wdc.com>
Signed-off-by: Johannes Thumshirn <johannes.thumshirn@wdc.com>
Reviewed-by: Damien Le Moal <damien.lemoal@wdc.com>
Signed-off-by: Mike Snitzer <snitzer@redhat.com>
drivers/md/dm.c