I have been successfully using rclone on my mac and I am now migrating it over to a dedicated linux box to be used as a NAS.
I am trying to run a command to mount it and verify it is working before i turn it into a system service. When I run the command it fails, saying "most helper error: fusermount: failed to access mount point: /path/to/mountpoint: Value too large for defined data type.
I trying searching online, but couldn’t find anything on it, so I am coming here for any help.
I am also running the command as root to eliminate any permissions issues. once working i will verify it functions with my user account.
Here is the detailed logs
2019/04/24 21:58:13 DEBUG : rclone: Version “v1.47.0” starting with parameters ["/usr/bin/rclone" “mount” “gcrypt:” “/srv/dev-disk-by-label-WDred/GD” “–allow-other” “–dir-cache-time” “96h” “–drive-chunk-size” “32M” “–log-level” “DEBUG” “–log-file” “/opt/rclone/logs/rclone.log” “–config” “/opt/rclone/rclone.conf” “–umask” “002” “–timeout” “1h” “–rc”]
2019/04/24 21:58:13 NOTICE: Serving remote control on http://127.0.0.1:5572/
2019/04/24 21:58:13 DEBUG : Using config file from “/opt/rclone/rclone.conf”
2019/04/24 21:58:14 DEBUG : Encrypted drive ‘gcrypt:’: Mounting on “/srv/dev-disk-by-label-WDred/GD”
2019/04/24 21:58:14 mount helper error: fusermount: failed to access mountpoint /srv/dev-disk-by-label-WDred/GD: Value too large for defined data type
2019/04/24 21:58:14 Fatal error: failed to mount FUSE fs: fusermount: exit status 1
I am using an ODROID HC2 single board computer. It is a 32 bit computer. I am also using a 32 bit OS. My OS is based on Debian, it is OMV 4.1.22. Processor is ARMv71.
The HDD that is referenced in the script is formatted as XFS
I agree, it does seem like fusermount. I tried looking there, but couldn’t find anything that worked. I also tried to eliminate just fusermount, but it doesn’t see you can use it directly to mount something.
Here is the unmount commnand
fusermount -u nonexistent
fusermount: failed to unmount /root/nonexistent: No such file or directory
After doing some more research, it looks like I might need to compile with the -D_FILE_OFFSET_BITS=64 to overcome this. I am guessing it will need to do that to the fuse repo?
So I went down this path and was trying to recompile Fuse 2.9.7 with the -D_FILE_OFFSET_BITS=64 when someone told me they have mergerfs working. So I tried mergerfs and it works! I can transfer a 3+ GB file in and out of the mergerfs (it also uses fuse) mount and I do not have any problems. I can also unmount and remount it without any issues.
I can see from the strace that it isn’t rclone returning generating this error it is fusermount.
the fact that you’ve made mergerfs work probably points the finger back at rclone…
I’ve not had any reports that rclone mount doesn’t work on 32-bit. Unfortunately I don’t have any 32 bit machines left to test it on myself!
One thing you could try is building rclone from source yourself on the 32 bit machine using the command go build -tags cmount. You’ll need the FUSE development library installed as well as the go compiler.
This will build a version of rclone which uses FUSE directly. You can use this with the rclone cmount command which is identical to rclone mount. In fact you’ll have access to both. Can you try that and see if it works? If it works with cmount then that means there is a bug in the fuse library rclone uses.
Is there a way to pass a CFLAG (-D_FILE_OFFSET_BITS=64 ) with GO or is it not needed with this cmount method, or do I have to alter a header file of some sort?
Great! Yes you can use cmount - it is the version of mount used on Windows so has had lots of testing.
So I think this must be a bug in the bazil/fuse library failing to adapt to your system somehow. Looking at the issues the library works on 386 I think, so it must be some adaption which is going wrong…