The Winfsp thread - how new features affect rclone

This thread is dedicated to discussion of new features in upcoming versions of Winfsp - specifically as they relate to rclone. What new things can we do with it out-of-the-box, and what new possibilities does it allow going forward in terms of implementing new rclone features.

Here is the relevant changelog:

I can start off by noting that it is now possible to mount in folders (although this has apparently been in the latest stable for a while, just not the main download link).

@VBB @asdffdsa @ncw Feel free to share your wisdom on this topic :slight_smile:


Good idea, although for me it just works. Always has. More like a "set it and forget it" kinda install. Curious if anyone is using it differently, with tweaks, etc.

These new options look useful. These will all be accessible from rclone mount with the -o flag.

[FUSE] FUSE has new -o UserName=DOMAIN+USERNAME and -o GroupName=DOMAIN+GROUPNAME options. These function like the -o uid=UID and -o gid=GID options, but accept Windows user and groups names.
[FUSE] FUSE has new -o dothidden option that is used to add the Windows hidden file attribute to files that start with a dot.
[FUSE] FUSE has new -o create_file_umask=nnn and -o create_dir_umask=nnn options that allow for more control than the -o create_umask=nnn option.
[FUSE] FUSE has new --ExactFileSystemName=FSNAME option that removes the "FUSE-" prefix from the file system name. (Use with caution: see discussion in PR #251.) (Thanks @johntyner.)

The integration with WSL looks interesting too :slight_smile: I must set up a windows VM with WSL to experiment!

yeah winfsp under wsl looks interesting.

last night i installed wsl and linux version of rclone but i ran into a problem.
when i run rclone, i get this message
2019/10/23 09:43:01 Failed to load config file "/home/user01/.config/rclone/rclone.conf": open /home/user01/.config/rclone/rclone.conf: permission denied

i know little about linux and i am sure the solution is simple.

You probably ran the config or something as root. You can change the ownership with sudo chown -R user01.user01 /home/user01/.config/rclone

thanks ,
i type your command suggestion and rlcone will work if i do sudo rclone config,

i know this is getting off-topic:
but each time i run rclone i will have to type my sudo password

What you want to do is change the ownership of the config file then don't use sudo any more.

Maybe rclone made all the intermediate directories, so use this to change the ownership

sudo chown -R user01.user01 /home/user01/.config

that did not work, but i will not bother you with basic linux stuff.
i will have to learn about chown.


it seems that wsl2, supports fuse directly.
if so, there should be no need for winfsp???

"Now that WSL 2 includes its own Linux kernel it has full system call compatibility. This introduces a whole new set of apps that you can run inside of WSL. Some exciting examples are the Linux version of Docker, as well as FUSE!"

Yea WSL (and WSL2) looks very interesting.
I haven't looked deeply into it, but it would be very nice to know how lightweight this is compared to a Linux VM - and how well it integrates with windows. If anyone knows more about the details of the pros and cons here, please do share :slight_smile:
Because running rclone+mergerFS is a pretty nice combo, and if the integration of resources is tighter than on a VM it could make the whole experience feel much more seamless I expect.

Seems like WSL2 is not yet in mainstream (but is already available in the insider program).
@ncw I think WSL2 hitting mainstream (probably not too long from now) would be a good time to start "supporting" it for rclone. Although I doubt you really will have to do much if anything to accommodate it aside from just verifying it works, since it runs a real Linux kernel and all.

wsl2 is a new kind of slim-downed vm, runs just a real linux kernel, for compatibility, including fuse.

and if your cpu has hardware-assist for vm, and i am sure it does, then there is not much overhead at all.

i am not an insider program member, i was able to install wsl2.

now i have install a linux gui desktop inside wsl2 and ran vim

Oh, so you can install just a WSL2 package then? (can you link me to where you got it?)
But I presume that will not integrate into automatic updates and such quite yet - which is hardly much of an issue anyway.

If it is easily installable on a normal win10 build then I will be sure to give it a go :slight_smile:

inside wsl2,

  1. i installed LXDE, the gui desktop manager.
  2. ran PCManFM file manager.
  3. using PCManFM, i changed the permissions of rclone.conf.
  4. now i can run rclone without sudo.
  5. i am getting too excited again!!!

way too easy to install

using powershell

Enable-WindowsOptionalFeature -Online -FeatureName Microsoft-Windows-Subsystem-Linux

using gui

  1. control panel
  2. programs and features
  3. turn windows features on and off
  4. click 'windows subsystem for linux'

And that is WSL2 and not WSL1?
It's already availiable as a windows feature? That does sound strange - but I'll take it! :wink:
Thanks for the tip!

yes, wsl2,
i used the gui approach but i know you like powershell

user01@EN07:~$ lsb_release -a
No LSB modules are available.
Distributor ID: Ubuntu
Description: Ubuntu 18.04.3 LTS
Release: 18.04
Codename: bionic

That is a very strong word in that context hahaha :smiley:

  1. so far, so good.
  2. i got doublecommander running inside wsl. big deal for me.
  3. i did some rclone performance testing between windows and wsl.
    there are the two commands

rclone.exe copy C:\data\test\ wasabieast2:rclonelinuxmounttest --progress

rclone copy /home/user01/rclone-v1.49.5-linux-amd64/scripts/test/ wasabieast2:rclonelinuxmounttest --progress

i ran 6 tests in total, 21 files - 4.00GB, in order as follows:
win- Transferred: 3.979G / 3.979 GBytes, 100%, 102.247 MBytes/s, ETA 0s
wsl- Transferred: 3.979G / 3.979 GBytes, 100%, 92.057 MBytes/s, ETA 0s
win- Transferred: 3.979G / 3.979 GBytes, 100%, 108.456 MBytes/s, ETA 0s
wsl- Transferred: 3.979G / 3.979 GBytes, 100%, 92.291 MBytes/s, ETA 0s
win- Transferred: 3.979G / 3.979 GBytes, 100%, 101.085 MBytes/s, ETA 0s
wsl- Transferred: 3.979G / 3.979 GBytes, 100%, 96.234 MBytes/s, ETA 0s

so on average wsl is 11% slower than win

Good data. It doesn't tell us much about exactly what part is slower, but it's good to see that it is not much of a difference. Was the local data here on SSD or HDD?