diff --git a/[refs] b/[refs] index 1b69c7aaca18..87402ee9db92 100644 --- a/[refs] +++ b/[refs] @@ -1,2 +1,2 @@ --- -refs/heads/master: 1a66a08ae82b16eb40705ad112ff28873981af92 +refs/heads/master: f09996c993e256fce4b920588959866998d51250 diff --git a/trunk/drivers/md/dm-thin.c b/trunk/drivers/md/dm-thin.c index 0bb9e646e215..e89f8e7d8a33 100644 --- a/trunk/drivers/md/dm-thin.c +++ b/trunk/drivers/md/dm-thin.c @@ -1828,15 +1828,19 @@ static struct pool *__pool_find(struct mapped_device *pool_md, struct pool *pool = __pool_table_lookup_metadata_dev(metadata_dev); if (pool) { - if (pool->pool_md != pool_md) + if (pool->pool_md != pool_md) { + *error = "metadata device already in use by a pool"; return ERR_PTR(-EBUSY); + } __pool_inc(pool); } else { pool = __pool_table_lookup(pool_md); if (pool) { - if (pool->md_dev != metadata_dev) + if (pool->md_dev != metadata_dev) { + *error = "different pool cannot replace a pool"; return ERR_PTR(-EINVAL); + } __pool_inc(pool); } else {