diff --git a/cmd/restic/exclude.go b/cmd/restic/exclude.go index 0b800d32e..8d5585cfc 100644 --- a/cmd/restic/exclude.go +++ b/cmd/restic/exclude.go @@ -234,10 +234,6 @@ func rejectByDevice(samples []string) (RejectFunc, error) { debug.Log("allowed devices: %v\n", allowed) return func(item string, fi os.FileInfo) bool { - if fi == nil { - return false - } - item = filepath.Clean(item) id, err := fs.DeviceID(fi) @@ -301,10 +297,6 @@ func rejectBySize(maxSizeStr string) (RejectFunc, error) { } return func(item string, fi os.FileInfo) bool { - if fi == nil { - return false - } - // directory will be ignored if fi.IsDir() { return false diff --git a/internal/archiver/archiver.go b/internal/archiver/archiver.go index f4fe5f7db..04daad211 100644 --- a/internal/archiver/archiver.go +++ b/internal/archiver/archiver.go @@ -345,11 +345,6 @@ func (arch *Archiver) Save(ctx context.Context, snPath, target string, previous // get file info and run remaining select functions that require file information fi, err := arch.FS.Lstat(target) - if !arch.Select(abstarget, fi) { - debug.Log("%v is excluded", target) - return FutureNode{}, true, nil - } - if err != nil { debug.Log("lstat() for %v returned error: %v", target, err) err = arch.error(abstarget, fi, err) @@ -358,6 +353,10 @@ func (arch *Archiver) Save(ctx context.Context, snPath, target string, previous } return FutureNode{}, true, nil } + if !arch.Select(abstarget, fi) { + debug.Log("%v is excluded", target) + return FutureNode{}, true, nil + } switch { case fs.IsRegularFile(fi):