diff options
author | Zdenek Kabelac <zkabelac@redhat.com> | 2015-12-09 13:52:47 +0100 |
---|---|---|
committer | Zdenek Kabelac <zkabelac@redhat.com> | 2015-12-10 21:01:24 +0100 |
commit | cd8e95d9337207a8f87a6f68dc9b1db7e3828bbf (patch) | |
tree | 682c566fc797425cce0389e06aec8407b3713a4d | |
parent | bf4b74c5eb55cdb77c8a7e7e697fb2d43b39c718 (diff) | |
download | lvm2-cd8e95d9337207a8f87a6f68dc9b1db7e3828bbf.tar.gz |
lvrename: always allow to rename pools
Since we mark cache-pool as 'hidden/private' while it is in-use,
we may still allow user to change it's name.
It should not cause any harm and user may prefer better naming
for a cache-pool in use.
-rw-r--r-- | lib/metadata/lv_manip.c | 10 |
1 files changed, 7 insertions, 3 deletions
diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c index 6a93a76f2..76e7895ac 100644 --- a/lib/metadata/lv_manip.c +++ b/lib/metadata/lv_manip.c @@ -4230,8 +4230,12 @@ int lv_rename_update(struct cmd_context *cmd, struct logical_volume *lv, struct volume_group *vg = lv->vg; struct lv_names lv_names = { .old = lv->name }; - /* rename is not allowed on sub LVs */ - if (!lv_is_visible(lv)) { + /* + * rename is not allowed on sub LVs except for pools + * (thin pool is 'visible', but cache may not) + */ + if (!lv_is_pool(lv) && + !lv_is_visible(lv)) { log_error("Cannot rename internal LV \"%s\".", lv->name); return 0; } @@ -4265,7 +4269,7 @@ int lv_rename_update(struct cmd_context *cmd, struct logical_volume *lv, if (lv_is_cow(lv)) lv = origin_from_cow(lv); - if (update_mda && !lv_update_and_reload(lv)) + if (update_mda && !lv_update_and_reload((struct logical_volume *)lv_lock_holder(lv))) return_0; return 1; |