From 9da5d7ac02b527c286c94355a249c59fd3ad5476 Mon Sep 17 00:00:00 2001 From: Dave Wysochanski Date: Fri, 4 Apr 2008 15:41:20 +0000 Subject: [PATCH] Add check to vg_commit() to ensure lock is held before writing new VG metadata. --- WHATS_NEW | 1 + lib/metadata/metadata.c | 6 ++++++ 2 files changed, 7 insertions(+) diff --git a/WHATS_NEW b/WHATS_NEW index 500b4eb55..c2cad9f33 100644 --- a/WHATS_NEW +++ b/WHATS_NEW @@ -1,5 +1,6 @@ Version 2.02.34 - =================================== + Add check to vg_commit() ensuring VG lock held before writing new VG metadata. Add validation of LV name to pvmove -n. Make clvmd refresh the context correctly when lvm.conf is updated. Add some basic internal VG lock validation. diff --git a/lib/metadata/metadata.c b/lib/metadata/metadata.c index 374501963..0abd5a57e 100644 --- a/lib/metadata/metadata.c +++ b/lib/metadata/metadata.c @@ -1316,6 +1316,12 @@ int vg_commit(struct volume_group *vg) int cache_updated = 0; int failed = 0; + if (!vgname_is_locked(vg->name)) { + log_error("Internal error: Attempt to write new VG metadata " + "without locking %s", vg->name); + return cache_updated; + } + /* Commit to each copy of the metadata area */ list_iterate_items(mda, &vg->fid->metadata_areas) { failed = 0; -- 2.43.5