[buildd-tools-devel] Bug#608121: Bug#608121: schroot: Add support for, unionfs-fuse

Shanto shanto at hotmail.com
Sun Oct 30 23:58:06 UTC 2011


Thanks Roger!

I will test this come back to you soon with complete patches (they would 
be simple or very similar to what you suggest) addressing this issue. In 
the meantime, I have also contacted[1] the developer of unionfs-fuse 
about this issue. I requested him to adjust his program/package to 
adhere to standard mount/fstab syntax. Once I get some response (or 
after it times out), I hope to get back to you with a complete set of 
changes for your review and inclusion.

[1] 
http://groups.google.com/group/unionfs-fuse/browse_thread/thread/8ccadc6679d19caf

Regards,
Shanto

On 10/31/2011 05:39 AM, Roger Leigh wrote:
> On Mon, Oct 31, 2011 at 05:04:02AM +0600, Shanto wrote:
>> Has there been any progress on this? How could I help?
>>
>> mount -t fuse -o cow,suid,dev,allow_other "unionfs-fuse#d1=RW:d2=RO"
>>
>> While the above command should work in theory, schroot itself
>> doesn't allow any value for union-type other than aufs and unionfs:
>>
>> E: /etc/schroot/chroot.d/abf.conf: line 8 [abf32] union-type:
>> Unknown filesystem union type ‘fuse’
>> E: /etc/schroot/chroot.d/abf.conf: line 8 [abf32] union-type:
>> Unknown filesystem union type ‘unionfs-fuse’
>>
>> I think, we need schroot program to allow either of fuse or
>> unions-fuse. Once schroot accepts those union-types, it would be
>> only a matter of passing proper configuration directives to have
>> unionfs-fuse and/or other fuse implementations.
> This would be a simple change to sbuild/sbuild-chroot-facet-union.cc:
>
> diff --git a/sbuild/sbuild-chroot-facet-union.cc b/sbuild/sbuild-chroot-facet-un
> index 8120024..a397f47 100644
> --- a/sbuild/sbuild-chroot-facet-union.cc
> +++ b/sbuild/sbuild-chroot-facet-union.cc
> @@ -151,6 +151,7 @@ chroot_facet_union::set_union_type (std::string const&  type)
>   {
>     if (type == "aufs" ||
>         type == "unionfs" ||
> +      type == "unionfs-fuse" ||
>         type == "none")
>       this->union_type = type;
>     else
>
> This simply permits "union-type=unionfs-fuse" in the configuration
> file.  Would any other support be required in addition, e.g. in the
> setup scripts?  You would definitely need to add support to
> etc/setup.d/10mount, even if it's as simple as
>
> diff --git a/etc/setup.d/10mount b/etc/setup.d/10mount
> index 29636d1..78cdbad 100755
> --- a/etc/setup.d/10mount
> +++ b/etc/setup.d/10mount
> @@ -86,7 +86,7 @@ do_mount_fs_union()
>       # Prepare mount options (branch config) for union type
>       if [ -z "$CHROOT_UNION_MOUNT_OPTIONS" ]; then
>          case $CHROOT_UNION_TYPE in
> -           unionfs)
> +           unionfs|unionfs-fuse)
>                  CHROOT_UNION_MOUNT_OPTIONS="dirs=${CHROOT_UNION_OVERLAY_DIRECTOR
>                  ;;
>              aufs)
>
> But if you needed any additional special mount options, you could add
> them here.  If those options require additional keys in schroot.conf,
> they would need adding to sbuild-chroot-facet-union.(cc|h).
>
> I'm afraid I don't use the union functionality myself, which makes
> validation and testing of this feature difficult.  I'll be happy to
> review any changes, but you might also want to run them by Jan-Marek
> Glogowski (CCd) who authored the unionfs support and should be a bit
> more familiar with it than myself.
>
>
> Regards,
> Roger
>





More information about the Buildd-tools-devel mailing list