diff options
author | Zdenek Kabelac <zkabelac@redhat.com> | 2014-09-19 01:09:36 +0200 |
---|---|---|
committer | Zdenek Kabelac <zkabelac@redhat.com> | 2014-09-19 01:13:49 +0200 |
commit | d8b775f4eb871e771c9f18dcd9f6b28509e7e52a (patch) | |
tree | a816d1d376bad0ed1e6dd886593d686461077da0 | |
parent | b0bd8ce4086531f4f83ce417ddb988d8b4e0907a (diff) | |
download | lvm2-d8b775f4eb871e771c9f18dcd9f6b28509e7e52a.tar.gz |
memlock: drop uneeded lock
Avoid doing buffered operation within memory lock.
-rw-r--r-- | lib/metadata/lv_manip.c | 4 | ||||
-rw-r--r-- | lib/metadata/thin_manip.c | 4 |
2 files changed, 8 insertions, 0 deletions
diff --git a/lib/metadata/lv_manip.c b/lib/metadata/lv_manip.c index 58bc79b06..2e683b9e0 100644 --- a/lib/metadata/lv_manip.c +++ b/lib/metadata/lv_manip.c @@ -29,6 +29,7 @@ #include "defaults.h" #include "lvm-exec.h" #include "lvm-signal.h" +#include "memlock.h" typedef enum { PREFERRED, @@ -6877,6 +6878,9 @@ static struct logical_volume *_lv_create_an_lv(struct volume_group *vg, thin_name, lp->pvh, lp->alloc, lp->approx_alloc)) return_NULL; + /* Unlock memory if possible */ + memlock_unlock(vg->cmd); + if (seg_is_cache_pool(lp)) { first_seg(lv)->chunk_size = lp->chunk_size; first_seg(lv)->feature_flags = lp->feature_flags; diff --git a/lib/metadata/thin_manip.c b/lib/metadata/thin_manip.c index 61e9c6ecb..b781e0275 100644 --- a/lib/metadata/thin_manip.c +++ b/lib/metadata/thin_manip.c @@ -15,6 +15,7 @@ #include "lib.h" #include "activate.h" #include "locking.h" +#include "memlock.h" #include "metadata.h" #include "segtype.h" #include "defaults.h" @@ -370,6 +371,9 @@ int update_pool_lv(struct logical_volume *lv, int activate) return_0; } init_dmeventd_monitor(monitored); + + /* Unlock memory if possible */ + memlock_unlock(lv->vg->cmd); } /* * Resume active pool to send thin messages. |