From e6b5eb88f23701446653ed616b54bec15c54d42d Mon Sep 17 00:00:00 2001 From: Ondrej Kozina Date: Tue, 19 May 2015 17:04:29 +0200 Subject: [PATCH] polldaemon.c: do not report error when LV not found currently in wait_for_single_lv() fn trying to poll missing pvmove LV is considered success. It may have been already finished by another instance of polldaemon. either by another forked off polldaemon or by lvmpolld. Let's try to handle the mirror conversion and snapshot merge the same way. --- tools/polldaemon.c | 18 ++++++++---------- 1 file changed, 8 insertions(+), 10 deletions(-) diff --git a/tools/polldaemon.c b/tools/polldaemon.c index 9f4fc94cc..fe2e7fdda 100644 --- a/tools/polldaemon.c +++ b/tools/polldaemon.c @@ -160,20 +160,18 @@ int wait_for_single_lv(struct cmd_context *cmd, struct poll_operation_id *id, if (lv && parms->lv_type && !(lv->status & parms->lv_type)) lv = NULL; - if (!lv && parms->lv_type == PVMOVE) { - log_print_unless_silent("%s: No pvmove in progress - already finished or aborted.", - id->display_name); + if (!lv) { + if (parms->lv_type == PVMOVE) + log_print_unless_silent("%s: No pvmove in progress - already finished or aborted.", + id->display_name); + else + log_print_unless_silent("Can't find LV in %s for %s.", + vg->name, id->display_name); + unlock_and_release_vg(cmd, vg, vg->name); return 1; } - if (!lv) { - log_error("ABORTING: Can't find LV in %s for %s.", - vg->name, id->display_name); - unlock_and_release_vg(cmd, vg, vg->name); - return 0; - } - /* * If the LV is not active locally, the kernel cannot be * queried for its status. We must exit in this case.