diff options
author | Wu Guanghao <wuguanghao3@huawei.com> | 2020-09-11 17:42:16 +0800 |
---|---|---|
committer | Zdenek Kabelac <zkabelac@redhat.com> | 2020-09-11 21:48:37 +0200 |
commit | 7db124774a2b79105e7c9c6b42df88219fc070ca (patch) | |
tree | 8c74d674ec62c99af729fae178f914b281a6f745 | |
parent | 223b75ee91cdd820d384ce281780c36a9e055b76 (diff) | |
download | lvm2-7db124774a2b79105e7c9c6b42df88219fc070ca.tar.gz |
lvconvert: check if LV has snapshot type
Cow may not be a snapshot type, the return value of origin_from_cow(cow) may be NULL
Signed-off-by: Wu Guanghao <wuguanghao3@huawei.com>
Signed-off-by: Zhiqiang Liu <liuzhiqiang26@huawei.com>
-rw-r--r-- | tools/lvconvert.c | 5 |
1 files changed, 5 insertions, 0 deletions
diff --git a/tools/lvconvert.c b/tools/lvconvert.c index d420eb52f..6ab8f6d2c 100644 --- a/tools/lvconvert.c +++ b/tools/lvconvert.c @@ -1825,6 +1825,11 @@ static int _lvconvert_splitsnapshot(struct cmd_context *cmd, struct logical_volu struct volume_group *vg = cow->vg; const char *cow_name = display_lvname(cow); + if (!lv_is_snapshot(cow)) { + log_error(INTERNAL_ERROR "Cow volume %s is not a snapshot.", cow_name); + return 0; + } + if (lv_is_virtual_origin(origin_from_cow(cow))) { log_error("Unable to split off snapshot %s with virtual origin.", cow_name); return 0; |