[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