Hi guys, we had a case were iscsid has been started and multipath has been initialiazed by hand and thus it has not been stopped during shutdown by OpenRC. So during shutdown iscsi was stopped, multipath still active and OpenRC's stop-lvm addon was issuing a "vgs" call and it tried to open/read some of those iSCSI devices even thought the connection has been terminated already. The result is that the "vgs" just hangs forever. IMHO there should be a timeout or something else to validate the (block-)devices first. (tested with LVM 2.02.88) Steps to reproduce: # Setup iSCSI and multipath # Start iscsid /etc/init.d/iscsid start iscsiadm ... # Initialize multipath by hand (do not use the init script) multipath # Make sure the devices are present multipath -l # Stop iSCSI /etc/init.d/iscsid stop # multipath still has the devices multipath -l # vgs hangs now vgs
A "vgs" when the Devices are connected: # vgs /dev/sdag: read failed after 0 of 4096 at 0: Input/output error /dev/sdag: read failed after 0 of 4096 at 32212189184: Input/output error /dev/sdag: read failed after 0 of 4096 at 32212246528: Input/output error /dev/sdag: read failed after 0 of 4096 at 4096: Input/output error ...
Created attachment 352000 [details, diff] Patch that let's multipath wait for iscsid and lvm before it's being started
Fixed in tree: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=e78d65c9e9ffa54a6bece600c8d09881361c4889