cache: improve performance by not sending info requests for cached chunks

This commit is contained in:
dcpu 2018-09-03 23:41:06 +09:00 committed by Nick Craig-Wood
parent 2e37942592
commit a4c4019032
1 changed files with 8 additions and 2 deletions

View File

@ -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 {