summaryrefslogtreecommitdiff
path: root/lib
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2015-04-02 12:42:18 +0200
committerZdenek Kabelac <zkabelac@redhat.com>2015-04-02 13:38:32 +0200
commite28e22b9e1e4f7243608aa24ddf43ec63afd1751 (patch)
treed1804aa2706b40c4405b82d697a2865d88c08be1 /lib
parentf199aeb9eaa1821811f98308565ccc54ab52edf8 (diff)
downloadlvm2-e28e22b9e1e4f7243608aa24ddf43ec63afd1751.tar.gz
lvmcache: skip drop when vg_write lock is not held
Commit 80f4b4b8039a88dfa2648a9b5bb5e16f41b81f87 introduced undesirable side-effects for lvm2app user which happens to be our own python binding. It appear obtaing pvs list keeps global lock. So restricting this to VG_GLOBAL READ locks and skip the drop skip if WRITE lock is held.
Diffstat (limited to 'lib')
-rw-r--r--lib/cache/lvmcache.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/lib/cache/lvmcache.c b/lib/cache/lvmcache.c
index 2b4e2c618..27b429265 100644
--- a/lib/cache/lvmcache.c
+++ b/lib/cache/lvmcache.c
@@ -287,7 +287,7 @@ void lvmcache_commit_metadata(const char *vgname)
void lvmcache_drop_metadata(const char *vgname, int drop_precommitted)
{
- if (lvmcache_vgname_is_locked(VG_GLOBAL))
+ if (lvmcache_vgname_is_locked(VG_GLOBAL) && !vg_write_lock_held())
return;
/* For VG_ORPHANS, we need to invalidate all labels on orphan PVs. */