From ab2d981a97c39fe93a4c958f15ac0592ad36352b Mon Sep 17 00:00:00 2001 From: Dave Wysochanski Date: Wed, 2 Sep 2009 21:26:18 +0000 Subject: [PATCH] Refactor vgsplit - add 'lock_vg_from_first' flag. Introduce 'lock_vg_from_first' flag to retain which vg was locked first. Should be no functional change. Author: Dave Wysochanski --- tools/vgsplit.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/tools/vgsplit.c b/tools/vgsplit.c index 8607548c7..1a9e45e0e 100644 --- a/tools/vgsplit.c +++ b/tools/vgsplit.c @@ -218,6 +218,7 @@ int vgsplit(struct cmd_context *cmd, int argc, char **argv) int existing_vg = 0; int r = ECMD_FAILED; const char *lv_name; + int lock_vg_from_first = 1; if ((arg_count(cmd, name_ARG) + argc) < 3) { log_error("Existing VG, new VG and either physical volumes " @@ -427,7 +428,12 @@ int vgsplit(struct cmd_context *cmd, int argc, char **argv) r = ECMD_PROCESSED; bad: - unlock_and_release_vg(cmd, vg_to, vg_name_to); - unlock_and_release_vg(cmd, vg_from, vg_name_from); + if (lock_vg_from_first) { + unlock_and_release_vg(cmd, vg_to, vg_name_to); + unlock_and_release_vg(cmd, vg_from, vg_name_from); + } else { + unlock_and_release_vg(cmd, vg_from, vg_name_from); + unlock_and_release_vg(cmd, vg_to, vg_name_to); + } return r; }