From 7dd128a1a8c5f5b28ead90c72028603923488091 Mon Sep 17 00:00:00 2001 From: Alasdair Kergon Date: Mon, 26 Jan 2009 22:22:07 +0000 Subject: [PATCH] Properly enforce cluster locking in as-yet-unused _vg_lock_and_read. (mornfall) --- lib/metadata/metadata.c | 8 +++++++- 1 file changed, 7 insertions(+), 1 deletion(-) diff --git a/lib/metadata/metadata.c b/lib/metadata/metadata.c index 17ed851d9..f5da6d023 100644 --- a/lib/metadata/metadata.c +++ b/lib/metadata/metadata.c @@ -2600,6 +2600,12 @@ static vg_t *_vg_lock_and_read(struct cmd_context *cmd, const char *vg_name, goto_bad; } + if (vg_is_clustered(vg) && !locking_is_clustered()) { + log_error("Skipping clustered volume group %s", vg->name); + failure |= FAILED_CLUSTERED; + goto_bad; + } + /* consistent == 0 when VG is not found, but failed == FAILED_NOTFOUND */ if (!consistent && !failure) if (!(vg = _recover_vg(cmd, lock_name, vg_name, vgid, lock_flags))) { @@ -2610,7 +2616,7 @@ static vg_t *_vg_lock_and_read(struct cmd_context *cmd, const char *vg_name, } - failure |= _vg_check_status(vg, status_flags); + failure |= _vg_check_status(vg, status_flags & ~CLUSTERED); if (failure) goto_bad;