mirror of
https://gitlab.alpinelinux.org/alpine/aports.git
synced 2025-08-06 13:57:14 +02:00
re-add use_mlockall patch. The memorylocking implementation without mlockall was introduced in https://sourceware.org/git/?p=lvm2.git;a=commit;h=18b82048e457d6ff426d9dd828475d4dd02b8204 This was an attempt to reduce locking of "way too much memory (>100MB) due to the way glibc works. I believe this is less fo an issue with musl libc so use the stupid but simple mlockall by default to be safe.
67 lines
2.0 KiB
Diff
67 lines
2.0 KiB
Diff
From 63b1c7332bee6080bffecf9ce9d75ff15d799166 Mon Sep 17 00:00:00 2001
|
|
From: Natanael Copa <ncopa@alpinelinux.org>
|
|
Date: Wed, 16 Nov 2022 10:42:39 +0100
|
|
Subject: [PATCH] fix stdio usage
|
|
|
|
---
|
|
lib/commands/toolcontext.c | 4 ++--
|
|
tools/lvmcmdline.c | 6 +++---
|
|
2 files changed, 5 insertions(+), 5 deletions(-)
|
|
|
|
diff --git a/lib/commands/toolcontext.c b/lib/commands/toolcontext.c
|
|
index b630554a9..f20080d18 100644
|
|
--- a/lib/commands/toolcontext.c
|
|
+++ b/lib/commands/toolcontext.c
|
|
@@ -1667,7 +1667,7 @@ struct cmd_context *create_toolcontext(unsigned is_clvmd,
|
|
/* FIXME Make this configurable? */
|
|
reset_lvm_errno(1);
|
|
|
|
-#ifndef VALGRIND_POOL
|
|
+#if !defined(VALGRIND_POOL) && defined(__GLIBC__)
|
|
/* Set in/out stream buffering before glibc */
|
|
if (set_buffering
|
|
#ifdef SYS_gettid
|
|
@@ -2045,7 +2045,7 @@ void destroy_toolcontext(struct cmd_context *cmd)
|
|
dm_hash_destroy(cmd->cft_def_hash);
|
|
|
|
dm_device_list_destroy(&cmd->cache_dm_devs);
|
|
-#ifndef VALGRIND_POOL
|
|
+#if !defined(VALGRIND_POOL) && defined(__GLIBC__)
|
|
if (cmd->linebuffer) {
|
|
/* Reset stream buffering to defaults */
|
|
if (is_valid_fd(STDIN_FILENO) &&
|
|
diff --git a/tools/lvmcmdline.c b/tools/lvmcmdline.c
|
|
index a5bb6a5c5..0ebfa375c 100644
|
|
--- a/tools/lvmcmdline.c
|
|
+++ b/tools/lvmcmdline.c
|
|
@@ -3422,7 +3422,7 @@ static int _check_standard_fds(void)
|
|
int err = is_valid_fd(STDERR_FILENO);
|
|
|
|
if (!is_valid_fd(STDIN_FILENO) &&
|
|
- !(stdin = fopen(_PATH_DEVNULL, "r"))) {
|
|
+ !freopen(_PATH_DEVNULL, "r", stdin)) {
|
|
if (err)
|
|
perror("stdin stream open");
|
|
else
|
|
@@ -3432,7 +3432,7 @@ static int _check_standard_fds(void)
|
|
}
|
|
|
|
if (!is_valid_fd(STDOUT_FILENO) &&
|
|
- !(stdout = fopen(_PATH_DEVNULL, "w"))) {
|
|
+ !freopen(_PATH_DEVNULL, "w", stdout)) {
|
|
if (err)
|
|
perror("stdout stream open");
|
|
/* else no stdout */
|
|
@@ -3440,7 +3440,7 @@ static int _check_standard_fds(void)
|
|
}
|
|
|
|
if (!is_valid_fd(STDERR_FILENO) &&
|
|
- !(stderr = fopen(_PATH_DEVNULL, "w"))) {
|
|
+ !freopen(_PATH_DEVNULL, "w", stderr)) {
|
|
printf("stderr stream open: %s\n",
|
|
strerror(errno));
|
|
return 0;
|
|
--
|
|
2.38.1
|
|
|