You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
I run a B2 --vfs-cache-mode full mount. All mount settings are listed as command line arguments, because I prefer to keep rclone config file limited to just credentials.
Then I needed to tune some settings on my mount, namely these:
When I restarted the mount, rclone created a new cache directory because it generated a new B2 canonical name. This unfortunately invalidated the existing cache.
Silently invalidating the cache leads to 3 problems:
For large caches (in my case 1.4TB) this could lead to a lot of new network usage.
Files that were written to cache and pending upload are now abandoned in the old cache. They will never upload.
Since old cache doesn't go away, your disk will start filling up beyond the allotted cache size, and that's how you will probably notice that something's wrong.
What to do?
According to ncw's comment, this wouldn't happen if those settings were declared in the config file.
Based on this, I propose 2 actions:
Remove the distinction between settings provided in a config file, command line, or ENV. The only thing that should matter is which settings invalidate cache (its name and value).
Document which settings invalidate cache.
What is your rclone version (output from rclone version)
Its a bad problem if rclone gets it wrong, for instance if you pass --b2-account then rclone will be looking at a completely separate set of files, so rclone plays it safe.
However rclone assumes that if you are editing your config file, you really mean to point to the same set of files.
When this problem first came up I tried to think of a mechanism for labeling each option as being file preserving or not but in the end I decided it was too hard.
Note that rclone doesn't invalidate the cache - it is still there on the disk.
You can find out the location of the cache like this
And there is nothing stopping you renaming directories in there (with rclone stopped). You'll find a vfs directory and a vfsMeta directory. You'll need to rename directories in both.
Have you considered letting someone specify --vfs-cache-name to be an override for canonical name? If specified, rclone will use that at user's own risk.
The associated forum post URL from
https://forum.rclone.org
https://forum.rclone.org/t/multiple-cache-dir-subdirs-for-the-same-remote/42044/14
What is the problem you are having with rclone?
I run a B2
--vfs-cache-mode full
mount. All mount settings are listed as command line arguments, because I prefer to keep rclone config file limited to just credentials.Then I needed to tune some settings on my mount, namely these:
When I restarted the mount, rclone created a new cache directory because it generated a new B2 canonical name. This unfortunately invalidated the existing cache.
Silently invalidating the cache leads to 3 problems:
What to do?
According to ncw's comment, this wouldn't happen if those settings were declared in the config file.
Based on this, I propose 2 actions:
What is your rclone version (output from
rclone version
)Which OS you are using and how many bits (e.g. Windows 7, 64 bit)
Ubuntu 22.04.3 LTS, 64 bit
Which cloud storage system are you using? (e.g. Google Drive)
B2
The command you were trying to run (e.g.
rclone copy /tmp remote:tmp
)A log from the command with the
-vv
flag (e.g. output fromrclone -vv copy /tmp remote:tmp
){BBBBB}
= 5 random characters.How to use GitHub
The text was updated successfully, but these errors were encountered: