1
0
mirror of git://sourceware.org/git/lvm2.git synced 2025-01-04 09:18:36 +03:00

Allow CLVMD_CMD_SYNC_NAMES to be propagated around the cluster if requested.

This commit is contained in:
Alasdair Kergon 2011-02-02 23:39:39 +00:00
parent fccfa9e929
commit 12e36e7ea7
2 changed files with 12 additions and 7 deletions

View File

@ -1,5 +1,6 @@
Version 2.02.83 - Version 2.02.83 -
=================================== ===================================
Allow CLVMD_CMD_SYNC_NAMES to be propagated around the cluster if requested.
Add "dmsetup ls --tree" output to lvmdump. Add "dmsetup ls --tree" output to lvmdump.
Fix udev synchronization with no-locking --sysinit (2.02.80). Fix udev synchronization with no-locking --sysinit (2.02.80).
Updating man pages for pvcreate, pvremove, pvresize, pvscan. Updating man pages for pvcreate, pvremove, pvresize, pvscan.

View File

@ -347,13 +347,17 @@ static int _lock_for_cluster(struct cmd_context *cmd, unsigned char clvmd_cmd,
* One exception, is that P_ locks (except VG_SYNC_NAMES) /do/ get * One exception, is that P_ locks (except VG_SYNC_NAMES) /do/ get
* distributed across the cluster because they might have side-effects. * distributed across the cluster because they might have side-effects.
*/ */
if ((strncmp(name, "P_", 2) && if (clvmd_cmd == CLVMD_CMD_SYNC_NAMES) {
(clvmd_cmd == CLVMD_CMD_LOCK_VG || if (flags & LCK_LOCAL)
(flags & LCK_TYPE_MASK) == LCK_EXCL || node = ".";
(flags & LCK_LOCAL) || } else if (clvmd_cmd != CLVMD_CMD_VG_BACKUP) {
!(flags & LCK_CLUSTER_VG))) || if (strncmp(name, "P_", 2) &&
(clvmd_cmd == CLVMD_CMD_SYNC_NAMES && (flags & LCK_LOCAL))) (clvmd_cmd == CLVMD_CMD_LOCK_VG ||
node = "."; (flags & LCK_TYPE_MASK) == LCK_EXCL ||
(flags & LCK_LOCAL) ||
!(flags & LCK_CLUSTER_VG)))
node = ".";
}
status = _cluster_request(clvmd_cmd, node, args, len, status = _cluster_request(clvmd_cmd, node, args, len,
&response, &num_responses); &response, &num_responses);