On Thu, 18.10.12 21:03, Mirco Tischler (mt...@gmx.de) wrote: > > 2012/10/18 David Strauss <da...@davidstrauss.net>: > > If a service depends on a mount, systemd doesn't properly wait for the > > mount to complete before starting the service. This creates bad race > > conditions where the service may write to the mount directory before > > the mount is active, which can stop the mount from even completing > > successfully because the mount directory isn't empty. We might be able > > to stop the writes through permissions on the mount directory, but the > > writes would still fail. > > > > The cleanest solution to this seems to be "notify" integration into > > the mount utility so it tells systemd that the mount is complete or > > waiting for the mount request to complete in some other way. > > > > Part of why we use this dependency is to perform the mount before > > "forking" the file system namespace for the dependent service. This > > allows the dependent service file system namespace to not propagate > > further mounts from the main file system. > > > > Has anyone else looked into this? > > > I was under the impression that systemd waits for mount to exit before > it marks the unit as started. And mount itself may either mount the fs > and exit or wait for a fs specific helper to exit, which then does the > actual mounting and exits only after the mount is complete. So systemd > should never mark a mount unit as mounted before it actually is ready. > At least that's how I think it's supposed to work. Every deviation I > would count as a bug. Or is my logic flawed?
Mirco is right, systemd does wait for mount(8) to finish before going to the next unit. If this doesn't work this is most likely a bug in the respective fs? (which one is it? Lennart -- Lennart Poettering - Red Hat, Inc. _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel