diff options
author | Ondrej Kozina <okozina@redhat.com> | 2015-05-05 15:11:50 +0200 |
---|---|---|
committer | Ondrej Kozina <okozina@redhat.com> | 2015-05-05 20:51:27 +0200 |
commit | 991d646354a10e9953fdf0e75cb2a33a81f6ffef (patch) | |
tree | ae47466caca985afb33e51a9e50efabcce87f334 | |
parent | 32527861d02bbd0bd3d0e0adec0f193f1f5eb98b (diff) | |
download | lvm2-991d646354a10e9953fdf0e75cb2a33a81f6ffef.tar.gz |
lvconvert: code cleanup and preps for refactoring
just a code cleanup and preparations for adding
new code required for polldaemon refactoring.
This commit should not have any functional impact.
-rw-r--r-- | tools/lvconvert.c | 17 |
1 files changed, 10 insertions, 7 deletions
diff --git a/tools/lvconvert.c b/tools/lvconvert.c index 357a3ce97..5f5b55147 100644 --- a/tools/lvconvert.c +++ b/tools/lvconvert.c @@ -734,6 +734,7 @@ int lvconvert_poll(struct cmd_context *cmd, struct logical_volume *lv, */ char uuid[sizeof(lv->lvid)]; char lv_full_name[NAME_LEN]; + int is_thin, r; if (dm_snprintf(lv_full_name, sizeof(lv_full_name), "%s/%s", lv->vg->name, lv->name) < 0) { log_error(INTERNAL_ERROR "Name \"%s/%s\" is too long.", lv->vg->name, lv->name); @@ -742,14 +743,16 @@ int lvconvert_poll(struct cmd_context *cmd, struct logical_volume *lv, memcpy(uuid, &lv->lvid, sizeof(lv->lvid)); - if (lv_is_merging_origin(lv)) - return poll_daemon(cmd, lv_full_name, uuid, background, 0, - seg_is_thin_volume(find_snapshot(lv)) ? - &_lvconvert_thin_merge_fns : &_lvconvert_merge_fns, - "Merged"); + if (lv_is_merging_origin(lv)) { + is_thin = seg_is_thin_volume(find_snapshot(lv)); + r = poll_daemon(cmd, lv_full_name, uuid, background, 0, + is_thin ? &_lvconvert_thin_merge_fns : &_lvconvert_merge_fns, + "Merged"); + } else + r = poll_daemon(cmd, lv_full_name, uuid, background, 0, + &_lvconvert_mirror_fns, "Converted"); - return poll_daemon(cmd, lv_full_name, uuid, background, 0, - &_lvconvert_mirror_fns, "Converted"); + return r; } static int _insert_lvconvert_layer(struct cmd_context *cmd, |