include $(TOPDIR)/rules.mk
PKG_NAME:=LVM2
-PKG_VERSION:=2.03.25
-PKG_VERSION_DM:=1.02.199
+PKG_VERSION:=2.03.31
+PKG_VERSION_DM:=1.02.205
PKG_RELEASE:=1
PKG_SOURCE:=$(PKG_NAME).$(PKG_VERSION).tgz
-PKG_SOURCE_URL:=https://sourceware.org/pub/lvm2
-PKG_HASH:=4bea6fd2e5af9cdb3e27b48b4efa8d89210d9bfa13df900e092e404720a59b1d
+PKG_SOURCE_URL:=https://sourceware.org/pub/lvm2 \
+ https://www.mirrorservice.org/sites/sourceware.org/pub/lvm2
+
+PKG_HASH:=5db2956a00fbf87d92274cccc92436387ec0c3faadece7413ece1ba1c10c98ff
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
-@@ -1660,6 +1660,7 @@ struct cmd_context *create_toolcontext(u
+@@ -1669,6 +1669,7 @@ struct cmd_context *create_toolcontext(u
/* FIXME Make this configurable? */
reset_lvm_errno(1);
/* Set in/out stream buffering before glibc */
if (set_buffering
&& !cmd->running_on_valgrind /* Skipping within valgrind execution. */
-@@ -1704,6 +1705,7 @@ struct cmd_context *create_toolcontext(u
+@@ -1713,6 +1714,7 @@ struct cmd_context *create_toolcontext(u
} else if (!set_buffering)
/* Without buffering, must not use stdin/stdout */
init_silent(1);
/*
* Environment variable LVM_SYSTEM_DIR overrides this below.
-@@ -2038,6 +2040,7 @@ void destroy_toolcontext(struct cmd_cont
+@@ -2047,6 +2049,7 @@ void destroy_toolcontext(struct cmd_cont
if (cmd->cft_def_hash)
dm_hash_destroy(cmd->cft_def_hash);
if (!cmd->running_on_valgrind && cmd->linebuffer) {
int flags;
/* Reset stream buffering to defaults */
-@@ -2061,6 +2064,7 @@ void destroy_toolcontext(struct cmd_cont
+@@ -2070,6 +2073,7 @@ void destroy_toolcontext(struct cmd_cont
free(cmd->linebuffer);
}
--- a/tools/lvmcmdline.c
+++ b/tools/lvmcmdline.c
-@@ -3375,6 +3375,7 @@ int lvm_split(char *str, int *argc, char
+@@ -3386,6 +3386,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) &&
-@@ -3401,6 +3402,12 @@ static int _check_standard_fds(void)
+@@ -3412,6 +3413,12 @@ static int _check_standard_fds(void)
strerror(errno));
return 0;
}
--- a/lib/mm/memlock.c
+++ b/lib/mm/memlock.c
-@@ -195,12 +195,15 @@ static void _allocate_memory(void)
+@@ -199,12 +199,15 @@ static void _allocate_memory(void)
* memory on free(), this is good enough for our purposes.
*/
while (missing > 0) {
inf = MALLINFO();
if (hblks < inf.hblks) {
-@@ -210,9 +213,12 @@ static void _allocate_memory(void)
+@@ -214,9 +217,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
-@@ -529,8 +535,13 @@ static void _lock_mem(struct cmd_context
+@@ -540,8 +546,13 @@ static void _lock_mem(struct cmd_context
* will not block memory locked thread
* Note: assuming _memlock_count_daemon is updated before _memlock_count
*/