commit 855fdd21d1259fb10f059d7f5217aa9d20bb5c25
parent 142a24a10b1551c5885f66ef7f7ce48a63dfd193
Author: Daniel Golle <daniel@makrotopia.org>
Date: Sun, 3 May 2015 15:58:52 +0200
lvm2: finally fix memory locking issues on musl
Always use mlockall fixes it, still trying to keep everything else
as untouched as possible.
Signed-off-by: Daniel Golle <daniel@makrotopia.org>
Diffstat:
2 files changed, 21 insertions(+), 2 deletions(-)
diff --git a/utils/lvm2/Makefile b/utils/lvm2/Makefile
@@ -10,7 +10,7 @@ include $(TOPDIR)/rules.mk
PKG_NAME:=LVM2
PKG_VERSION:=2.02.119
-PKG_RELEASE:=1
+PKG_RELEASE:=2
PKG_LICENSE:=GPL-2.0 LGPL-2.1
PKG_SOURCE:=$(PKG_NAME).$(PKG_VERSION).tgz
diff --git a/utils/lvm2/patches/003-no-mallinfo.patch b/utils/lvm2/patches/003-no-mallinfo.patch
@@ -18,11 +18,30 @@ Index: LVM2.2.02.119/lib/mm/memlock.c
inf = mallinfo();
if (hblks < inf.hblks) {
-@@ -179,6 +182,7 @@ static void _allocate_memory(void)
+@@ -176,9 +179,12 @@ static void _allocate_memory(void)
+ free(areas[area]);
+ _size_malloc_tmp /= 2;
+ } else {
++#endif
++ area;
missing -= _size_malloc_tmp;
++#ifdef __GLIBC__
}
+#endif
if (area == max_areas && missing > 0) {
/* Too bad. Warn the user and proceed, as things are
+@@ -467,8 +473,13 @@ static void _lock_mem(struct cmd_context
+ * will not block memory locked thread
+ * Note: assuming _memlock_count_daemon is updated before _memlock_count
+ */
++#ifdef __GLIBC__
+ _use_mlockall = _memlock_count_daemon ? 1 :
+ find_config_tree_bool(cmd, activation_use_mlockall_CFG, NULL);
++#else
++ /* always use mlockall on musl */
++ _use_mlockall = 1;
++#endif
+
+ if (!_use_mlockall) {
+ if (!*_procselfmaps &&