diff options
author | Jens Axboe <axboe@fb.com> | 2016-11-21 15:08:46 -0700 |
---|---|---|
committer | Jens Axboe <axboe@fb.com> | 2016-11-21 15:08:46 -0700 |
commit | e4a60d6676b6d9573d4ad29dc0cf4026c3e479f1 (patch) | |
tree | 04ea7bdc603a6237d2cab6dee869b70bb026d6a1 /block | |
parent | 03c340e27980ff5db8af73550c3721dbd2785dc5 (diff) | |
parent | 778889d8412e36e666b1e4ce108373613c84b428 (diff) | |
download | linux-next-e4a60d6676b6d9573d4ad29dc0cf4026c3e479f1.tar.gz |
Merge branch 'for-4.10/block' into for-next
Diffstat (limited to 'block')
-rw-r--r-- | block/blk-core.c | 7 |
1 files changed, 6 insertions, 1 deletions
diff --git a/block/blk-core.c b/block/blk-core.c index 473dd698effd..6c4a425690fc 100644 --- a/block/blk-core.c +++ b/block/blk-core.c @@ -1787,7 +1787,12 @@ static inline void blk_partition_remap(struct bio *bio) { struct block_device *bdev = bio->bi_bdev; - if (bio_sectors(bio) && bdev != bdev->bd_contains) { + /* + * Zone reset does not include bi_size so bio_sectors() is always 0. + * Include a test for the reset op code and perform the remap if needed. + */ + if (bdev != bdev->bd_contains && + (bio_sectors(bio) || bio_op(bio) == REQ_OP_ZONE_RESET)) { struct hd_struct *p = bdev->bd_part; bio->bi_iter.bi_sector += p->start_sect; |