Dropping unionfs-fuse support:
authorDaniel Baumann <mail@daniel-baumann.ch>
Sun, 4 Jan 2015 20:16:36 +0000 (21:16 +0100)
committerDaniel Baumann <mail@daniel-baumann.ch>
Sun, 4 Jan 2015 20:47:53 +0000 (21:47 +0100)
  * unionfs-fuse itself has been always very buggy for us.
  * unionfs-fuse code in live-boot as been experimental at best.
  * the FUSE implementation is horribly slow due to the nature of
    FUSE (~10min to boot a live system with unionfs-fuse compared
    to <<1min with aufs).
  * and last but not least, there's overlay in kernel mainline now.

backend/initramfs-tools/live.hook
components/9990-main.sh
components/9990-misc-helpers.sh
components/9990-overlay.sh
debian/control
debian/live-boot.bug-script

index 234f334..55b0207 100755 (executable)
@@ -110,12 +110,6 @@ manual_add_modules aufs
 manual_add_modules overlay
 manual_add_modules unionfs
 
-# Filesystem: unionfs-fuse
-if [ -x /usr/bin/unionfs-fuse ]
-then
-       copy_exec /usr/bin/unionfs-fuse /bin
-fi
-
 # Filesystem: vfat
 manual_add_modules nls_cp437
 manual_add_modules nls_iso8859-1
index 85b8a1d..512c624 100755 (executable)
@@ -148,15 +148,6 @@ Live ()
 
        log_end_msg
 
-       # unionfs-fuse needs /dev to be bind-mounted for the duration of
-       # live-bottom; udev's init script will take care of things after that
-       case "${UNIONTYPE}" in
-               unionfs-fuse)
-                       mount -n -o bind /dev "${rootmnt}/dev"
-                       ;;
-       esac
-
-
        # aufs2 in kernel versions around 2.6.33 has a regression:
        # directories can't be accessed when read for the first the time,
        # causing a failure for example when accessing /var/lib/fai
@@ -201,12 +192,6 @@ Live ()
 
        Swap
 
-       case "${UNIONFS}" in
-               unionfs-fuse)
-                       umount "${rootmnt}/dev"
-                       ;;
-       esac
-
        exec 1>&6 6>&-
        exec 2>&7 7>&-
        kill ${tailpid}
index 70f907a..fcd2b07 100755 (executable)
@@ -1294,11 +1294,6 @@ do_union ()
                        noxino_opt="noxino"
                        ;;
 
-               unionfs-fuse)
-                       rw_opt="RW"
-                       ro_opt="RO"
-                       ;;
-
                *)
                        rw_opt="rw"
                        ro_opt="ro"
@@ -1306,22 +1301,6 @@ do_union ()
        esac
 
        case "${UNIONTYPE}" in
-               unionfs-fuse)
-                       unionmountopts="-o cow -o noinitgroups -o default_permissions -o allow_other -o use_ino -o suid"
-                       unionmountopts="${unionmountopts} ${unionrw}=${rw_opt}"
-                       if [ -n "${unionro}" ]
-                       then
-                               for rofs in ${unionro}
-                               do
-                                       unionmountopts="${unionmountopts}:${rofs}=${ro_opt}"
-                               done
-                       fi
-                       ( sysctl -w fs.file-max=391524 ; ulimit -HSn 16384
-                       unionfs-fuse ${unionmountopts} "${unionmountpoint}" ) && \
-                       ( mkdir -p /run/sendsigs.omit.d
-                       pidof unionfs-fuse >> /run/sendsigs.omit.d/unionfs-fuse || true )
-                       ;;
-
                overlay)
                        # XXX: can multiple unionro be used? (overlay only handles two dirs, but perhaps they can be chained?)
                        # XXX: and can unionro be optional? i.e. can overlay skip lowerdir?
index e22b905..9d26934 100755 (executable)
@@ -10,21 +10,12 @@ setup_unionfs ()
 
        case ${UNIONTYPE} in
                aufs|unionfs|overlay)
-                       modprobe -q -b ${UNIONTYPE}
-
-                       if ! cut -f2 /proc/filesystems | grep -q "^${UNIONTYPE}\$" && [ -x /bin/unionfs-fuse ]
+                       if ! cut -f2 /proc/filesystems | grep -q "^${UNIONTYPE}\$"
                        then
-                               echo "${UNIONTYPE} not available, falling back to unionfs-fuse."
-                               echo "This might be really slow."
-
-                               UNIONTYPE="unionfs-fuse"
+                               panic "${UNIONTYPE} not available."
                        fi
-                       ;;
-       esac
 
-       case "${UNIONTYPE}" in
-               unionfs-fuse)
-                       modprobe fuse
+                       modprobe -q -b ${UNIONTYPE}
                        ;;
        esac
 
@@ -358,15 +349,7 @@ setup_unionfs ()
                                # do nothing # mount -o bind "${d}" "${live_rootfs}"
                                ;;
                        *)
-                               case "${UNIONTYPE}" in
-                                       unionfs-fuse)
-                                               mount -o bind "${d}" "${live_rootfs}"
-                                               ;;
-
-                                       *)
-                                               mount -o move "${d}" "${live_rootfs}"
-                                               ;;
-                               esac
+                               mount -o move "${d}" "${live_rootfs}"
                                ;;
                esac
        done
index 9fcef5b..22a06d0 100644 (file)
@@ -23,7 +23,6 @@ Suggests:
  curlftpfs,
  cryptsetup,
  httpfs2,
- unionfs-fuse,
  wget,
 Description: Live System Boot Components
  The Live Systems project maintains the components to build Debian based Live
index e3f6d36..063ead8 100644 (file)
@@ -7,7 +7,7 @@ dpkg -l busybox busybox-initramfs initramfs-tools udev
 dpkg -l rsync uuid-runtime
 
 # Checking suggests
-dpkg -l curlftpfs cryptsetup httpfs2 unionfs-fuse wget
+dpkg -l curlftpfs cryptsetup httpfs2 wget
 
 # Checking other packages
 dpkg -l plymouth