summaryrefslogtreecommitdiff
path: root/drivers/md/dm-delay.c
diff options
context:
space:
mode:
authorMike Snitzer <snitzer@redhat.com>2009-07-23 20:30:42 +0100
committerAlasdair G Kergon <agk@redhat.com>2009-07-23 20:30:42 +0100
commit5dea271b6d87bd1d79a59c1d5baac2596a841c37 (patch)
treec85bcee4f90729927285fc282c6df94bf18d023d /drivers/md/dm-delay.c
parenta732c207d19e899845ae47139708af898daaf9fd (diff)
downloadlinux-3.10-5dea271b6d87bd1d79a59c1d5baac2596a841c37.tar.gz
linux-3.10-5dea271b6d87bd1d79a59c1d5baac2596a841c37.tar.bz2
linux-3.10-5dea271b6d87bd1d79a59c1d5baac2596a841c37.zip
dm table: pass correct dev area size to device_area_is_valid
Incorrect device area lengths are being passed to device_area_is_valid(). The regression appeared in 2.6.31-rc1 through commit 754c5fc7ebb417b23601a6222a6005cc2e7f2913. With the dm-stripe target, the size of the target (ti->len) was used instead of the stripe_width (ti->len/#stripes). An example of a consequent incorrect error message is: device-mapper: table: 254:0: sdb too small for target Signed-off-by: Mike Snitzer <snitzer@redhat.com> Signed-off-by: Alasdair G Kergon <agk@redhat.com>
Diffstat (limited to 'drivers/md/dm-delay.c')
-rw-r--r--drivers/md/dm-delay.c4
1 files changed, 2 insertions, 2 deletions
diff --git a/drivers/md/dm-delay.c b/drivers/md/dm-delay.c
index 4e5b843cd4d..ebe7381f47c 100644
--- a/drivers/md/dm-delay.c
+++ b/drivers/md/dm-delay.c
@@ -324,12 +324,12 @@ static int delay_iterate_devices(struct dm_target *ti,
struct delay_c *dc = ti->private;
int ret = 0;
- ret = fn(ti, dc->dev_read, dc->start_read, data);
+ ret = fn(ti, dc->dev_read, dc->start_read, ti->len, data);
if (ret)
goto out;
if (dc->dev_write)
- ret = fn(ti, dc->dev_write, dc->start_write, data);
+ ret = fn(ti, dc->dev_write, dc->start_write, ti->len, data);
out:
return ret;