[Bug 244926] Re: vol_id doesn't guarantee that mdadm/lvm/etc. have actually finished with the device, so only mitigates and does not solve mountroot race

Scott James Remnant scott at canonical.com
Tue Aug 5 14:32:49 UTC 2008


diff -Nru /tmp/eAxeH4D1AR/initramfs-tools-0.85eubuntu36/scripts/local /tmp/QfAijt3GjD/initramfs-tools-0.85eubuntu39.2/scripts/local
--- initramfs-tools-0.85eubuntu36/scripts/local	2008-04-09 15:18:14.000000000 +0100
+++ initramfs-tools-0.85eubuntu39.2/scripts/local	2008-07-02 16:44:28.000000000 +0100
@@ -9,7 +9,7 @@
 
 	# If the root device hasn't shown up yet, give it a little while
 	# to deal with removable devices
-	if [ ! -e "${ROOT}" ] || ! /lib/udev/vol_id "${ROOT}" >/dev/null 2>&1; then
+	if [ ! -e "${ROOT}" ] || ! /lib/udev/vol_id "${ROOT}" >/dev/null 2>&1 || ! /sbin/udevadm settle; then
 		log_begin_msg "Waiting for root file system..."
 
 		# Default delay is 180s
@@ -23,7 +23,7 @@
 		fi
 
 		slumber=$(( ${slumber} * 10 ))
-		while [ ! -e "${ROOT}" ] || ! /lib/udev/vol_id "${ROOT}" >/dev/null 2>&1; do
+		while [ ! -e "${ROOT}" ] || ! /lib/udev/vol_id "${ROOT}" >/dev/null 2>&1 || ! /sbin/udevadm settle; do
 			/bin/sleep 0.1
 			slumber=$(( ${slumber} - 1 ))
 			[ ${slumber} -gt 0 ] || break
@@ -40,7 +40,7 @@
 	fi
 
 	# We've given up, but we'll let the user fix matters if they can
-	while [ ! -e "${ROOT}" ] || ! /lib/udev/vol_id "${ROOT}" >/dev/null 2>&1; do
+	while [ ! -e "${ROOT}" ] || ! /lib/udev/vol_id "${ROOT}" >/dev/null 2>&1 || ! /sbin/udevadm settle; do
 		echo "	Check root= bootarg cat /proc/cmdline"
 		echo "	or missing modules, devices: cat /proc/modules ls /dev"
 		panic -r "ALERT!  ${ROOT} does not exist.  Dropping to a shell!"

** Changed in: initramfs-tools (Ubuntu Intrepid)
       Status: Incomplete => Fix Released

-- 
vol_id doesn't guarantee that mdadm/lvm/etc. have actually finished with the device, so only mitigates and does not solve mountroot race
https://bugs.launchpad.net/bugs/244926
You received this bug notification because you are a member of Kernel
Bugs, which is subscribed to initramfs-tools in ubuntu.




More information about the kernel-bugs mailing list