Hmm ok, so this is something to do with VSS.
If you do this do you get the correct file size or not?
rclone lsl t:\ --include=/filename
So when rclone read the file via the directory listing it was the correct size 1147752 - I'd expect the lsl
above to give the correct size 1147752 in that case.
It is when rclone read the size through an open file descriptor that the size is wrong, so this comment
Is probably correct.
os.Lstat
good, os.File.Stat
bad.
That's definitely a bug, but in what? Most likely the Go runtime, though it could be a bug in Windows VSS also. The go runtime is calling the GetFileInformationByHandle system call to read the info about the file from the file handle
Can you make a reproduction for me? So what I need is a sequence of commands to run to make the VSS and replicate the problem. I've never made a VSS before so I need help with that bit! I have a Windows 10 VM I can try things on.