@@ -223,6 +223,7 @@ install() {
223223 else
224224 inst_multiple -o \
225225 " $systemdsystemunitdir " /iscsi.service \
226+ " $systemdsystemunitdir " /iscsi-init.service \
226227 " $systemdsystemunitdir " /iscsid.service \
227228 " $systemdsystemunitdir " /iscsid.socket \
228229 " $systemdsystemunitdir " /iscsiuio.service \
@@ -236,38 +237,57 @@ install() {
236237 done
237238
238239 mkdir -p " ${initdir} /$systemdsystemunitdir /iscsid.service.d"
239- (
240+ {
240241 echo " [Unit]"
241242 echo " DefaultDependencies=no"
242243 echo " Conflicts=shutdown.target"
243244 echo " Before=shutdown.target"
244- ) > " ${initdir} /$systemdsystemunitdir /iscsid.service.d/dracut.conf"
245+ } > " ${initdir} /$systemdsystemunitdir /iscsid.service.d/dracut.conf"
245246
246247 mkdir -p " ${initdir} /$systemdsystemunitdir /iscsid.socket.d"
247- (
248+ {
248249 echo " [Unit]"
249250 echo " DefaultDependencies=no"
250251 echo " Conflicts=shutdown.target"
251252 echo " Before=shutdown.target sockets.target"
252- ) > " ${initdir} /$systemdsystemunitdir /iscsid.socket.d/dracut.conf"
253+ } > " ${initdir} /$systemdsystemunitdir /iscsid.socket.d/dracut.conf"
253254
254255 mkdir -p " ${initdir} /$systemdsystemunitdir /iscsiuio.service.d"
255- (
256+ {
256257 echo " [Unit]"
257258 echo " DefaultDependencies=no"
258259 echo " Conflicts=shutdown.target"
259260 echo " Before=shutdown.target"
260- ) > " ${initdir} /$systemdsystemunitdir /iscsiuio.service.d/dracut.conf"
261+ } > " ${initdir} /$systemdsystemunitdir /iscsiuio.service.d/dracut.conf"
261262
262263 mkdir -p " ${initdir} /$systemdsystemunitdir /iscsiuio.socket.d"
263- (
264+ {
264265 echo " [Unit]"
265266 echo " DefaultDependencies=no"
266267 echo " Conflicts=shutdown.target"
267268 echo " Before=shutdown.target sockets.target"
268- ) > " ${initdir} /$systemdsystemunitdir /iscsiuio.socket.d/dracut.conf"
269-
269+ } > " ${initdir} /$systemdsystemunitdir /iscsiuio.socket.d/dracut.conf"
270+
271+ # Fedora 34 iscsid requires iscsi-shutdown.service
272+ # which would terminate all iSCSI connections on switch root
273+ cat > " ${initdir} /$systemdsystemunitdir /iscsi-shutdown.service" << EOF
274+ [Unit]
275+ Description=Dummy iscsi-shutdown.service for the initrd
276+ Documentation=man:iscsid(8) man:iscsiadm(8)
277+ DefaultDependencies=no
278+ Conflicts=shutdown.target
279+ After=systemd-remount-fs.service network.target iscsid.service iscsiuio.service
280+ Before=remote-fs-pre.target
281+
282+ [Service]
283+ Type=oneshot
284+ RemainAfterExit=false
285+ ExecStart=-/usr/bin/true
286+ EOF
270287 fi
271288 inst_dir /var/lib/iscsi
289+ mkdir -p " ${initdir} /var/lib/iscsi/nodes"
290+ # Fedora 34 iscsid wants a non-empty /var/lib/iscsi/nodes directory
291+ : > " ${initdir} /var/lib/iscsi/nodes/.dracut"
272292 dracut_need_initqueue
273293}
0 commit comments