[Pkg-sysvinit-devel] Early writable filesystem

Thomas Hood jdthood at yahoo.co.uk
Sat Jan 7 22:55:18 UTC 2006


0. nothing
1. /run
2. /lib/run
3. /var/run

One problem with #3 is that it eliminates the freedom of administrators
to choose a different kind of filesystem for early writability on the
one hand and for general purpose use on the other.  That is, if the admin
has nothing but a tmpfs available for early use then the admin is forced
to use tmpfs for /var/run and cannot mount a network fs on it later.
This could be a fatal objection for #3.  For all I know there could be
packages out there that write significant amounts of data to /var/run and
users of such packages who would not want /var/run to be on a tmpfs and
who don't have anything but a tmpfs available early.

Added to the fact that making /var/run usable early while still allowing
/var to be network mountable involves tricky code and races[0], I'd say
that there are enough reasons for ruling out #3.

[0] There will always be a race so long as processes can use /var/run
at the same time as /var is being mounted and the early /var/run fs is
being moved onto the latter.  Between the mounting of /var and the moving
of /var/run, the files in /var/run are not visible; so processes using
/var/run have to be careful.

#1 and #2 are technically equivalent and #2 is much easier politically, so
I say we go with #2 unless we can't agree that there is enough reason do
to anything other than #0 which is, of course, the easiest.

Regarding a skeleton for the early-writable fs (EWF).  If we aren't doing
it for /var/run then by the same reasoning we shouldn't do it for EWF
either.
-- 
Thomas



More information about the Pkg-sysvinit-devel mailing list