'Twas brillig, and Ross Lagerwall at 11/06/13 08:19 did gyre and gimble: > On Mon, Jun 10, 2013 at 08:30:40PM +0200, Lennart Poettering wrote: >> Hmm, this is certainly weird. normally -.mount should not have any such >> conflicts. I really wonder where you got those from... What is the >> contents of /run/systemd/generator/-.mount for you? >> > > AFAICT, mount_load_proc_self_mountinfo is called early in the boot > process and it calls mount_add_one for each filesystem in > /proc/self/mounts, including /. > If a unit does not exist already, a new unit is created and > the following lines are called (in mount_add_one): > > r = unit_add_dependency_by_name(u, UNIT_BEFORE, SPECIAL_LOCAL_FS_TARGET, > NULL, true); > if (r < 0) > goto fail; > > r = unit_add_dependency_by_name(u, UNIT_CONFLICTS, SPECIAL_UMOUNT_TARGET, > NULL, true); > if (r < 0) > goto fail; > > While it would be easy to make the conflicts line above conditional on > the mount point not being /, I'm not sure how this interacts with > mount_load which fills in a whole bunch of stuff and > mount_add_default_dependencies which adds a conflict with umount.target > so long as the mount point is not /.
Without reading the code etc., I'm running systemd with that commit (v204) and I don't get any conflicts for my -.mount unit... So it seems that code is not run for me for whatever reason. After a very quick glance at the code, it could just be that the unit already exists as it's created earlier and thus this bit of the code for -.mount is simply not run? Col -- Colin Guthrie gmane(at)colin.guthr.ie http://colin.guthr.ie/ Day Job: Tribalogic Limited http://www.tribalogic.net/ Open Source: Mageia Contributor http://www.mageia.org/ PulseAudio Hacker http://www.pulseaudio.org/ Trac Hacker http://trac.edgewall.org/ _______________________________________________ systemd-devel mailing list systemd-devel@lists.freedesktop.org http://lists.freedesktop.org/mailman/listinfo/systemd-devel