[lvm-devel] master - dmeventd: Simplify replacement unmonitor code.
Alasdair Kergon
agk at fedoraproject.org
Tue Aug 23 11:17:02 UTC 2016
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=b975532433dcbcc01e3cc0ebe8c6165e2d6470f8
Commit: b975532433dcbcc01e3cc0ebe8c6165e2d6470f8
Parent: 97ee5a1cd326cac4fa5642395d13ebbf13965970
Author: Alasdair G Kergon <agk at redhat.com>
AuthorDate: Tue Aug 23 12:16:39 2016 +0100
Committer: Alasdair G Kergon <agk at redhat.com>
CommitterDate: Tue Aug 23 12:16:39 2016 +0100
dmeventd: Simplify replacement unmonitor code.
---
lib/activate/activate.c | 35 +++++++++++++----------------------
1 files changed, 13 insertions(+), 22 deletions(-)
diff --git a/lib/activate/activate.c b/lib/activate/activate.c
index de5deae..22e3afa 100644
--- a/lib/activate/activate.c
+++ b/lib/activate/activate.c
@@ -1831,52 +1831,43 @@ int monitor_dev_for_events(struct cmd_context *cmd, const struct logical_volume
if (monitor) {
if (monitored)
log_verbose("%s already monitored.", display_lvname(lv));
- else if (seg->segtype->ops->target_monitor_events)
+ else if (seg->segtype->ops->target_monitor_events) {
+ log_verbose("Monitoring %s%s", display_lvname(lv), test_mode() ? " [Test mode: skipping this]" : "");
monitor_fn = seg->segtype->ops->target_monitor_events;
+ }
} else {
if (!monitored)
log_verbose("%s already not monitored.", display_lvname(lv));
- else if (*dso)
+ else if (*dso) {
/*
* Divert unmonitor away from code that depends on the new segment
* type instead of the existing one if it's changing.
*/
+ log_verbose("Not monitoring %s with %s%s", display_lvname(lv), dso, test_mode() ? " [Test mode: skipping this]" : "");
new_unmonitor = 1;
- else if (seg->segtype->ops->target_unmonitor_events)
- monitor_fn = seg->segtype->ops->target_unmonitor_events;
+ }
}
- if (new_unmonitor) {
- log_verbose("Not monitoring %s with %s%s", display_lvname(lv), dso, test_mode() ? " [Test mode: skipping this]" : "");
-
- /* FIXME Test mode should really continue a bit further. */
- if (test_mode())
- return 1;
+ /* FIXME Test mode should really continue a bit further. */
+ if (test_mode())
+ continue;
+ if (new_unmonitor) {
if (!target_register_events(cmd, dso, lv, 0, 0, 0)) {
log_error("%s: segment unmonitoring failed.",
display_lvname(lv));
return 0;
}
-
- } else if (!monitor_fn)
- continue;
- else if (monitor_fn) {
- log_verbose("%sonitoring %s%s", monitor ? "M" : "Not m", display_lvname(lv),
- test_mode() ? " [Test mode: skipping this]" : "");
-
- /* FIXME Test mode should really continue a bit further. */
- if (test_mode())
- continue;
-
+ } else if (monitor_fn) {
/* FIXME specify events */
if (!monitor_fn(seg, 0)) {
log_error("%s: %s segment monitoring function failed.",
display_lvname(lv), seg->segtype->name);
return 0;
}
- }
+ } else
+ continue;
/* Check [un]monitor results */
/* Try a couple times if pending, but not forever... */
More information about the lvm-devel
mailing list