diff --git a/cmd/fs-v1-multipart.go b/cmd/fs-v1-multipart.go index c56adfc0b..fd11448d3 100644 --- a/cmd/fs-v1-multipart.go +++ b/cmd/fs-v1-multipart.go @@ -682,6 +682,8 @@ func (fs *FSObjects) CompleteMultipartUpload(ctx context.Context, bucket string, return oi, toObjectErr(err, bucket, object) } fsRemoveAll(ctx, uploadIDDir) + // It is safe to ignore any directory not empty error (in case there were multiple uploadIDs on the same object) + fsRemoveDir(ctx, fs.getMultipartSHADir(bucket, object)) fi, err := fsStatFile(ctx, pathJoin(fs.fsPath, bucket, object)) if err != nil { return oi, toObjectErr(err, bucket, object) @@ -769,6 +771,9 @@ func (fs *FSObjects) cleanupStaleMultipartUploads(ctx context.Context, cleanupIn } if now.Sub(fi.ModTime()) > expiry { fsRemoveAll(ctx, pathJoin(fs.fsPath, minioMetaMultipartBucket, entry, uploadID)) + // It is safe to ignore any directory not empty error (in case there were multiple uploadIDs on the same object) + fsRemoveDir(ctx, pathJoin(fs.fsPath, minioMetaMultipartBucket, entry)) + } } }