[systemd-devel] systemd is trying to break mount ordering

Uoti Urpala uoti.urpala at pp1.inet.fi
Mon Jun 15 05:45:19 PDT 2015


On Mon, 2015-06-15 at 13:24 +0200, Jan Synáček wrote:
> 
> 192.168.122.1:/srv/nfs /mnt/nfs nfs defaults 0 0
> /var/tmp/test.iso /mnt/nfs/content iso9660 loop,ro 0 0
> 
> Notice the last two lines. There is an NFS mount mounted to /mnt/nfs 
> and
> an ISO filesystem mounted into /mnt/nfs/content, which makes it
> dependent on the NFS mount.
> 


> Jun 15 10:37:55 rawhide-virt systemd[1]: firewalld.service: Found 
> dependency on local-fs.target/start
> Jun 15 10:37:55 rawhide-virt systemd[1]: firewalld.service: Found 
> dependency on mnt-nfs-content.mount/start
> Jun 15 10:37:55 rawhide-virt systemd[1]: firewalld.service: Found 
> dependency on mnt-nfs.mount/start
> Jun 15 10:37:55 rawhide-virt systemd[1]: firewalld.service: Found 
> dependency on network.target/start


> Isn't systemd trying to delete too many jobs while resolving the 
> cycles?

I don't think the cycle breaking is to blame. It's simple and only
considers one cycle at a time, but in this case I doubt there exists
any good solution that could be found. The cycle breaking only
potentially breaks non-mandatory dependencies (Wants). local-fs.target
dependencies on mounts and (probably, didn't check) dependencies
between mounts are "Requires", so the dependency that's arguably wrong
here cannot be broken. Once local-fs.target gets a hard dependency on
network the situation is already pretty bad, and you probably shouldn't
expect it to recover gracefully from that.




More information about the systemd-devel mailing list