Merge pull request #4129 from greatroar/cleanup

cache: Replace readCloser+LimitedReader by backend.LimitedReadCloser
This commit is contained in:
Michael Eischer 2023-01-14 12:17:25 +01:00 committed by GitHub
commit fb43cbab49
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
1 changed files with 4 additions and 10 deletions

View File

@ -7,6 +7,7 @@ import (
"runtime" "runtime"
"github.com/pkg/errors" "github.com/pkg/errors"
"github.com/restic/restic/internal/backend"
"github.com/restic/restic/internal/crypto" "github.com/restic/restic/internal/crypto"
"github.com/restic/restic/internal/debug" "github.com/restic/restic/internal/debug"
"github.com/restic/restic/internal/fs" "github.com/restic/restic/internal/fs"
@ -30,11 +31,6 @@ func (c *Cache) canBeCached(t restic.FileType) bool {
return ok return ok
} }
type readCloser struct {
io.Reader
io.Closer
}
// Load returns a reader that yields the contents of the file with the // Load returns a reader that yields the contents of the file with the
// given handle. rd must be closed after use. If an error is returned, the // given handle. rd must be closed after use. If an error is returned, the
// ReadCloser is nil. // ReadCloser is nil.
@ -75,12 +71,10 @@ func (c *Cache) load(h restic.Handle, length int, offset int64) (io.ReadCloser,
} }
} }
rd := readCloser{Reader: f, Closer: f} if length <= 0 {
if length > 0 { return f, nil
rd.Reader = io.LimitReader(f, int64(length))
} }
return backend.LimitReadCloser(f, int64(length)), nil
return rd, nil
} }
// Save saves a file in the cache. // Save saves a file in the cache.