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
--
To UNSUBSCRIBE, email to [email protected]
with a subject of "unsubscribe". Trouble? Contact [email protected]