set in \fBlvm.conf\fP.
.TP
.I \-\-poll y|n
-Controls whether or not a logical volume's progress is polled. It may
-not be appropriate to immediately poll the progress of a logical
-volume's transformation when it is activated (for example, when merging
-a snapshot into the root FS). The progress polling of an incomplete
-pvmove or lvconvert can be deferred using \fB--poll n\fP and restarted
-using \fB--poll y\fP.
+Without polling a logical volume's backgrounded transformation process
+will never complete. If there is an incomplete pvmove or lvconvert (for
+example, on rebooting after a crash), use \fB--poll y\fP to restart the
+process from its last checkpoint. However, it may not be appropriate to
+immediately poll a logical volume when it is activated, use \fB--poll
+n\fP to defer and then \fB--poll y\fP to restart the process.
.TP
.I \-\-noudevsync
Disable udev synchronisation. The
.BR lvm.conf (5).
.TP
.BR \-\-poll " " { y | n }
-Controls whether or not a logical volume's progress is polled. It may
-not be appropriate to immediately poll the progress of a logical
-volume's transformation when it is activated (for example, when merging
-a snapshot into the root FS). The progress polling of an incomplete
-pvmove or lvconvert can be deferred using \fB--poll n\fP and restarted
-using \fB--poll y\fP.
+Without polling a logical volume's backgrounded transformation process
+will never complete. If there is an incomplete pvmove or lvconvert (for
+example, on rebooting after a crash), use \fB--poll y\fP to restart the
+process from its last checkpoint. However, it may not be appropriate to
+immediately poll a logical volume when it is activated, use \fB--poll
+n\fP to defer and then \fB--poll y\fP to restart the process.
.TP
.BR \-\-noudevsync
Disable udev synchronisation. The
(is_static() || arg_count(cmd, ignoremonitoring_ARG)) ?
DMEVENTD_MONITOR_IGNORE : DEFAULT_DMEVENTD_MONITOR));
+ /*
+ * FIXME: DEFAULT_BACKGROUND_POLLING should be "unspecified".
+ * If --poll is explicitly provided use it; otherwise polling
+ * should only be started if the LV is not already active. So:
+ * 1) change the activation code to say if the LV was actually activated
+ * 2) make polling of an LV tightly coupled with LV activation
+ */
init_background_polling(arg_int_value(cmd, poll_ARG,
DEFAULT_BACKGROUND_POLLING));
(is_static() || arg_count(cmd, ignoremonitoring_ARG)) ?
DMEVENTD_MONITOR_IGNORE : DEFAULT_DMEVENTD_MONITOR));
+ /*
+ * FIXME: DEFAULT_BACKGROUND_POLLING should be "unspecified".
+ * If --poll is explicitly provided use it; otherwise polling
+ * should only be started if the LV is not already active. So:
+ * 1) change the activation code to say if the LV was actually activated
+ * 2) make polling of an LV tightly coupled with LV activation
+ */
init_background_polling(arg_int_value(cmd, poll_ARG,
DEFAULT_BACKGROUND_POLLING));