Hello,

I'm using systemd-239-74 on RHEL 8.8 EUS.

I was wondering if one can express the following :

start some service *only and only if/when* all remote mounts (ex: nfs, some parallel fs) has *succeeded*, taking into account it may take some time for some mount (some fs clients just live curl | sh themselves at start !) to finish (which seems to exlude usage of AssertPathIsMountPoint for instance, as it would not wait, or would it ?)

I have no auto option in the fstab for those fs and they use the _netdev option

Obvisouly I could statically list all the mounts units as an ordering dependency but this is not what I was looking for as there are namy (and I'm not even sure - see below - it it would be enough)

Exploring this question I stumbled upon the following points :

my understanding is that:

1. remote-fs.target special target is pulled in by multi-user.target and is added by systemd-fstab-generator as a Before= ordering dep to all remote .mount units

-> I also see a remote-fs.target has a Requires=<remote-mounts> activation dep : I probably missed it in the doc but I don't see this listed in neither implicit nor default dep : where does it come from ?

2. Before=/After= refer, in the case of service units, to when the unit has "finished starting up", this being defined by "when it returns failed or success", which is dependent of the Type= of the service

Is this understanding correct ?

But when the unit is of type mount : what's the semantic of Before/After ? (I don't think I saw it in the doc neither)

What's the meaning/use of Type=none in a .mount unit ?

My experience is that the mount may fail and remote-fs.target will still be reached, even if one replace Requires with BindsTo, correct ?

So success or failure of the mount process does not seem to be involved in the ordering dep, or does it ?

Thanks for your help

--
Thomas HUMMEL

Reply via email to