From a4c4019032a2482ba0e071531ff678d9548145f9 Mon Sep 17 00:00:00 2001 From: dcpu <42736967+dcpu@users.noreply.github.com> Date: Mon, 3 Sep 2018 23:41:06 +0900 Subject: [PATCH] cache: improve performance by not sending info requests for cached chunks --- backend/cache/object.go | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) 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 {