summaryrefslogtreecommitdiffstats
path: root/daemons/clvmd/clvmd-command.c
diff options
context:
space:
mode:
authorAlasdair Kergon <agk@redhat.com>2008-05-09 15:13:20 +0000
committerAlasdair Kergon <agk@redhat.com>2008-05-09 15:13:20 +0000
commit3d6af3e35e3de157d618f922f61194928aa7f11d (patch)
tree21c35877a58a455bc058bb3a9e02daa5da2f187f /daemons/clvmd/clvmd-command.c
parent5e91e174d3adb7fa77105ce7d60b9eedd346116b (diff)
downloadlvm2-3d6af3e35e3de157d618f922f61194928aa7f11d.tar.gz
lvm2-3d6af3e35e3de157d618f922f61194928aa7f11d.tar.xz
lvm2-3d6af3e35e3de157d618f922f61194928aa7f11d.zip
Add missing mutex around clvmd lvmcache_drop_metadata library call.
Diffstat (limited to 'daemons/clvmd/clvmd-command.c')
-rw-r--r--daemons/clvmd/clvmd-command.c8
1 files changed, 6 insertions, 2 deletions
diff --git a/daemons/clvmd/clvmd-command.c b/daemons/clvmd/clvmd-command.c
index b47f5273..8e544e90 100644
--- a/daemons/clvmd/clvmd-command.c
+++ b/daemons/clvmd/clvmd-command.c
@@ -122,7 +122,7 @@ int do_command(struct local_client *client, struct clvm_header *msg, int msglen,
if (strcmp(lockname, "P_#global") == 0)
do_refresh_cache();
else if (strncmp(lockname, "P_", 2) == 0)
- lvmcache_drop_metadata(lockname + 2);
+ drop_metadata(lockname + 2);
break;
@@ -253,7 +253,11 @@ int do_pre_command(struct local_client *client)
break;
case CLVMD_CMD_LOCK_VG:
- status = lock_vg(client);
+ lockname = &args[2];
+ /* Do not use lock for cache related commands */
+ if (!strncmp(lockname, "V_", 2) ||
+ !strcmp(lockname, "P_#global"))
+ status = lock_vg(client);
break;
case CLVMD_CMD_LOCK_LV: