2017-10-29 11:00:56 +00:00
// Package vfsflags implements command line flags to set up a vfs
package vfsflags
import (
2019-07-28 17:47:38 +00:00
"github.com/rclone/rclone/fs/config/flags"
"github.com/rclone/rclone/fs/rc"
2020-02-28 14:44:15 +00:00
"github.com/rclone/rclone/vfs/vfscommon"
2017-10-29 11:00:56 +00:00
"github.com/spf13/pflag"
)
// Options set by command line flags
var (
2020-02-28 14:44:15 +00:00
Opt = vfscommon . DefaultOpt
2019-01-08 10:52:14 +00:00
DirPerms = & FileMode { Mode : & Opt . DirPerms }
FilePerms = & FileMode { Mode : & Opt . FilePerms }
2017-10-29 11:00:56 +00:00
)
// AddFlags adds the non filing system specific flags to the command
2018-01-12 16:30:54 +00:00
func AddFlags ( flagSet * pflag . FlagSet ) {
2018-10-27 22:58:18 +00:00
rc . AddOption ( "vfs" , & Opt )
2018-01-12 16:30:54 +00: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-01 23:35:03 +00:00
flags . FVarP ( flagSet , & Opt . CacheMaxSize , "vfs-cache-max-size" , "" , "Max total size of objects in the cache." )
2018-02-18 14:18:12 +00:00
flags . FVarP ( flagSet , & Opt . ChunkSize , "vfs-read-chunk-size" , "" , "Read the source objects in chunks." )
2018-07-22 10:29:24 +00: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 10:52:14 +00:00
flags . FVarP ( flagSet , DirPerms , "dir-perms" , "" , "Directory permissions" )
flags . FVarP ( flagSet , FilePerms , "file-perms" , "" , "File permissions" )
2019-09-04 20:30:48 +00: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 10:56:00 +00: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 11:25:40 +00:00
flags . DurationVarP ( flagSet , & Opt . WriteBack , "vfs-write-back" , "" , Opt . WriteBack , "Time to writeback files after last use when using cache." )
2020-08-05 08:57:03 +00:00
flags . FVarP ( flagSet , & Opt . ReadAhead , "vfs-read-ahead" , "" , "Extra read ahead over --buffer-size when using cache-mode full." )
2018-01-12 16:30:54 +00:00
platformFlags ( flagSet )
2017-10-29 11:00:56 +00:00
}