[lvm-devel] master - activation: trust 'pending' status reported by dmeventd
Zdenek Kabelac
zkabelac at fedoraproject.org
Mon Feb 13 23:06:07 UTC 2017
Gitweb: http://git.fedorahosted.org/git/?p=lvm2.git;a=commitdiff;h=65b82a80720b137e24077c29f9c52d6ad43f93a5
Commit: 65b82a80720b137e24077c29f9c52d6ad43f93a5
Parent: 05dd566a52e4311c0626eb1a1250042aba746fae
Author: Zdenek Kabelac <zkabelac at redhat.com>
AuthorDate: Mon Feb 13 22:50:19 2017 +0100
Committer: Zdenek Kabelac <zkabelac at redhat.com>
CommitterDate: Tue Feb 14 00:04:26 2017 +0100
activation: trust 'pending' status reported by dmeventd
Only usleep when dmeventd reports 'pending' otherwise trust reported
state.
---
lib/activate/activate.c | 11 ++++-------
1 files changed, 4 insertions(+), 7 deletions(-)
diff --git a/lib/activate/activate.c b/lib/activate/activate.c
index 608611f..ea56735 100644
--- a/lib/activate/activate.c
+++ b/lib/activate/activate.c
@@ -1948,16 +1948,13 @@ int monitor_dev_for_events(struct cmd_context *cmd, const struct logical_volume
/* Check [un]monitor results */
/* Try a couple times if pending, but not forever... */
- for (i = 0; i < 40; i++) {
+ for (i = 0;; i++) {
pending = 0;
monitored = seg->segtype->ops->target_monitored(seg, &pending);
- if (pending ||
- (!monitored && monitor) ||
- (monitored && !monitor))
- log_very_verbose("%s %smonitoring still pending: waiting...",
- display_lvname(lv), monitor ? "" : "un");
- else
+ if (!pending || i >= 40)
break;
+ log_very_verbose("%s %smonitoring still pending: waiting...",
+ display_lvname(lv), monitor ? "" : "un");
usleep(10000 * i);
}
More information about the lvm-devel
mailing list