Unable to mount webdav resource on FreeBSD 13.1

Dear All,

since version 1.57.0-DEV onf FreeBSD I notice that RCLONE became unable to mount a WebDav resource locally.

With the newer version 1.58 e the latest release of FreeBSD: 13.1 the situation hasn't changed or fixed.

Maybe this is not a bug but rather a new feature that requires an additional package to mount the webdav resource (fuse?), checking at the output from the working version:

And the not working version:

Looks exactly the same.

Therefore I could't find any hint to try to troubleshoot this "bug" better.

Thanks,
freezr

I think this may be the cause of the issue: rclone does not mount on freebsd-14-current · Issue #5843 · rclone/rclone · GitHub

Not sure, there are part that I am surely missing.

I have another FreeBSD 13.1 fresh installed were I setup properly fuse but it won't mount the resource anyway:

2022/05/23 09:47:44 DEBUG : rclone: Version "v1.58.1-DEV" starting with parameters ["rclone" "mount" "-vv" "drive:" "/mnt/drive/" "--vfs-cache-mode" "writes"]
2022/05/23 09:47:44 DEBUG : Creating backend with remote "drive:"
2022/05/23 09:47:44 DEBUG : Using config file from "/home/freezr/.config/rclone/rclone.conf"
2022/05/23 09:47:44 DEBUG : found headers: 
2022/05/23 09:47:44 INFO  : webdav root '': poll-interval is not supported by this remote
2022/05/23 09:47:44 DEBUG : vfs cache: root is "/home/freezr/.cache/rclone"
2022/05/23 09:47:44 DEBUG : vfs cache: data root is "/home/freezr/.cache/rclone/vfs/drive"
2022/05/23 09:47:44 DEBUG : vfs cache: metadata root is "/home/freezr/.cache/rclone/vfsMeta/drive"
2022/05/23 09:47:44 DEBUG : Creating backend with remote "/home/freezr/.cache/rclone/vfs/drive/"
2022/05/23 09:47:44 DEBUG : Creating backend with remote "/home/freezr/.cache/rclone/vfsMeta/drive/"
2022/05/23 09:47:44 DEBUG : webdav root '': Mounting on "/mnt/drive/"
2022/05/23 09:47:44 INFO  : vfs cache: cleaned: objects 0 (was 0) in use 0, to upload 0, uploading 0, total size 0 (was 0)
2022/05/23 09:47:44 DEBUG : : Root: 
2022/05/23 09:47:44 DEBUG : : >Root: node=/, err=<nil>
2022/05/23 09:47:44 DEBUG : vfs cache: cleaner exiting
2022/05/23 09:47:44 ERROR : /mnt/drive/: Unmounted rclone mount
2022/05/23 09:47:44 Fatal error: failed to umount FUSE fs: resource temporarily unavailable
fish: Job 1, 'rclone mount -vv drive: /mnt/dr…' has ended

I followed this guide:

https://blog.socruel.nu/freebsd/mount-webdav-with-rclone-on-freebsd.html

hi,
might be a good idea to testing using the official rclone client,
not a third-party custom built development version.

That is the version available on the FreeBSD latest repo... :man_shrugging:

yes, i understand that, but the only way to get the official rclone client is
https://rclone.org/downloads/#script-download-and-install

1 Like

Understood, thanks for explaining this detail!

If you are able, compiling rclone with -tags cmount as indicated in the link I posted would be interesting and might fix the problem. You'd use rclone cmount instead of rclone mount.

I don't know why it isn't working - I know that the FreeBSD fuse interface is a little different from the Linux one and that has caused problems in the past.

I tested out FreeBSD pretty recently and can't recall all the hoops, but I got it to mount.

I recall not being able to use allow other as that simply did not work. I ended up testing a regular user but based on the allow other bit, I decided to just move back to Linux as I just needed it to work.

On one machine fuse wasn't loaded, on another machine fuse is loaded and my user is allowed to mount partition (vfs.usermount=1) but it quits.

I'll try to follow your recommendations and using cmount instead...

Thanks,

D.

Looks like cmount is the path to follow, I'll try to compile before the version available through the ports...

Did it work? If so can you make a note on the github issue please? rclone does not mount on freebsd-14-current · Issue #5843 · rclone/rclone · GitHub

I think the ultimate cause is fuse lib is broken on recent FreeBSD · Issue #280 · bazil/fuse · GitHub which using cmount works around as it uses a different Go->FUSE binding which uses libfuse directly.

Hi @ncw it worked, thanks!
I compiled the git version on my home and ran it directly from there.

The port version doesn't have any options available, maybe a temporarily fix might be that you can enable the cmount flag running a make config before make install clean... maybe... :thinking:

But now how do I umount it? I used to use a simple # umount -a but this is not working... :man_shrugging:

You'd want to use fusermount or you can kill the process as well.

1 Like

It might be that I should make cmount the default for FreeBSD. I don't know anything about the FreeBSD port though (though I know what FreeBSD ports are!).

1 Like

This topic was automatically closed 3 days after the last reply. New replies are no longer allowed.