(Sorry for the abbreviated reply, rather spotty internet in this
fishing village on the Noto peninsula :-)
I added an extra commit which adds a common path for WIFEXITED and
friends. We have something similar to it in libguestfs which we use
all over. It also deals with WIFSTOPPED which I guess is not
reachable in the places we use it now, but might become used in a
future commit? (Actually I wonder if it's reachable if nbdkit is run
under ptrace?)
About writes to the disk: ‘-o ro’ will write to the journal if it
needs recovery. We hit that bug in libguestfs many years back. I was
also expecting to say here that ‘-o ro’ will write to a newly created
filesystem to do lazy journal initialization and/or lazy inode table
initialization (both features are enabled by default). However having
said that I wasn't able to reproduce that behaviour in testing just
now, even when I used type=ext4, so I guess this is suppressed by the
kernel for r/o mounts.
In any case it's definitely the case that you cannot mix even a single
writable mount with other r/o mounts, for reasons which are obvious to
us filesystem veterans, but which users tend to expect "should work".
And I'd be leary about mixing even only ‘-o ro’ mounts because of
journal recovery. (Of course it's safe if the disk itself is
read-only).
I also modified the busybox example using mkdir -p which, along with
shell {} expansion, does indeed make the example a little shorter.
Rich.
--
Richard Jones, Virtualization Group, Red Hat
http://people.redhat.com/~rjones
Read my programming and virtualization blog:
http://rwmj.wordpress.com
virt-top is 'top' for virtual machines. Tiny program with many
powerful monitoring features, net stats, disk stats, logging, etc.
http://people.redhat.com/~rjones/virt-top