[lvm-devel] dev-next - pvscan: don't get info from udev

David Teigland teigland at sourceware.org
Fri Apr 9 20:50:30 UTC 2021


Gitweb:        https://sourceware.org/git/?p=lvm2.git;a=commitdiff;h=e2a2d8e23ff856d255f22389a5479e9a0d9fc77b
Commit:        e2a2d8e23ff856d255f22389a5479e9a0d9fc77b
Parent:        7ca8feec014c018698a178b6a30680ea50fab82b
Author:        David Teigland <teigland at redhat.com>
AuthorDate:    Fri Apr 9 15:49:26 2021 -0500
Committer:     David Teigland <teigland at redhat.com>
CommitterDate: Fri Apr 9 15:49:26 2021 -0500

pvscan: don't get info from udev

don't use obtain_device_info_from_udev since udev
will repeatedly return errors, stalling a command.
---
 tools/pvscan.c | 11 +++++++++++
 1 file changed, 11 insertions(+)

diff --git a/tools/pvscan.c b/tools/pvscan.c
index 29713dda6..9fa3a8b39 100644
--- a/tools/pvscan.c
+++ b/tools/pvscan.c
@@ -1839,6 +1839,17 @@ int pvscan_cache_cmd(struct cmd_context *cmd, int argc, char **argv)
 		return ECMD_PROCESSED;
 	}
 
+	/*
+	 * Don't ask udev for info since pvscan is running from udev.
+	 * If a pvscan attempts to get dev info from udev, udev can
+	 * repeatedly return errors about the dev not being initialized
+	 * which will stall the pvscan.
+	 * FIXME: lvm commands should be changed to request and use udev
+	 * info if it's available, and if udev info is not immediately
+	 * available the command should just continue without it.
+	 */
+	init_obtain_device_list_from_udev(0);
+
 	if (arg_is_set(cmd, major_ARG) + arg_is_set(cmd, minor_ARG))
 		devno_args = 1;
 




More information about the lvm-devel mailing list