diff options
Diffstat (limited to 'drivers/md/dm.c')
-rw-r--r-- | drivers/md/dm.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/drivers/md/dm.c b/drivers/md/dm.c index 2b53c3841b53..515e6af9bed2 100644 --- a/drivers/md/dm.c +++ b/drivers/md/dm.c | |||
@@ -699,7 +699,7 @@ static void end_io_acct(struct dm_io *io) | |||
699 | true, duration, &io->stats_aux); | 699 | true, duration, &io->stats_aux); |
700 | 700 | ||
701 | /* nudge anyone waiting on suspend queue */ | 701 | /* nudge anyone waiting on suspend queue */ |
702 | if (unlikely(waitqueue_active(&md->wait))) | 702 | if (unlikely(wq_has_sleeper(&md->wait))) |
703 | wake_up(&md->wait); | 703 | wake_up(&md->wait); |
704 | } | 704 | } |
705 | 705 | ||
@@ -1336,7 +1336,11 @@ static int clone_bio(struct dm_target_io *tio, struct bio *bio, | |||
1336 | return r; | 1336 | return r; |
1337 | } | 1337 | } |
1338 | 1338 | ||
1339 | bio_trim(clone, sector - clone->bi_iter.bi_sector, len); | 1339 | bio_advance(clone, to_bytes(sector - clone->bi_iter.bi_sector)); |
1340 | clone->bi_iter.bi_size = to_bytes(len); | ||
1341 | |||
1342 | if (bio_integrity(bio)) | ||
1343 | bio_integrity_trim(clone); | ||
1340 | 1344 | ||
1341 | return 0; | 1345 | return 0; |
1342 | } | 1346 | } |