From 2b14f72fa54f4052755c65547d0c4ef7de6fcfe9 Mon Sep 17 00:00:00 2001 From: Mike Christie Date: Fri, 1 Mar 2013 22:45:48 +0000 Subject: [PATCH] --- yaml --- r: 360320 b: refs/heads/master c: 87eb5b21d92a92ac2da3163039d62df88c2b8422 h: refs/heads/master v: v3 --- [refs] | 2 +- trunk/drivers/md/dm.c | 12 +++++++----- 2 files changed, 8 insertions(+), 6 deletions(-) diff --git a/[refs] b/[refs] index 0c2448f98ee2..4ea7f38e2bd2 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 23cb21092eb9dcec9d3604b68d95192b79915890 +refs/heads/master: 87eb5b21d92a92ac2da3163039d62df88c2b8422 diff --git a/trunk/drivers/md/dm.c b/trunk/drivers/md/dm.c index 0890abd9dffa..1016c14c28a0 100644 --- a/trunk/drivers/md/dm.c +++ b/trunk/drivers/md/dm.c @@ -2446,7 +2446,7 @@ static void dm_queue_flush(struct mapped_device *md) */ struct dm_table *dm_swap_table(struct mapped_device *md, struct dm_table *table) { - struct dm_table *live_map, *map = ERR_PTR(-EINVAL); + struct dm_table *live_map = NULL, *map = ERR_PTR(-EINVAL); struct queue_limits limits; int r; @@ -2469,10 +2469,12 @@ struct dm_table *dm_swap_table(struct mapped_device *md, struct dm_table *table) dm_table_put(live_map); } - r = dm_calculate_queue_limits(table, &limits); - if (r) { - map = ERR_PTR(r); - goto out; + if (!live_map) { + r = dm_calculate_queue_limits(table, &limits); + if (r) { + map = ERR_PTR(r); + goto out; + } } map = __bind(md, table, &limits);