forked from TrueCloudLab/restic
cache: Add PerformReadahead
This commit is contained in:
parent
809e218d20
commit
5436154f0d
2 changed files with 11 additions and 3 deletions
2
internal/cache/backend.go
vendored
2
internal/cache/backend.go
vendored
|
@ -11,7 +11,7 @@ import (
|
|||
// Backend wraps a restic.Backend and adds a cache.
|
||||
type Backend struct {
|
||||
restic.Backend
|
||||
restic.Cache
|
||||
*Cache
|
||||
}
|
||||
|
||||
// ensure cachedBackend implements restic.Backend
|
||||
|
|
8
internal/cache/cache.go
vendored
8
internal/cache/cache.go
vendored
|
@ -17,6 +17,7 @@ import (
|
|||
type Cache struct {
|
||||
Path string
|
||||
Base string
|
||||
PerformReadahead func(restic.Handle) bool
|
||||
}
|
||||
|
||||
const dirMode = 0700
|
||||
|
@ -78,6 +79,9 @@ func writeCachedirTag(dir string) error {
|
|||
|
||||
// New returns a new cache for the repo ID at basedir. If basedir is the empty
|
||||
// string, the default cache location (according to the XDG standard) is used.
|
||||
//
|
||||
// For partial files, the complete file is loaded and stored in the cache when
|
||||
// performReadahead returns true.
|
||||
func New(id string, basedir string) (c *Cache, err error) {
|
||||
if basedir == "" {
|
||||
basedir, err = getXDGCacheDir()
|
||||
|
@ -124,6 +128,10 @@ func New(id string, basedir string) (c *Cache, err error) {
|
|||
c = &Cache{
|
||||
Path: cachedir,
|
||||
Base: basedir,
|
||||
PerformReadahead: func(restic.Handle) bool {
|
||||
// do not perform readahead by default
|
||||
return false
|
||||
},
|
||||
}
|
||||
|
||||
return c, nil
|
||||
|
|
Loading…
Reference in a new issue