]> sourceware.org Git - lvm2.git/commitdiff
activation: trust 'pending' status reported by dmeventd
authorZdenek Kabelac <zkabelac@redhat.com>
Mon, 13 Feb 2017 21:50:19 +0000 (22:50 +0100)
committerZdenek Kabelac <zkabelac@redhat.com>
Mon, 13 Feb 2017 23:04:26 +0000 (00:04 +0100)
Only usleep when dmeventd reports 'pending' otherwise trust reported
state.

lib/activate/activate.c

index 608611f24f0b174a54c3828f46e940f617175a92..ea567359b7a71a077621b37841010c4d3ae51ff7 100644 (file)
@@ -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);
                }
 
This page took 0.039801 seconds and 5 git commands to generate.