open-iscsi should not leave around the stamp file if no connections were made
open-iscsi finalrd hook is sensitive to /run/initramfs/open-iscsi.interface as an indicator that rootfs might have been an iscsi mount, and thus logout needs to happen inside finalrd.
However, in auto-mode, and without any iscsi hard-drives found, that stamp file is still left around. It should be cleaned up, such that such boots do not result in 30s shutdown delay.
+# Remove the interface file if no disks are present
+if [ -f /run/initramfs/open-iscsi.interface ] ; then
+ found=0
+ for disk in /dev/disk/by-path/*-iscsi-*; do
+ if ! "$(readlink -f "$disk")" ; then
+ continue
+ fi
+ found=1
+ break;
+ done
+ if [ $found = 0 ] ; then
+ rm /run/initramfs/open-iscsi.interface
+ fi
+fi
+
exit 0
open-iscsi should not leave around the stamp file if no connections were made
open-iscsi finalrd hook is sensitive to /run/initramfs/ open-iscsi. interface as an indicator that rootfs might have been an iscsi mount, and thus logout needs to happen inside finalrd.
However, in auto-mode, and without any iscsi hard-drives found, that stamp file is still left around. It should be cleaned up, such that such boots do not result in 30s shutdown delay.
Proposed patch is this:
/usr/share/ initramfs- tools/scripts/ local-top$ diff -u iscsi.orig iscsi
--- iscsi.orig 2018-10-30 15:53:36.314256545 +0000
+++ iscsi 2018-10-30 15:53:02.883686328 +0000
@@ -360,4 +360,19 @@
done
fi
+# Remove the interface file if no disks are present open-iscsi. interface ] ; then by-path/ *-iscsi- *; do open-iscsi. interface
+if [ -f /run/initramfs/
+ found=0
+ for disk in /dev/disk/
+ if ! "$(readlink -f "$disk")" ; then
+ continue
+ fi
+ found=1
+ break;
+ done
+ if [ $found = 0 ] ; then
+ rm /run/initramfs/
+ fi
+fi
+
exit 0