From 7db5052c5d820fd5779635366f1d6a2cb77de472 Mon Sep 17 00:00:00 2001 From: Mikulas Patocka Date: Mon, 22 Jun 2009 10:12:23 +0100 Subject: [PATCH] --- yaml --- r: 154254 b: refs/heads/master c: c927259e34e518d913d86f51c71b786a513f94d6 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/md/dm-delay.c | 6 ++++-- 2 files changed, 5 insertions(+), 3 deletions(-) diff --git a/[refs] b/[refs] index fe30f40220d4..77d44addaeda 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 647c7db14ef9cacc4ccb3683e206b61f0de6dc2b +refs/heads/master: c927259e34e518d913d86f51c71b786a513f94d6 diff --git a/trunk/drivers/md/dm-delay.c b/trunk/drivers/md/dm-delay.c index 559dbb52bc85..8ad8a9044bbf 100644 --- a/trunk/drivers/md/dm-delay.c +++ b/trunk/drivers/md/dm-delay.c @@ -197,6 +197,7 @@ static int delay_ctr(struct dm_target *ti, unsigned int argc, char **argv) mutex_init(&dc->timer_lock); atomic_set(&dc->may_delay, 1); + ti->num_flush_requests = 1; ti->private = dc; return 0; @@ -278,8 +279,9 @@ static int delay_map(struct dm_target *ti, struct bio *bio, if ((bio_data_dir(bio) == WRITE) && (dc->dev_write)) { bio->bi_bdev = dc->dev_write->bdev; - bio->bi_sector = dc->start_write + - (bio->bi_sector - ti->begin); + if (bio_sectors(bio)) + bio->bi_sector = dc->start_write + + (bio->bi_sector - ti->begin); return delay_bio(dc, dc->write_delay, bio); }