Blame SOURCES/0007-lvmdevices-increase-open-file-limit.patch

b6fb8c
From f732f3d53faee3732d0f4a666c378709e6c2f5e9 Mon Sep 17 00:00:00 2001
b6fb8c
From: David Teigland <teigland@redhat.com>
b6fb8c
Date: Fri, 29 Oct 2021 14:49:36 -0500
b6fb8c
Subject: [PATCH 07/23] lvmdevices: increase open file limit
b6fb8c
b6fb8c
---
b6fb8c
 lib/label/label.c  | 4 ++--
b6fb8c
 lib/label/label.h  | 2 ++
b6fb8c
 tools/lvmdevices.c | 3 +++
b6fb8c
 3 files changed, 7 insertions(+), 2 deletions(-)
b6fb8c
b6fb8c
diff --git a/lib/label/label.c b/lib/label/label.c
b6fb8c
index 479a5037a..9fac3e464 100644
b6fb8c
--- a/lib/label/label.c
b6fb8c
+++ b/lib/label/label.c
b6fb8c
@@ -891,7 +891,7 @@ static int _setup_bcache(void)
b6fb8c
 
b6fb8c
 #define BASE_FD_COUNT 32 /* Number of open files we want apart from devs */
b6fb8c
 
b6fb8c
-static void _prepare_open_file_limit(struct cmd_context *cmd, unsigned int num_devs)
b6fb8c
+void prepare_open_file_limit(struct cmd_context *cmd, unsigned int num_devs)
b6fb8c
 {
b6fb8c
 #ifdef HAVE_PRLIMIT
b6fb8c
 	struct rlimit old = { 0 }, new;
b6fb8c
@@ -1165,7 +1165,7 @@ int label_scan(struct cmd_context *cmd)
b6fb8c
 	 * which we want to keep open) is higher than the current
b6fb8c
 	 * soft limit.
b6fb8c
 	 */
b6fb8c
-	_prepare_open_file_limit(cmd, dm_list_size(&scan_devs));
b6fb8c
+	prepare_open_file_limit(cmd, dm_list_size(&scan_devs));
b6fb8c
 
b6fb8c
 	/*
b6fb8c
 	 * Do the main scan.
b6fb8c
diff --git a/lib/label/label.h b/lib/label/label.h
b6fb8c
index 8b510eb79..34563efd0 100644
b6fb8c
--- a/lib/label/label.h
b6fb8c
+++ b/lib/label/label.h
b6fb8c
@@ -134,4 +134,6 @@ void dev_invalidate(struct device *dev);
b6fb8c
 void dev_set_last_byte(struct device *dev, uint64_t offset);
b6fb8c
 void dev_unset_last_byte(struct device *dev);
b6fb8c
 
b6fb8c
+void prepare_open_file_limit(struct cmd_context *cmd, unsigned int num_devs);
b6fb8c
+
b6fb8c
 #endif
b6fb8c
diff --git a/tools/lvmdevices.c b/tools/lvmdevices.c
b6fb8c
index 8d9634848..3f104f7de 100644
b6fb8c
--- a/tools/lvmdevices.c
b6fb8c
+++ b/tools/lvmdevices.c
b6fb8c
@@ -176,6 +176,9 @@ int lvmdevices(struct cmd_context *cmd, int argc, char **argv)
b6fb8c
 		log_error("Failed to read the devices file.");
b6fb8c
 		return ECMD_FAILED;
b6fb8c
 	}
b6fb8c
+
b6fb8c
+	prepare_open_file_limit(cmd, dm_list_size(&cmd->use_devices));
b6fb8c
+
b6fb8c
 	dev_cache_scan(cmd);
b6fb8c
 	device_ids_match(cmd);
b6fb8c
 
b6fb8c
-- 
b6fb8c
2.31.1
b6fb8c