[systemd-devel] why does nofail imply no After= in /etc/fstab

Lennart Poettering lennart at poettering.net
Thu Jan 16 07:19:58 PST 2014


On Thu, 16.01.14 16:14, Zbigniew Jędrzejewski-Szmek (zbyszek at in.waw.pl) wrote:

> 
> On Thu, Jan 16, 2014 at 03:51:02PM +0100, Lennart Poettering wrote:
> > On Wed, 15.01.14 20:20, Zbigniew Jędrzejewski-Szmek (zbyszek at in.waw.pl) wrote:
> > 
> > > I was a bit surprised that for mount points the dependency
> > > Before=local-fs.target is only added when nofail is not used.
> > > This seems to be a concious decision (added by Lennart in
> > > 155da457, and then survived all the refactorings by Tom
> > > and Thomas...). Do we still want this behaviour?
> > 
> > Well, "nofail" means that we shouldn't bother if the device doesn't show
> > up at boot. Now, if we add "After=" for it there, then we will time-out
> > on it (though not fail) if something else pulls it in.
> > 
> > I figure this is a question what nofail really should mean: "never wait
> > for it, never fail for it" (which is the status quo), or just "usually
> > don't wait, never fail for it" (which would be the change if we added
> > After= in). I am tempted to say that the status quo is more likely what
> > people would expect, no?
>
> The problem is that with current boot speeds, "usually don't wait" means
> that it shows up at some "upredictable" time. With a bit of luck, users
> might be able to log in before such mount points which are declared in
> /etc/fstab are mounted. I think that's unexpected, because it goes againt
> the general rule that things declared in /etc/fstab (w/o automount or noauto)
> are mounted at boot.

I'd argue that "nofail" is precisely what the admin can use to *enable*
this race. If it should be avoided to allow the user to log in before
the device has shown up and is hooked in the admin should not have used
"nofail"...

> I'd prefer to keep things orthogonal. This feels like an "optimization"
> that it user visible. We should rather encourage people to use automounts
> if the don't want to wait for the mountpoint to come up.

I am pretty sure people would be annoyed by this change of behaviour,
simply because every boot would still delay for 90s if the device is not
plugged in. I have the suspicion that people would really assume that
using "nofail" would make their system boot-up cleanly, without delays
if the file system cannot be found -- and that expection is something
we'd not fulfill?

Lennart

-- 
Lennart Poettering, Red Hat


More information about the systemd-devel mailing list