Windows rclone mount refuses pathname mount point; WinFsp issue?

What is the problem you are having with rclone?

For some 5 years, Windows has allowed real and network "drives" to appear in the file system namespace as either:
a.) the historical "drive letters" X:, R:, Z: or what have you, or
b.) a mount on top of a file system pathname location (like Linux), such as:
C:\Users\jimbo\Clouds\GoogleDrive
rclone's mount command won't accept a pathname as mount point; just a drive letter. Attempting to mount to a pathname produces a message:

2020/03/29 16:19:47 ERROR : Google drive root '': Mount failed
2020/03/29 16:19:47 Fatal error: failed to mount FUSE fs: mount stopped before calling Init: mount failed

Is this a current limitation in rclone or in the underlying WinFSP?

What is your rclone version?

rclone v1.51.0
WinFSP version 1.7.2020.1 B1

Which OS you are using and how many bits?

Windows 10 Pro ver. 2004, OS build 19041.172, 64-bits

Which cloud storage system are you using?

Example attempted with Google Drive and MSFT OneDrive; both behave the same:
mount works fine when specifying a drive letter,
✗ fails with a mount-over pathname

The command you were trying to run?

rclone mount --allow-other --allow-non-empty JamesDavidHoward-GoogleDrive: C:\Users\jdhoward\CloudStores\GoogleDrive

A log from the command with the -vv flag:

2020/03/29 22:01:50 DEBUG : rclone: Version "v1.51.0" starting with parameters ["rclone" "mount" "-vv" "--allow-other" "--allow-non-empty" "JamesDavidHoward-GoogleDrive:" "C:\Users\jdhoward\CloudStores\GoogleDrive"]
2020/03/29 22:01:50 DEBUG : Using config file from "C:\Users\jdhoward\.config\rclone\rclone.conf"
2020/03/29 22:01:50 DEBUG : Google drive root '': Mounting on "C:\Users\jdhoward\CloudStores\GoogleDrive"
2020/03/29 22:01:50 DEBUG : JamesDavidHoward-GoogleDrive: Loaded invalid token from config file - ignoring
2020/03/29 22:01:51 DEBUG : Keeping previous permissions for config file: -rw-rw-rw-
2020/03/29 22:01:51 DEBUG : JamesDavidHoward-GoogleDrive: Saved new token in config file
2020/03/29 22:01:51 DEBUG : Adding path "vfs/forget" to remote control registry
2020/03/29 22:01:51 DEBUG : Adding path "vfs/refresh" to remote control registry
2020/03/29 22:01:51 DEBUG : Adding path "vfs/poll-interval" to remote control registry
2020/03/29 22:01:51 DEBUG : Google drive root '': Mounting with options: ["-o" "fsname=JamesDavidHoward-GoogleDrive:" "-o" "subtype=rclone" "-o" "max_readahead=131072" "-o" "attr_timeout=1" "-o" "atomic_o_trunc" "-o" "uid=-1" "-o" "gid=-1" "--FileSystemName=rclone" "-o" "volname=JamesDavidHoward-GoogleDrive" "-o" "nonempty" "-o" "allow_other"]
Cannot create WinFsp-FUSE file system: mount point in use.
2020/03/29 22:01:51 ERROR : Google drive root '': Mount failed
2020/03/29 22:01:51 Fatal error: failed to mount FUSE fs: mount stopped before calling Init: mount failed

I thought this did work....

I'm not sure what this error means - is there anything in the directory you are mounting on? Or maybe the directory needs to be completely missing - not sure (not a Windows expert!)

You might also find this info useful (from the beta docs): https://tip.rclone.org/commands/rclone_mount/#mount-as-a-network-drive

you are getting the error mount point in use
rclone cannot mount to a pre-existing folder.

so delete C:\Users\jdhoward\CloudStores\GoogleDrive
and try again

Thanks for the reminder that the Windows file-system pathname leaf must NOT pre-exist (unlike Linux, where it must exist and must be a directory). WinFSP, when used by rclone mount …, will create a Volume entry in the Windows kernel's \Device namespace, and create an NTFS Junction at the user-provided mount location pathname, with the target \Devices\Volume{128-bit-UUID}.

