[lvm-devel] [PATCH] Fix CLUSTERED flag in new _vg_read_for_update() and vg_read().
Dave Wysochanski
dwysocha at redhat.com
Tue May 26 16:52:28 UTC 2009
In the new _vg_read_for_update(), we always do the check for CLUSTERED vg
status flag after reading the volume group. Thus, no need to set the flag
in vg_read() or clear it later before calling _vg_bad_status_bits().
Also, add back in the !lockingfailed() as part of the CLUSTERED flag check.
It's unclear why it was removed when the check was moved from
_vg_bad_status_bits() to inside _vg_lock_and_read().
Signed-off-by: Dave Wysochanski <dwysocha at redhat.com>
---
lib/metadata/metadata.c | 8 ++++----
1 files changed, 4 insertions(+), 4 deletions(-)
diff --git a/lib/metadata/metadata.c b/lib/metadata/metadata.c
index f16cd55..55c4578 100644
--- a/lib/metadata/metadata.c
+++ b/lib/metadata/metadata.c
@@ -2763,7 +2763,8 @@ 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()) {
+ if ((vg_is_clustered(vg)) && !locking_is_clustered() &&
+ !lockingfailed()) {
log_error("Skipping clustered volume group %s", vg->name);
failure |= FAILED_CLUSTERED;
goto_bad;
@@ -2779,9 +2780,8 @@ static vg_t *_vg_lock_and_read(struct cmd_context *cmd, const char *vg_name,
goto_bad;
}
}
-
- failure |= _vg_bad_status_bits(vg, status_flags & ~CLUSTERED);
+ failure |= _vg_bad_status_bits(vg, status_flags);
if (failure)
goto_bad;
@@ -2828,7 +2828,7 @@ bad:
vg_t *vg_read(struct cmd_context *cmd, const char *vg_name,
const char *vgid, uint32_t flags)
{
- uint32_t status = CLUSTERED;
+ uint32_t status = 0;
uint32_t lock_flags = LCK_VG_READ;
if (flags & READ_FOR_UPDATE) {
--
1.6.0.6
More information about the lvm-devel
mailing list