include $(TOPDIR)/rules.mk
PKG_NAME:=LVM2
-PKG_VERSION:=2.03.23
-PKG_VERSION_DM:=1.02.197
+PKG_VERSION:=2.03.25
+PKG_VERSION_DM:=1.02.199
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME).$(PKG_VERSION).tgz
PKG_SOURCE_URL:=https://sourceware.org/pub/lvm2
-PKG_HASH:=74e794a9e9dee1bcf8a2065f65b9196c44fdf321e22d63b98ed7de8c9aa17a5d
+PKG_HASH:=4bea6fd2e5af9cdb3e27b48b4efa8d89210d9bfa13df900e092e404720a59b1d
PKG_BUILD_DIR:=$(BUILD_DIR)/lvm2-$(BUILD_VARIANT)/$(PKG_NAME).$(PKG_VERSION)
PKG_MAINTAINER:=Daniel Golle <daniel@makrotopia.org>
--- a/lib/commands/toolcontext.c
+++ b/lib/commands/toolcontext.c
-@@ -1709,7 +1709,7 @@ struct cmd_context *create_toolcontext(u
+@@ -1660,6 +1660,7 @@ struct cmd_context *create_toolcontext(u
/* FIXME Make this configurable? */
reset_lvm_errno(1);
--#ifndef VALGRIND_POOL
-+#if defined(__GLIBC__) && !defined(VALGRIND_POOL)
++#ifdef __GLIBC__
/* Set in/out stream buffering before glibc */
if (set_buffering
- #ifdef SYS_gettid
-@@ -2085,7 +2085,7 @@ void destroy_toolcontext(struct cmd_cont
+ && !cmd->running_on_valgrind /* Skipping within valgrind execution. */
+@@ -1704,6 +1705,7 @@ struct cmd_context *create_toolcontext(u
+ } else if (!set_buffering)
+ /* Without buffering, must not use stdin/stdout */
+ init_silent(1);
++#endif
+
+ /*
+ * Environment variable LVM_SYSTEM_DIR overrides this below.
+@@ -2038,6 +2040,7 @@ void destroy_toolcontext(struct cmd_cont
+ if (cmd->cft_def_hash)
dm_hash_destroy(cmd->cft_def_hash);
- dm_device_list_destroy(&cmd->cache_dm_devs);
--#ifndef VALGRIND_POOL
-+#if defined(__GLIBC__) && !defined(VALGRIND_POOL)
- if (cmd->linebuffer) {
++#ifdef __GLIBC__
+ if (!cmd->running_on_valgrind && cmd->linebuffer) {
+ int flags;
/* Reset stream buffering to defaults */
- if (is_valid_fd(STDIN_FILENO) &&
+@@ -2061,6 +2064,7 @@ void destroy_toolcontext(struct cmd_cont
+
+ free(cmd->linebuffer);
+ }
++#endif
+
+ destroy_config_context(cmd);
+
--- a/tools/lvmcmdline.c
+++ b/tools/lvmcmdline.c
-@@ -3437,6 +3437,7 @@ int lvm_split(char *str, int *argc, char
+@@ -3375,6 +3375,7 @@ int lvm_split(char *str, int *argc, char
/* Make sure we have always valid filedescriptors 0,1,2 */
static int _check_standard_fds(void)
{
int err = is_valid_fd(STDERR_FILENO);
if (!is_valid_fd(STDIN_FILENO) &&
-@@ -3463,6 +3464,12 @@ static int _check_standard_fds(void)
+@@ -3401,6 +3402,12 @@ static int _check_standard_fds(void)
strerror(errno));
return 0;
}
--- a/lib/mm/memlock.c
+++ b/lib/mm/memlock.c
-@@ -199,12 +199,15 @@ static void _allocate_memory(void)
- * memory on free(), this is good enough for our purposes.
- */
+@@ -195,12 +195,15 @@ static void _allocate_memory(void)
+ * memory on free(), this is good enough for our purposes.
+ */
while (missing > 0) {
+#ifdef __GLIBC__
struct MALLINFO inf = MALLINFO();
inf = MALLINFO();
if (hblks < inf.hblks) {
-@@ -214,9 +217,12 @@ static void _allocate_memory(void)
+@@ -210,9 +213,12 @@ static void _allocate_memory(void)
free(areas[area]);
_size_malloc_tmp /= 2;
} else {
if (area == max_areas && missing > 0) {
/* Too bad. Warn the user and proceed, as things are
-@@ -537,8 +543,13 @@ static void _lock_mem(struct cmd_context
+@@ -529,8 +535,13 @@ static void _lock_mem(struct cmd_context
* will not block memory locked thread
* Note: assuming _memlock_count_daemon is updated before _memlock_count
*/