diff options
author | Petr Rockai <prockai@redhat.com> | 2012-12-17 00:39:00 +0100 |
---|---|---|
committer | Petr Rockai <prockai@redhat.com> | 2012-12-17 00:47:55 +0100 |
commit | fae1a611d2f907aa23c237b9f84df5089d30f728 (patch) | |
tree | e60416047fd729002a4d35c5a1c5e9ea265557de /daemons | |
parent | ed23da95b63308e11f8d680b189686a5d2d380d0 (diff) | |
download | lvm2-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.c | 2 |
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); |