1
0
mirror of git://sourceware.org/git/lvm2.git synced 2025-03-08 08:58:50 +03:00

Keep the LVM-based dmeventd plugins from trying to manipulate the dmeventd

monitoring state of the logical volumes they are currently acting on.

Until now, every time a logical volume has been changed by a dmeventd plugin,
this plugin would have called back to dmeventd through the external FIFO
mechanism. I am fairly sure this was superfluous, inefficient and possibly even
dangerous.
This commit is contained in:
Petr Rockai 2011-10-19 08:46:26 +00:00
parent dc0582ce0a
commit 61cf772e70
3 changed files with 11 additions and 0 deletions

View File

@ -113,6 +113,7 @@ int dmeventd_lvm2_init(void)
_mem_pool = NULL;
goto out;
}
lvm2_disable_dmeventd_monitoring(_lvm_handle);
/* FIXME Temporary: move to dmeventd core */
lvm2_run(_lvm_handle, "_memlock_inc");
}

View File

@ -51,6 +51,12 @@ void lvm2_log_fn(lvm2_log_fn_t log_fn);
*/
void *lvm2_init(void);
/*
* Disable any dmeventd calls that the library may otherwise do. Useful to avoid
* recursive calls from dmeventd to itself.
*/
void lvm2_disable_dmeventd_monitoring(void *handle);
/*
* Set log level (as above) if using built-in logging function.
* Default is LVM2_LOG_PRINT. Use LVM2_LOG_SUPPRESS to suppress output.

View File

@ -97,6 +97,10 @@ int lvm2_run(void *handle, const char *cmdline)
return ret;
}
void lvm2_disable_dmeventd_monitoring(void *handle) {
init_dmeventd_monitor(DMEVENTD_MONITOR_IGNORE);
}
void lvm2_log_level(void *handle, int level)
{
struct cmd_context *cmd = (struct cmd_context *) handle;