[systemd-devel] Is unmounting of filesystem synchronized with stopping services using these filesystems?

Andrey Borzenkov arvidjaar at gmail.com
Fri Nov 23 22:28:07 PST 2012


According to bootup(7) stopping services and unmounting of filesystems
happens in parallel. Is there any sort of implicit dependencies between
running services and filesystems? I do not see anything besides
dependencies explicitly listed in unit files.

So am I right to assume that systemd just continues to attempt to
unmount each filesystem until it succeeds? In this case I'm just
curious how it happens. As far as I can tell, mount_stop() always
succeeds, so stop job is always completed. After /bin/umount
completes, mount_sigchld_event() checks whether filesystem is gone or
not, and if it is still present it reenters it again in list of active
units. At which point it immediately conflicts with umount.target and
it starts all over again.

Is the above algorithm correct?

TIA

-andrey


More information about the systemd-devel mailing list