diff options
author | Dave Wysochanski <dwysocha@redhat.com> | 2009-08-13 17:16:38 +0000 |
---|---|---|
committer | Dave Wysochanski <dwysocha@redhat.com> | 2009-08-13 17:16:38 +0000 |
commit | cdc8e54e3d0ad4ffe0e5ec47b42ff1000cf82d8d (patch) | |
tree | b89837dc8d9f9b093b10db73acec8793f88da9e2 | |
parent | 454bd4dc3bc9756c1e157fb10a37c4c5365f14f0 (diff) | |
download | lvm2-cdc8e54e3d0ad4ffe0e5ec47b42ff1000cf82d8d.tar.gz lvm2-cdc8e54e3d0ad4ffe0e5ec47b42ff1000cf82d8d.tar.xz lvm2-cdc8e54e3d0ad4ffe0e5ec47b42ff1000cf82d8d.zip |
Fix error paths for vgcfgrestore when locking fails.
-rw-r--r-- | WHATS_NEW | 1 | ||||
-rw-r--r-- | tools/vgcfgrestore.c | 4 |
2 files changed, 3 insertions, 2 deletions
@@ -1,5 +1,6 @@ Version 2.02.52 - ================================= + Fix vgcfgrestore error paths when locking fails (2.02.49). Added configure --enable-clogd to conditionally build the cluster log daemon. Make lvchange --refresh only take a read lock on volume group. Fix bug where non-blocking file locks could be granted in error. diff --git a/tools/vgcfgrestore.c b/tools/vgcfgrestore.c index 0e99f1c8..dda22bea 100644 --- a/tools/vgcfgrestore.c +++ b/tools/vgcfgrestore.c @@ -45,12 +45,12 @@ int vgcfgrestore(struct cmd_context *cmd, int argc, char **argv) if (!lock_vol(cmd, vg_name, LCK_VG_WRITE)) { log_error("Unable to lock volume group %s", vg_name); - unlock_vg(cmd, VG_ORPHANS); return ECMD_FAILED; } if (!lock_vol(cmd, VG_ORPHANS, LCK_VG_WRITE)) { log_error("Unable to lock orphans"); + unlock_vg(cmd, vg_name); return ECMD_FAILED; } @@ -58,8 +58,8 @@ int vgcfgrestore(struct cmd_context *cmd, int argc, char **argv) backup_restore_from_file(cmd, vg_name, arg_str_value(cmd, file_ARG, "")) : backup_restore(cmd, vg_name))) { - unlock_vg(cmd, vg_name); unlock_vg(cmd, VG_ORPHANS); + unlock_vg(cmd, vg_name); log_error("Restore failed."); return ECMD_FAILED; } |