diff --git a/backend/cache/object.go b/backend/cache/object.go index c567a822c..d468981c5 100644 --- a/backend/cache/object.go +++ b/backend/cache/object.go @@ -208,11 +208,17 @@ func (o *Object) SetModTime(t time.Time) error { // Open is used to request a specific part of the file using fs.RangeOption func (o *Object) Open(options ...fs.OpenOption) (io.ReadCloser, error) { - if err := o.refreshFromSource(true); err != nil { + var err error + + if o.Object == nil { + err = o.refreshFromSource(true) + } else { + err = o.refresh() + } + if err != nil { return nil, err } - var err error cacheReader := NewObjectHandle(o, o.CacheFs) var offset, limit int64 = 0, -1 for _, option := range options {