#905 PR merged: automatically load fuse kernel module for sshfs

Labels: enhancement, bug, fixed / solved / done

jsmeix opened issue at 2016-07-07 12:20:

automatically load fuse kernel module also for sshfs
in the same way as it is already done for ftpfs
cf. issue845

jsmeix commented at 2016-07-07 12:29:

@gdha
please have a look if it looks o.k. for you.

For the reason behind see the
"FUSE sshfs Problem while recovering a Centos7 System"
mail thread in July 2016 on the rear-users mailing lis
in particular see
http://lists.relax-and-recover.org/pipermail/rear-users/2016-July/003376.html
(excerpts):

< BACKUP_URL=sshfs://sambasave@10.2.3.4/home/sambasave/Backup
> MODULES_LOAD=( vmxnet vmxnet3 e1000e e1000 fuse hpsa )
...
> When I ty to recover I get a message like :
> "can't load FUSEFS please load the fuse module"
...
In particular regarding loading the fuse kernel module
automatically (regardless of MODULES_LOAD) when 
BACKUP_URL=sshfs://...
I assume the mount_url() function in
usr/share/rear/lib/global-functions.sh
needs to be enhanced for sshfs in the same way
as I implemented it for the ftpfs case, cf.
https://github.com/rear/rear/issues/845
and
https://github.com/rear/rear/pull/859

gdha commented at 2016-07-07 15:59:

@jsmeix I prefer to make a generic solution instead of a protocol by protocol fix, by fixing it in ./skel/default/etc/scripts/system-setup.d/40-start-udev-or-load-modules.sh and load always at the end /etc/modules

gdha commented at 2016-07-07 16:03:

@jsmeix I think you can close the pull request as I made a generic fix?

jsmeix commented at 2016-07-11 10:09:

@gdha
the generic fix in https://github.com/rear/rear/commit/0ec871676b7cdc52461574200c8a54867d0cfb37
does not work for me, see
https://github.com/rear/rear/commit/0ec871676b7cdc52461574200c8a54867d0cfb37#commitcomment-18192197

Regardless that the generic fix does not yet work for me
I agree that a generic fix is the right way to solve it.

Nevertheless as a temporary band-aid I merge my
current pull request until the generic fix actually works.

When the generic fix actually works I will remove only
the "modprobe fuse" lines but I like to keep the other tests
because I prefer to error out in case of errors than to blindly
proceed cf. https://github.com/rear/rear/wiki/Coding-Style

jsmeix commented at 2016-07-12 12:56:

I found out that in practice one cannot omit
the additional "modprobe fuse" for sshfs and ftpfs
for the mount_url() function in
usr/share/rear/lib/global-functions.sh
because without it:

# grep -v ^# etc/rear/local.conf 
OUTPUT=ISO
BACKUP=NETFS
BACKUP_OPTIONS="nfsvers=3,nolock"
BACKUP_URL=ftpfs://johannes@10.160.4.244/rear
...
# usr/sbin/rear -d -D mkbackup
Relax-and-Recover 1.18 / Git
Using log file: /root/rear/var/log/rear/rear-f121.log
ERROR: Mount command 'curlftpfs --verbose -o user='johannes' ftp://10.160.4.244/rear /tmp/rear.aFr3j7dXQcBGKFg/outputfs' failed.
Aborting due to an error, check /root/rear/var/log/rear/rear-f121.log for details
Terminated

I.e. the generic fix in https://github.com/rear/rear/pull/909
only loads the 'fuse' kernel module during "rear recover"
but to make "rear mkbackup" just working one still needs
the additional "modprobe fuse" for sshfs and ftpfs
for the mount_url() function in
usr/share/rear/lib/global-functions.sh

Because the additional "modprobe fuse" don't hurt
I keep it as it is now.


[Export of Github issue for rear/rear.]