From e8bd1fcda7c60de485714af6ab788f6e6a99d28f Mon Sep 17 00:00:00 2001 From: Keith Date: Tue, 6 Aug 2024 20:36:24 -0600 Subject: [PATCH] fix(storage): ignore `os.ErrClosed` from deferred `fileReader.Close()` in storage.APIUpload (#1468) fix(provider): ignore `ErrClosed` for fileReader Signed-off-by: Keith King --- proxmox/nodes/storage/upload.go | 6 ++++++ 1 file changed, 6 insertions(+) diff --git a/proxmox/nodes/storage/upload.go b/proxmox/nodes/storage/upload.go index 3390846d..1e77652e 100644 --- a/proxmox/nodes/storage/upload.go +++ b/proxmox/nodes/storage/upload.go @@ -2,6 +2,7 @@ package storage import ( "context" + "errors" "fmt" "io" "mime/multipart" @@ -112,6 +113,11 @@ func (c *Client) APIUpload( defer func(fileReader *os.File) { e := fileReader.Close() if e != nil { + if errors.Is(e, os.ErrClosed) { + // We can ignore the error in the case that the file was already closed. + return + } + tflog.Error(ctx, "failed to close file reader", map[string]interface{}{ "error": e, })