[lvm-devel] LVM2 ./WHATS_NEW daemons/clvmd/lvm-functions.c ...
agk at sourceware.org
agk at sourceware.org
Thu Dec 8 21:24:12 UTC 2011
CVSROOT: /cvs/lvm2
Module name: LVM2
Changes by: agk at sourceware.org 2011-12-08 21:24:10
Modified files:
. : WHATS_NEW
daemons/clvmd : lvm-functions.c
daemons/lvmetad: testclient.c
lib/commands : toolcontext.c toolcontext.h
lib/mm : memlock.c
liblvm : lvm_base.c
tools : lvmcmdline.c
Log message:
Only use built-in stack size in clvmd - ignore lvm.conf.
Patches:
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/WHATS_NEW.diff?cvsroot=lvm2&r1=1.2204&r2=1.2205
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/daemons/clvmd/lvm-functions.c.diff?cvsroot=lvm2&r1=1.127&r2=1.128
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/daemons/lvmetad/testclient.c.diff?cvsroot=lvm2&r1=1.9&r2=1.10
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/commands/toolcontext.c.diff?cvsroot=lvm2&r1=1.142&r2=1.143
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/commands/toolcontext.h.diff?cvsroot=lvm2&r1=1.47&r2=1.48
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/lib/mm/memlock.c.diff?cvsroot=lvm2&r1=1.46&r2=1.47
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/liblvm/lvm_base.c.diff?cvsroot=lvm2&r1=1.22&r2=1.23
http://sourceware.org/cgi-bin/cvsweb.cgi/LVM2/tools/lvmcmdline.c.diff?cvsroot=lvm2&r1=1.148&r2=1.149
--- LVM2/WHATS_NEW 2011/12/06 19:30:15 1.2204
+++ LVM2/WHATS_NEW 2011/12/08 21:24:08 1.2205
@@ -47,7 +47,7 @@
Fix lv_info open_count test for disabled verify_udev_operations (2.02.86).
Simplify code for lvm worker thread in clvmd.
Use pthread_barrier to synchronize clvmd threads at startup.
- Limit clvmd's thread size to 128KiB.
+ Limit clvmd's thread size to 128KiB and ignore activation/reserved_stack.
Reduce default preallocated stack size to 64KiB.
Add check for access through NULL pointer when refresh_filter() fails.
Use pthread condition for SINGLENODE lock implementation.
--- LVM2/daemons/clvmd/lvm-functions.c 2011/12/08 18:32:34 1.127
+++ LVM2/daemons/clvmd/lvm-functions.c 2011/12/08 21:24:08 1.128
@@ -880,7 +880,7 @@
if (!get_initial_state(excl_uuid))
log_error("Cannot load initial lock states.");
- if (!(cmd = create_toolcontext(1, NULL, 0))) {
+ if (!(cmd = create_toolcontext(1, NULL, 0, 1))) {
log_error("Failed to allocate command context");
return 0;
}
--- LVM2/daemons/lvmetad/testclient.c 2011/07/20 15:15:41 1.9
+++ LVM2/daemons/lvmetad/testclient.c 2011/12/08 21:24:08 1.10
@@ -108,7 +108,7 @@
if (argc > 1) {
int i;
- struct cmd_context *cmd = create_toolcontext(0, NULL, 0);
+ struct cmd_context *cmd = create_toolcontext(0, NULL, 0, 0);
for (i = 1; i < argc; ++i) {
const char *uuid = NULL;
scan(h, argv[i]);
--- LVM2/lib/commands/toolcontext.c 2011/11/28 20:37:51 1.142
+++ LVM2/lib/commands/toolcontext.c 2011/12/08 21:24:09 1.143
@@ -1224,7 +1224,8 @@
/* Entry point */
struct cmd_context *create_toolcontext(unsigned is_long_lived,
const char *system_dir,
- unsigned set_buffering)
+ unsigned set_buffering,
+ unsigned threaded)
{
struct cmd_context *cmd;
@@ -1246,6 +1247,7 @@
return NULL;
}
cmd->is_long_lived = is_long_lived;
+ cmd->threaded = threaded ? 1 : 0;
cmd->handles_missing_pvs = 0;
cmd->handles_unknown_segments = 0;
cmd->independent_metadata_areas = 0;
--- LVM2/lib/commands/toolcontext.h 2011/11/28 20:37:52 1.47
+++ LVM2/lib/commands/toolcontext.h 2011/12/08 21:24:09 1.48
@@ -85,6 +85,7 @@
unsigned partial_activation:1;
unsigned si_unit_consistency:1;
unsigned metadata_read_only:1;
+ unsigned threaded:1; /* Set if running within a thread e.g. clvmd */
unsigned independent_metadata_areas:1; /* Active formats have MDAs outside PVs */
@@ -117,7 +118,8 @@
*/
struct cmd_context *create_toolcontext(unsigned is_long_lived,
const char *system_dir,
- unsigned set_buffering);
+ unsigned set_buffering,
+ unsigned threaded);
void destroy_toolcontext(struct cmd_context *cmd);
int refresh_toolcontext(struct cmd_context *cmd);
int refresh_filters(struct cmd_context *cmd);
--- LVM2/lib/mm/memlock.c 2011/08/30 14:55:18 1.46
+++ LVM2/lib/mm/memlock.c 2011/12/08 21:24:09 1.47
@@ -445,9 +445,10 @@
void memlock_init(struct cmd_context *cmd)
{
- _size_stack = find_config_tree_int(cmd,
- "activation/reserved_stack",
- DEFAULT_RESERVED_STACK) * 1024;
+ /* When threaded, caller already limited stack size so just use the default. */
+ _size_stack = 1024 * (cmd->threaded ? DEFAULT_RESERVED_STACK :
+ find_config_tree_int(cmd, "activation/reserved_stack",
+ DEFAULT_RESERVED_STACK));
_size_malloc_tmp = find_config_tree_int(cmd,
"activation/reserved_memory",
DEFAULT_RESERVED_MEMORY) * 1024;
--- LVM2/liblvm/lvm_base.c 2011/06/15 13:29:48 1.22
+++ LVM2/liblvm/lvm_base.c 2011/12/08 21:24:09 1.23
@@ -37,7 +37,7 @@
/* create context */
/* FIXME: split create_toolcontext */
/* FIXME: make all globals configurable */
- cmd = create_toolcontext(0, system_dir, 1);
+ cmd = create_toolcontext(0, system_dir, 1, 0);
if (!cmd)
return NULL;
--- LVM2/tools/lvmcmdline.c 2011/09/16 12:10:02 1.148
+++ LVM2/tools/lvmcmdline.c 2011/12/08 21:24:10 1.149
@@ -1237,7 +1237,7 @@
if (!udev_init_library_context())
stack;
- if (!(cmd = create_toolcontext(0, NULL, 1)))
+ if (!(cmd = create_toolcontext(0, NULL, 1, 0)))
return_NULL;
_cmdline.arg_props = &_arg_props[0];
More information about the lvm-devel
mailing list