Bug#858211: systemd: uninterruptible wait if swap is missing, even in rescue boot

Nathan Dorfman ndorf at rtfm.net
Mon Mar 20 23:24:32 GMT 2017


On Sun, Mar 19, 2017 at 09:53:58PM +0100, Michael Biebl wrote:
> Since systemd starts everything in parallel, which service should
> ctrl+c apply to?

In this situation, systemd gives the distinct impression that all other
jobs have started, and it is now waiting for just one. A countdown timer
is displayed (screenshot attached). So I don't think there's any doubt
as to what the user *expects* ^C to do here: interrupt the wait.

As a minor aside, I've also attached a screenshot of the same situation
on a jessie system, the difference being that stretch clears the screen
right before. Is that intentional, or worth filing another bug over?

> What you want is emergency.target for a case like yours.
> 
> Add "emergency" or systemd.unit=emergency.target to the kernel command
> line for that.

This works great, thank you.

> It waits for the device to show up. A heuristic which concludes from the
> device name whether a device still can show up or not sounds very
> brittle to me and thus not a good idea.

Yeah, you're right. The ideal behavior IMO would be to display what is
happening (already done, and rather nicely) and allow the user/operator
to choose whether or not to wait. Since legacy init allowed this via ^C,
it even seems like a reasonable expectation.

For me personally, reducing this timeout to 3 seconds instead of 90
would seem to be a decent workaround, along with the emergency target.
That being said, I still think I have a valid wishlist item here, at the
very least.

As things stand now, is the 90 seconds really a sane default? I can imagine
some cases in which it'd be better than 3, but none of them seem typical.
The same thing applies to shutdown; a database server might need that long
to shut down, but waiting more than 15 or so for any old process seems like
a waste of time.
 
> For missing swap devices it does not drop you into rescue mode. Missing
> file systems on the other hand will trigger rescue mode. I assume this
> is a reasonable choice.
> 
> The error will show up in the journal, fwiw.

That's fair enough. Personally, I think an aborted boot would be better
than being surprised by missing swap in the (unlikely) event it's
actually needed. I assume I could change this, though, if I actually
cared to.

Thanks again,
-nd.
-------------- next part --------------
A non-text attachment was scrubbed...
Name: systemd_waiting_stretch.png
Type: image/png
Size: 3955 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-systemd-maintainers/attachments/20170320/fdf0820e/attachment-0004.png>
-------------- next part --------------
A non-text attachment was scrubbed...
Name: systemd_waiting_jessie.png
Type: image/png
Size: 16539 bytes
Desc: not available
URL: <http://alioth-lists.debian.net/pipermail/pkg-systemd-maintainers/attachments/20170320/fdf0820e/attachment-0005.png>


More information about the Pkg-systemd-maintainers mailing list