(The Linux behaviour is nonetheless kind of useful. The pre-existing directory is a name mnemonic placeholder, and can contain inside a README.txt file, telling a user that the overmount has failed, that expected content is not present and can offer hints about what went wrong. The rclone option --allow-non-empty accommodates this usage on Linux.)

P.S. it would be helpful if the Windows build of rclone would tell the user that the option --allow-non-empty is meaningless in Windows, and implies the user is trying to mount over a pre-existing directory name — which would cause an error.

Hmm, yess. Also a note in the docs that windows requires the folder to be missing.

I've done that and it will be in the latest beta shortly!

thanks,
i tried the latest beta and no change.

please let us know when you have the time to upload the beta.

It should be in this one: https://beta.rclone.org/v1.51.0-144-g9a5178be-beta/

perhaps i made a mistake but no change

C:\data\rclone\scripts\rr\other\mount\rclone-v1.51.0-144-g9a5178be.exe mount remote: b:\mount\themount --log-level=DEBUG --log-file=C:\data\rclone\scripts\rr\other\mount\log.x.txt --allow-other --allow-non-empty

2020/03/31 11:46:36 DEBUG : rclone: Version "v1.51.0-144-g9a5178be-beta" starting with parameters ["C:\data\rclone\scripts\rr\other\mount\rclone-v1.51.0-144-g9a5178be.exe" "mount" "remote:" "b:\mount\themount" "--log-level=DEBUG" "--log-file=C:\data\rclone\scripts\rr\other\mount\log.x.txt" "--allow-other" "--allow-non-empty"]
2020/03/31 11:46:36 DEBUG : Using config file from "c:\data\rclone\scripts\rclone.conf"
2020/03/31 11:46:36 NOTICE: --allow-non-empty flag does nothing on Windows
2020/03/31 11:46:36 DEBUG : S3 bucket aliasremote: Mounting on "b:\mount\themount"
2020/03/31 11:46:36 INFO : S3 bucket aliasremote: poll-interval is not supported by this remote
2020/03/31 11:46:36 DEBUG : Adding path "vfs/forget" to remote control registry
2020/03/31 11:46:36 DEBUG : Adding path "vfs/refresh" to remote control registry
2020/03/31 11:46:36 DEBUG : Adding path "vfs/poll-interval" to remote control registry
2020/03/31 11:46:36 DEBUG : S3 bucket aliasremote: Mounting with options: ["-o" "fsname=wasabieast2:aliasremote" "-o" "subtype=rclone" "-o" "max_readahead=131072" "-o" "attr_timeout=1" "-o" "atomic_o_trunc" "-o" "uid=-1" "-o" "gid=-1" "--FileSystemName=rclone" "-o" "volname=wasabieast2 aliasremote" "-o" "nonempty" "-o" "allow_other"]
Cannot create WinFsp-FUSE file system: mount point in use.
2020/03/31 11:46:36 ERROR : S3 bucket aliasremote: Mount failed
2020/03/31 11:46:36 Fatal error: failed to mount FUSE fs: mount stopped before calling Init: mount failed

I created a new partition of my hard drive so the mount location is empty and not used. I'm trying to mount from my google drive to my computer so I can stream it from plex. Does anyone know where this problem is coming from?

hello and welcome to the forum,

you have not provided any info at all so we cannot help you.

please start a new topic, using the question template.
it will ask your some questions that you need to answer.
i will reply then

The mount location might be empty (no files of directories), but a new partition will have a drive letter created for it (unless you do something special). If your new partition is called X:, and the rclone mount references X:, it will see the "already exists" error. You cannot use an already-in-use drive letter to "map network drive" (i.e. mount) to that same letter.

Try using a free drive letter, or a mount-point directory that does not already exist.

Note to find which drive letters are already in use, you can do either:

C:\Users\me > wmic LOGICALDISK LIST BRIEF

C:\Users\me> diskpart
... answer Windows "User Account Control" pop-up
DISKPART> list volume

1 Like

this topic has been solved.

best of this new poster to start a new post and answer the questions.

You got this NOTICE in the log - that was the change. Is that OK do you think?

ok, now i undertand, the change with the beta was to add a notice in the log.
that is working.

2020/03/31 11:46:36 NOTICE: --allow-non-empty flag does nothing on Windows

1 Like

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