aboutsummaryrefslogtreecommitdiff
path: root/daemons
diff options
context:
space:
mode:
authorPetr Rockai <prockai@redhat.com>2012-12-17 00:39:00 +0100
committerPetr Rockai <prockai@redhat.com>2012-12-17 00:47:55 +0100
commitfae1a611d2f907aa23c237b9f84df5089d30f728 (patch)
treee60416047fd729002a4d35c5a1c5e9ea265557de /daemons
parented23da95b63308e11f8d680b189686a5d2d380d0 (diff)
downloadlvm2-fae1a611d2f907aa23c237b9f84df5089d30f728.tar.gz
lvmetad: Fix a possible deadlock.
If an update and a query were running in parallel, there was a slim but non-zero chance of a deadlock due to (unnecessary) mutex nesting.
Diffstat (limited to 'daemons')
-rw-r--r--daemons/lvmetad/lvmetad-core.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/daemons/lvmetad/lvmetad-core.c b/daemons/lvmetad/lvmetad-core.c
index 4e0266216..674ddea87 100644
--- a/daemons/lvmetad/lvmetad-core.c
+++ b/daemons/lvmetad/lvmetad-core.c
@@ -671,8 +671,8 @@ static int update_metadata(lvmetad_state *s, const char *name, const char *_vgid
lock_vgid_to_metadata(s);
old = dm_hash_lookup(s->vgid_to_metadata, _vgid);
- lock_vg(s, _vgid);
unlock_vgid_to_metadata(s);
+ lock_vg(s, _vgid);
seq = dm_config_find_int(metadata, "metadata/seqno", -1);