2017-10-29 19:00:56 +08:00
// Package vfsflags implements command line flags to set up a vfs
package vfsflags
import (
2019-07-29 01:47:38 +08:00
"github.com/rclone/rclone/fs/config/flags"
"github.com/rclone/rclone/fs/rc"
2020-02-28 22:44:15 +08:00
"github.com/rclone/rclone/vfs/vfscommon"
2017-10-29 19:00:56 +08:00
"github.com/spf13/pflag"
)
// Options set by command line flags
var (
2020-02-28 22:44:15 +08:00
Opt = vfscommon . DefaultOpt
2019-01-08 18:52:14 +08:00
DirPerms = & FileMode { Mode : & Opt . DirPerms }
FilePerms = & FileMode { Mode : & Opt . FilePerms }
2017-10-29 19:00:56 +08:00
)
// AddFlags adds the non filing system specific flags to the command
2018-01-13 00:30:54 +08:00
func AddFlags ( flagSet * pflag . FlagSet ) {
2018-10-28 06:58:18 +08:00
rc . AddOption ( "vfs" , & Opt )
2018-01-13 00:30:54 +08:00
flags . BoolVarP ( flagSet , & Opt . NoModTime , "no-modtime" , "" , Opt . NoModTime , "Don't read/write the modification time (can speed things up)." )
flags . BoolVarP ( flagSet , & Opt . NoChecksum , "no-checksum" , "" , Opt . NoChecksum , "Don't compare checksums on up/download." )
flags . BoolVarP ( flagSet , & Opt . NoSeek , "no-seek" , "" , Opt . NoSeek , "Don't allow seeking in files." )
flags . DurationVarP ( flagSet , & Opt . DirCacheTime , "dir-cache-time" , "" , Opt . DirCacheTime , "Time to cache directory entries for." )
flags . DurationVarP ( flagSet , & Opt . PollInterval , "poll-interval" , "" , Opt . PollInterval , "Time to wait between polling for changes. Must be smaller than dir-cache-time. Only on supported remotes. Set to 0 to disable." )
flags . BoolVarP ( flagSet , & Opt . ReadOnly , "read-only" , "" , Opt . ReadOnly , "Mount read-only." )
flags . FVarP ( flagSet , & Opt . CacheMode , "vfs-cache-mode" , "" , "Cache mode off|minimal|writes|full" )
flags . DurationVarP ( flagSet , & Opt . CachePollInterval , "vfs-cache-poll-interval" , "" , Opt . CachePollInterval , "Interval to poll the cache for stale objects." )
flags . DurationVarP ( flagSet , & Opt . CacheMaxAge , "vfs-cache-max-age" , "" , Opt . CacheMaxAge , "Max age of objects in the cache." )
2019-02-02 07:35:03 +08:00
flags . FVarP ( flagSet , & Opt . CacheMaxSize , "vfs-cache-max-size" , "" , "Max total size of objects in the cache." )
2018-02-18 22:18:12 +08:00
flags . FVarP ( flagSet , & Opt . ChunkSize , "vfs-read-chunk-size" , "" , "Read the source objects in chunks." )
2018-07-22 18:29:24 +08:00
flags . FVarP ( flagSet , & Opt . ChunkSizeLimit , "vfs-read-chunk-size-limit" , "" , "If greater than --vfs-read-chunk-size, double the chunk size after each chunk read, until the limit is reached. 'off' is unlimited." )
2019-01-08 18:52:14 +08:00
flags . FVarP ( flagSet , DirPerms , "dir-perms" , "" , "Directory permissions" )
flags . FVarP ( flagSet , FilePerms , "file-perms" , "" , "File permissions" )
2019-09-05 04:30:48 +08:00
flags . BoolVarP ( flagSet , & Opt . CaseInsensitive , "vfs-case-insensitive" , "" , Opt . CaseInsensitive , "If a file name not found, find a case insensitive match." )
2020-02-04 18:56:00 +08:00
flags . DurationVarP ( flagSet , & Opt . WriteWait , "vfs-write-wait" , "" , Opt . WriteWait , "Time to wait for in-sequence write before giving error." )
flags . DurationVarP ( flagSet , & Opt . ReadWait , "vfs-read-wait" , "" , Opt . ReadWait , "Time to wait for in-sequence read before seeking." )
2020-04-22 19:25:40 +08:00
flags . DurationVarP ( flagSet , & Opt . WriteBack , "vfs-write-back" , "" , Opt . WriteBack , "Time to writeback files after last use when using cache." )
2020-08-05 16:57:03 +08:00
flags . FVarP ( flagSet , & Opt . ReadAhead , "vfs-read-ahead" , "" , "Extra read ahead over --buffer-size when using cache-mode full." )
2021-02-18 04:36:13 +08:00
flags . BoolVarP ( flagSet , & Opt . UsedIsSize , "vfs-used-is-size" , "" , Opt . UsedIsSize , "Use the `rclone size` algorithm for Used size." )
2018-01-13 00:30:54 +08:00
platformFlags ( flagSet )
2017-10-29 19:00:56 +08:00
}