summaryrefslogtreecommitdiffstats
path: root/daemons/clvmd/clvmd-command.c
diff options
context:
space:
mode:
authorMilan Broz <mbroz@redhat.com>2009-04-22 09:39:45 +0000
committerMilan Broz <mbroz@redhat.com>2009-04-22 09:39:45 +0000
commitdfbc015c6954249d9075b42ae3dc8de2045200ae (patch)
treef8505069aea51ba926393fbaa2b6da45b2fd3acc /daemons/clvmd/clvmd-command.c
parente5656d86d2b6c2986b506df0bf05534ffb810c84 (diff)
downloadlvm2-dfbc015c6954249d9075b42ae3dc8de2045200ae.tar.gz
lvm2-dfbc015c6954249d9075b42ae3dc8de2045200ae.tar.xz
lvm2-dfbc015c6954249d9075b42ae3dc8de2045200ae.zip
Fix remote metadata backup for clvmd
Run backup of metadata on remote nodes in the same place like local node - when calling backup(). Introduce backup_locally() which calls only local backup if needed. Remote backup is now trigerred by LCK_VG_BACKUP flag combination (special VG lock). This lock type will call check_current_backup() (including backup_locally() call) and updates metadata on all nodes. (Patch fixes non-functional remote backup, current call during VG lock never triggers.)
Diffstat (limited to 'daemons/clvmd/clvmd-command.c')
-rw-r--r--daemons/clvmd/clvmd-command.c6
1 files changed, 5 insertions, 1 deletions
diff --git a/daemons/clvmd/clvmd-command.c b/daemons/clvmd/clvmd-command.c
index 12bf935e..dffff216 100644
--- a/daemons/clvmd/clvmd-command.c
+++ b/daemons/clvmd/clvmd-command.c
@@ -159,7 +159,11 @@ int do_command(struct local_client *client, struct clvm_header *msg, int msglen,
break;
case CLVMD_CMD_VG_BACKUP:
- lvm_do_backup(&args[2]);
+ /*
+ * Do not run backup on local node, caller should do that.
+ */
+ if (!client)
+ lvm_do_backup(&args[2]);
break;
default: