Windows File Explorer uses server side copy/move?

What is the problem you are having with rclone?

I'm not sure how Rclone Mount works on the backend in Windows.
Does Windows File Explorer use server side copy/move?
When using WinFsp together with rclone mount

Run the command 'rclone version' and share the full output of the command.

rclone v1.65.1
- os/version: Microsoft Windows 11 Pro 23H2 (64 bit)
- os/kernel: 10.0.22631.4169 (x86_64)
- os/type: windows
- os/arch: amd64
- go/version: go1.21.5
- go/linking: static
- go/tags: cmount

Which cloud storage system are you using? (eg Google Drive)

Google Drive

The command you were trying to run (eg rclone copy /tmp remote:tmp)

rclone mount --vfs-cache-mode full --buffer-size 512m --dir-cache-time 72h --drive-chunk-size 128M --vfs-read-chunk-size 512M --vfs-read-chunk-size-limit off --use-mmap --crypt-show-mapping Mydrive:/ q:

Please run 'rclone config redacted' and share the full output. If you get command not found, please make sure to update rclone.

[Drive]
type = drive
client_id = XXX
client_secret = XXX
scope = drive
token = XXX
team_drive =

[Mydrive]
type = crypt
remote = Drive:encrypt
password = XXX```

yes, no, maybe, depends.

when you posted, you were asked to answer a set of questions???
without that info, no way to answer you question, no point is speculating.

I edited my post accordingly.

that is an old version of rclone, should run rclone selfupdate and then test again.

well, you did not post the debug log. the answer to your question is in the debug log.
gdrive supports server-side, so i expect the answer to be yes

I hope that's ok, the -vv log creates a very long output that doesn't allow me to paste it here

It looks like it doesn't use server side copy/move?

rclone mount --vfs-cache-mode full --buffer-size 512m --dir-cache-time 72h --drive-chunk-size 128M --vfs-read-chunk-size 512M --vfs-read-chunk-size-limit off  Mydrive:/ W: -v
INFO  : vfs cache: cleaned: objects 0 (was 0) in use 0, to upload 0, uploading 0, total size 0 (was 0)
The service rclone has been started.
INFO  : vfs cache: cleaned: objects 2 (was 2) in use 2, to upload 0, uploading 0, total size 9.664Gi (was 9.664Gi)
INFO  : vfs cache: cleaned: objects 2 (was 2) in use 2, to upload 0, uploading 0, total size 12.542Gi (was 12.542Gi)
INFO  : newtest/test.zip: vfs cache: queuing for upload in 5s
INFO  : vfs cache: cleaned: objects 2 (was 2) in use 1, to upload 0, uploading 1, total size 13.831Gi (was 13.831Gi)
INFO  : vfs cache: cleaned: objects 2 (was 2) in use 1, to upload 0, uploading 1, total size 13.831Gi (was 13.831Gi)

using windows explorer, server-side worked for me

rclone mount gcrypt: b:\rclone\mount\gcrypt -vv --vfs-cache-mode=full 
DEBUG : rclone: Version "v1.68.1" starting with parameters ["c:\\data\\rclone\\rclone.exe" "mount" "gcrypt:" "b:\\rclone\\mount\\gcrypt" "-vv" "--vfs-cache-mode=full"]
DEBUG : Creating backend with remote "gcrypt:"
DEBUG : Creating backend with remote "gdrive:gcrypt"
...
INFO  : source/file.ext: Moved (server-side) to: dest/file.ext

Server side move - yes

Server side copy - no

There is no mechanism for Explorer to say copy this file from A to B

hi ncw,

so i have not used windows explorer in many years.
but now, i did a test, and you are correct.

then, using double commander, i did a test and it behaved the same as windows explorer.
then, using dumb dos, i did a test and it behaved the same as windows explorer.
so i wondered, is this a windows issue or a rclone issue?

not an expert but i did tests on linux, first using double commander, then thunar, then bash.
same results as on windows.
now i wonder if this is a gdrive issue or rclone issue?

each mount command was the same, as simple as possible.
rclone mount gdrive: /path/to/mount

in all test, on all systems, using all methods, the output is the same.

Google drive root '': File to upload is small (1 bytes), uploading

given that gdrive supports server-side copy, what am i doing wrong??

It isn't your fault.

The interface rclone presents to the OS (both Windows and Linux) as a filing system from rclone mount only gives the os certain options low level operations like

  • open a file
  • read some bytes
  • write some bytes
  • list files
  • rename a file
  • make a directory

The Rename a file option becomes server side move. But note there is no copy a file option, so the os has to open the source, open the destination, read bytes from the source and write bytes to the destination using the low level operations.

It might be that using a different access method (eg rclone serve webdav) Windows Explorer can use that higher level server side copy since that is a different and higher level interface.

my ego could not sleep last night, with the thought i could be at fault ;wink

good idea but the copy was not server-side, got the same result as rclone mount

DEBUG : /dst/file.ext: OpenFile: flags=O_RDWR|O_CREATE|O_TRUNC, perm=-rw-rw-rw-
...
DEBUG : Google drive root '': File to upload is small (0 bytes), uploading instead of streaming

i tested with windows explorer.

also, tested with dumb dos

rclone serve webdav gdrive:
net use x: http://127.0.0.1:8080/
copy x:\src\file.ext x:\dst
1 Like

Thanks!

By the way, is there a way to really know when a file was uploaded to the remote when I upload it through the built-in Windows file manager?