<div dir="ltr"><div dir="ltr">On Fri, Mar 13, 2020 at 10:03 AM Thomas Blume <<a href="mailto:Thomas.Blume@suse.com">Thomas.Blume@suse.com</a>> wrote:<br></div><div class="gmail_quote"><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">Hi,<br>
<br>
I have a SUSE SLES system where system root is provided via iscsi firmware (ibft).<br>
The installer automatically adds the _netdev parameter to the system root<br>
mount.<br>
The ordering when applying the _netdev parameter is documented as:<br>
<br>
--><br>
Network mount units are ordered between remote-fs-pre.target and<br>
remote-fs.target, instead of local-fs-pre.target and local-fs.target. They also<br>
pull in network-online.target and are ordered after it and network.target.<br>
--<<br>
<br>
On system start, I can see this:<br>
<br>
--><br>
Mär 12 16:38:11 install systemd[1]: dev-disk-by\x2duuid-b51ee00b\x2d2a1f\x2d48f9\x2da024\x2dc4107d68b7b8.device: Dependency Before=network-online.target ignored (.device units cannot be del><br>
Mär 12 16:38:11 install systemd[1]: dev-disk-by\x2duuid-b51ee00b\x2d2a1f\x2d48f9\x2da024\x2dc4107d68b7b8.device: Dependency Before=network.target ignored (.device units cannot be delayed)<br>
Mär 12 16:38:11 install systemd[1]: dev-disk-by\x2duuid-515E\x2d433F.device: Dependency Before=network-online.target ignored (.device units cannot be delayed)<br>
Mär 12 16:38:11 install systemd[1]: dev-disk-by\x2duuid-515E\x2d433F.device: Dependency Before=network.target ignored (.device units cannot be delayed)<br>
--<<br>
<br>
Which looks like _netdev becomes almost a noop.<br>
The only effect I can see afterwards is that the system root mount gets ordered<br>
below remote-fs.target:<br>
<br></blockquote><div><br></div><div>Somehow the 'cannot be delayed' message does not make sense with Before=.<br></div><div><br></div><div></div><div>But it feels like the dependency itself is backwards, too, it should be *After=* network.target... At least I see the regular systemd-fstab-generator adds After=, which makes more sense, but it still triggers the same message.</div><div><br></div><div>I guess there's a bug in there somewhere but I'm not sure where.</div><div> </div><blockquote class="gmail_quote" style="margin:0px 0px 0px 0.8ex;border-left:1px solid rgb(204,204,204);padding-left:1ex">
<br>
● └─remote-fs.target<br>
●   ├─-.mount<br>
●   ├─boot-efi.mount<br>
●   └─iscsi.service<br>
<br>
But this is also a noop, because system root is already mounted in the initrd<br>
and has no more relevance after switch root.<br>
It could be even dangerous, because on shutdown the system root mount might be<br>
attempted to stop before the system is switching back to the initrd.<br></blockquote><div><br></div><div>AFAIK the root mount is never stopped (and has the 'perpetual' flag set). I don't think it would even be *possible* to do so because pid1 itself is being executed from there, as well as there's still other filesystems (/run, /dev) mounted on top of it. (Which is the entire point of switching back to the shutdown-initramfs.)</div><div><br></div><div>Either way – stopping a mount literally just unmounts the filesystem (which is supposed to be a safe operation). I'd probably be more worried about iscsi.service, since the blockdev losing connection *before* its fs is unmounted is actually the dangerous part...</div><div><br></div></div>-- <br><div dir="ltr" class="gmail_signature"><div dir="ltr">Mantas Mikulėnas</div></div></div>