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

Chris Murphy lists at colorremedies.com
Thu Jan 16 07:14:04 PST 2014


On Jan 16, 2014, at 7:51 AM, Lennart Poettering <lennart at poettering.net> 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?

It depends on how literal you want it to be. I think most people using nofail use it as a hammer to both don't wait or fail. Linguistically nofail doesn't indicate whether to wait, only to not fail. So I'd say with nofail, tolerate some wait but don't fail. If there's some delay with a device appearing, hence the wait, then it seems to me that's a different problem that probably shouldn't be masked by nofail, but maybe such problems are common (?). The alternate is an added option nowait which would also imply nofail. That would also be literal.

Chris Murphy



More information about the systemd-devel mailing list