diff --git a/[refs] b/[refs] index e8fad5d1c088..df512f244fe4 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 52b1fd5a27c625c78373e024bf570af3c9d44a79 +refs/heads/master: 433bcac5645508b71eab2710b6817c3ef937eba8 diff --git a/trunk/drivers/md/dm-linear.c b/trunk/drivers/md/dm-linear.c index 79fb53e51c70..ecbb17421da4 100644 --- a/trunk/drivers/md/dm-linear.c +++ b/trunk/drivers/md/dm-linear.c @@ -53,6 +53,7 @@ static int linear_ctr(struct dm_target *ti, unsigned int argc, char **argv) goto bad; } + ti->num_flush_requests = 1; ti->private = lc; return 0; @@ -81,7 +82,8 @@ static void linear_map_bio(struct dm_target *ti, struct bio *bio) struct linear_c *lc = ti->private; bio->bi_bdev = lc->dev->bdev; - bio->bi_sector = linear_map_sector(ti, bio->bi_sector); + if (bio_sectors(bio)) + bio->bi_sector = linear_map_sector(ti, bio->bi_sector); } static int linear_map(struct dm_target *ti, struct bio *bio,