summaryrefslogtreecommitdiff
path: root/tools/lvmcmdline.c
diff options
context:
space:
mode:
authorZdenek Kabelac <zkabelac@redhat.com>2020-10-20 22:22:52 +0200
committerZdenek Kabelac <zkabelac@redhat.com>2020-10-20 22:22:52 +0200
commitbd272e3bcea38a12b2b9789cfb9b7d4a9a3d3574 (patch)
tree634e5b4944d25d3bb11e9fb5a50e347d5c53e309 /tools/lvmcmdline.c
parent756066a2e85062be5e406d9139fc1033746d7ff9 (diff)
downloadlvm2-bd272e3bcea38a12b2b9789cfb9b7d4a9a3d3574.tar.gz
lvmcmdlib: lvm2_init_threaded
cmd context has 'threaded' value that used be set by clvmd - and allowed proper memory locking management. Reuse same bit for dmeventd. Since dmeventd is using 300KiB stack per thread, we will ignore any user settings for allocation/reserved_stack until some better solution is find. This avoids crashing of dmevend when user changes this value and because in most cases lvm2 should work ok with 64K stack size, this change should not cause any problems.
Diffstat (limited to 'tools/lvmcmdline.c')
-rw-r--r--tools/lvmcmdline.c8
1 files changed, 5 insertions, 3 deletions
diff --git a/tools/lvmcmdline.c b/tools/lvmcmdline.c
index e8d732878..3a2ce93b5 100644
--- a/tools/lvmcmdline.c
+++ b/tools/lvmcmdline.c
@@ -3434,7 +3434,9 @@ static int _close_stray_fds(const char *command, struct custom_fds *custom_fds)
return 1;
}
-struct cmd_context *init_lvm(unsigned set_connections, unsigned set_filters)
+struct cmd_context *init_lvm(unsigned set_connections,
+ unsigned set_filters,
+ unsigned threaded)
{
struct cmd_context *cmd;
@@ -3448,7 +3450,7 @@ struct cmd_context *init_lvm(unsigned set_connections, unsigned set_filters)
*/
dm_set_name_mangling_mode(DM_STRING_MANGLING_NONE);
- if (!(cmd = create_toolcontext(0, NULL, 1, 0,
+ if (!(cmd = create_toolcontext(0, NULL, 1, threaded,
set_connections, set_filters))) {
udev_fin_library_context();
return_NULL;
@@ -3602,7 +3604,7 @@ int lvm2_main(int argc, char **argv)
if (!alias && (argc > 2) && !strcmp(argv[2], "-?"))
argv[2] = (char *)"-h";
- if (!(cmd = init_lvm(0, 0)))
+ if (!(cmd = init_lvm(0, 0, 0)))
return EINIT_FAILED;
/* Store original argv location so we may customise it if we become a daemon */