[buildd-tools-devel] Filesystem union v3

Jan-Marek Glogowski glogow at fbihome.de
Tue Jun 30 18:05:38 UTC 2009


Hi everybody

This version incorporates most changes from

http://git.debian.org/?p=users/rleigh/schroot.git;a=shortlog;h=refs/heads/fs-union

It's based on my v2 patch-set. The patches from 02 to 08 just got a little
cleanup based on the comments from Roger Leigh at the beginning of this month.

   3.1% debian/
   8.5% etc/setup.d/
  69.8% sbuild/
  16.6% test/

 59 files changed, 2075 insertions(+), 387 deletions(-)

> - fixed-length buffers
This is minimized to one occation now to read the pipe to get the filename.

> - passing pointers to objects rather than references
Should be fixed.

> + 'chroot_fs_union *overlay = 0;' 
Fixed - this was C'n'P from the chroot_lvm_snapshot code just above.

> - use of dynamic cast in sbuild-session for chroot_plain.  String
>   comparisons are slower than dynamic cast and are *not* type-safe.
As chroot_directory is based on chroot_plain, dynamic cast won't work, as we
only want to skip the plain but not the directoty chroot.  I'm now using
get_run_setup_scripts() instead of the string comparison.

> + The changes to run_parts break compatiblity with run-parts(8).
The current code reruns the failing script. The fs-union code doesn't depend
on this feature, as this is just a fix for the problem with loopback chroots
without fs-union, where the stop-skript 15killprocs killed the running chroot
when starting a second session, which failed and killed the first session.

Some comments for the individual patches:

[01] For me make check fails without it.
[02] The session_id from chroot is never set. chroot -b / -e don't work for me
     as the group in the session file is empty.
[03-08] The previous patches with a little cleanup.
[09-10] From the rleigh/fs-union branch to drop chroot inheritance from 
        chroot_mountable.
[11] Is there a reason left, why it should be setable from outide the object?
     I even tried to make the value a constructor parameter, which turned out
     to become a code mess.
[12] Drop chroot inheritance from chroot_source, as 09/10 did for 
     chroot_mountable
[13] This simplifies fs-union support by introducing the underlay directory.
     Based on the underlay changes in the rleigh/fs-union branch.
[14] As 13 - make union support binary configurable
[15] Fix for dh_prep
[16] As a consequence of the chroot inheritance drops - not finihed, but gets
     you the idea.
[17] Remove the backup header file

Regards,

Jan-Marek Glogowski




More information about the Buildd-tools-devel mailing list