daemon: Replace root_mounted global with intelligence.
authorRichard W.M. Jones <rjones@redhat.com>
Thu, 27 Jan 2011 17:27:41 +0000 (17:27 +0000)
committerRichard W.M. Jones <rjones@redhat.com>
Thu, 27 Jan 2011 18:08:45 +0000 (18:08 +0000)
commit77df7d6d537cebe05e06bf07e6e4a2082fe6656a
tree5ff1b7f29a47c5839c2c5e2ebd8b6d1f4f92c599
parente85fbee7bff9422a370d3f437594d262c043d89b
daemon: Replace root_mounted global with intelligence.

We used to maintain a global flag 'root_mounted' which tells us if the
user has mounted something on root (ie. on the sysroot directory).

This flag caused a lot of trouble (eg. RHBZ#599503) because it's hard
to keep the flag updated correctly when the user can do arbitrary
mounts and also use mkmountpoint.

Remove this flag and replace it with a test to see if something is
mounted on *or under* the sysroot.  (It has to be *or under* because
of mkmountpoint and friends).

This also replaces a rather convoluted "have we mounted root yet"
check in the mount* APIs with a simpler check to see if the mountpoint
exists and is an ordinary directory.
daemon/daemon.h
daemon/mount.c