fix: do not copy context in DiskInfo cache (#17085)

This commit is contained in:
Harshavardhana 2023-04-26 12:13:54 -07:00 committed by GitHub
parent ebfe81e5fd
commit 8c874884fc
No known key found for this signature in database
GPG Key ID: 4AEE18F83AFDEB23
2 changed files with 3 additions and 3 deletions

View File

@ -268,7 +268,7 @@ func (client *storageRESTClient) SetDiskID(id string) {
} }
// DiskInfo - fetch disk information for a remote disk. // DiskInfo - fetch disk information for a remote disk.
func (client *storageRESTClient) DiskInfo(ctx context.Context) (info DiskInfo, err error) { func (client *storageRESTClient) DiskInfo(_ context.Context) (info DiskInfo, err error) {
if !client.IsOnline() { if !client.IsOnline() {
// make sure to check if the disk is offline, since the underlying // make sure to check if the disk is offline, since the underlying
// value is cached we should attempt to invalidate it if such calls // value is cached we should attempt to invalidate it if such calls
@ -281,7 +281,7 @@ func (client *storageRESTClient) DiskInfo(ctx context.Context) (info DiskInfo, e
client.diskInfoCache.TTL = time.Second client.diskInfoCache.TTL = time.Second
client.diskInfoCache.Update = func() (interface{}, error) { client.diskInfoCache.Update = func() (interface{}, error) {
var info DiskInfo var info DiskInfo
ctx, cancel := context.WithTimeout(ctx, 5*time.Second) ctx, cancel := context.WithTimeout(context.Background(), 5*time.Second)
defer cancel() defer cancel()
respBody, err := client.call(ctx, storageRESTMethodDiskInfo, nil, nil, -1) respBody, err := client.call(ctx, storageRESTMethodDiskInfo, nil, nil, -1)
if err != nil { if err != nil {

View File

@ -607,7 +607,7 @@ func (s *xlStorage) NSScanner(ctx context.Context, cache dataUsageCache, updates
// DiskInfo provides current information about disk space usage, // DiskInfo provides current information about disk space usage,
// total free inodes and underlying filesystem. // total free inodes and underlying filesystem.
func (s *xlStorage) DiskInfo(context.Context) (info DiskInfo, err error) { func (s *xlStorage) DiskInfo(_ context.Context) (info DiskInfo, err error) {
s.diskInfoCache.Once.Do(func() { s.diskInfoCache.Once.Do(func() {
s.diskInfoCache.TTL = time.Second s.diskInfoCache.TTL = time.Second
s.diskInfoCache.Update = func() (interface{}, error) { s.diskInfoCache.Update = func() (interface{}, error) {