[lvm-devel] master - vgcfgrestore: rescan to reenable lvmetad on error path
David Teigland
teigland at fedoraproject.org
Tue Jun 21 16:43:06 UTC 2016
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=6c269e639a121329fc035685f944816a763b23cf
Commit: 6c269e639a121329fc035685f944816a763b23cf
Parent: f96de674905cd9f109cd19e03ba5e92ac84104b8
Author: David Teigland <teigland at redhat.com>
AuthorDate: Tue Jun 21 11:40:42 2016 -0500
Committer: David Teigland <teigland at redhat.com>
CommitterDate: Tue Jun 21 11:40:42 2016 -0500
vgcfgrestore: rescan to reenable lvmetad on error path
In commit 6ae22125, vgcfgrestore began disabling lvmetad
while running, and rescanned to enable it again at the end,
but missed the rescanning/enabling in the error case.
---
tools/vgcfgrestore.c | 11 ++++++++---
1 files changed, 8 insertions(+), 3 deletions(-)
diff --git a/tools/vgcfgrestore.c b/tools/vgcfgrestore.c
index 54e382c..77c007c 100644
--- a/tools/vgcfgrestore.c
+++ b/tools/vgcfgrestore.c
@@ -20,6 +20,7 @@ int vgcfgrestore(struct cmd_context *cmd, int argc, char **argv)
{
const char *vg_name = NULL;
int lvmetad_rescan = 0;
+ int ret;
if (argc == 1) {
vg_name = skip_dev_dir(cmd, argv[0], NULL);
@@ -83,20 +84,24 @@ int vgcfgrestore(struct cmd_context *cmd, int argc, char **argv)
unlock_vg(cmd, VG_ORPHANS);
unlock_vg(cmd, vg_name);
log_error("Restore failed.");
- return ECMD_FAILED;
+ ret = ECMD_FAILED;
+ goto rescan;
}
+ ret = ECMD_PROCESSED;
log_print_unless_silent("Restored volume group %s", vg_name);
unlock_vg(cmd, VG_ORPHANS);
unlock_vg(cmd, vg_name);
-
+rescan:
if (lvmetad_rescan) {
if (!lvmetad_connect(cmd)) {
log_warn("WARNING: Failed to connect to lvmetad.");
log_warn("WARNING: Update lvmetad with pvscan --cache.");
goto out;
}
+ if (!refresh_filters(cmd))
+ stack;
if (!lvmetad_pvscan_all_devs(cmd, 1)) {
log_warn("WARNING: Failed to scan devices.");
log_warn("WARNING: Update lvmetad with pvscan --cache.");
@@ -104,5 +109,5 @@ int vgcfgrestore(struct cmd_context *cmd, int argc, char **argv)
}
}
out:
- return ECMD_PROCESSED;
+ return ret;
}
More information about the lvm-devel
mailing list