From b8631cf5316c613fa08f4c38334de19870facf2f Mon Sep 17 00:00:00 2001 From: Klaus Post Date: Sun, 28 Sep 2025 22:59:21 +0200 Subject: [PATCH] Use new gofumpt (#21613) Update tinylib. Should fix CI. `gofumpt -w .&&go generate ./...` --- cmd/admin-handlers-config-kv.go | 14 +- cmd/admin-handlers-pools.go | 4 +- cmd/admin-handlers-site-replication.go | 6 +- cmd/admin-handlers.go | 14 +- cmd/api-resources.go | 26 ++-- cmd/background-newdisks-heal-ops_gen.go | 4 +- cmd/background-newdisks-heal-ops_gen_test.go | 4 +- cmd/batch-expire_gen.go | 4 +- cmd/batch-expire_gen_test.go | 4 +- cmd/batch-handlers_gen.go | 4 +- cmd/batch-handlers_gen_test.go | 4 +- cmd/batch-job-common-types_gen.go | 4 +- cmd/batch-job-common-types_gen_test.go | 4 +- cmd/batch-replicate_gen.go | 4 +- cmd/batch-replicate_gen_test.go | 4 +- cmd/batch-rotate_gen.go | 4 +- cmd/batch-rotate_gen_test.go | 4 +- cmd/bitrot.go | 2 +- cmd/bootstrap-peer-server_gen.go | 16 +-- cmd/bootstrap-peer-server_gen_test.go | 4 +- cmd/bucket-handlers.go | 2 +- cmd/bucket-listobjects-handlers.go | 8 +- cmd/bucket-metadata.go | 8 +- cmd/bucket-metadata_gen.go | 4 +- cmd/bucket-metadata_gen_test.go | 4 +- cmd/bucket-quota.go | 2 +- cmd/bucket-replication-metrics_gen.go | 4 +- cmd/bucket-replication-metrics_gen_test.go | 4 +- cmd/bucket-replication-utils.go | 18 +-- cmd/bucket-replication-utils_gen.go | 64 +++------ cmd/bucket-replication-utils_gen_test.go | 4 +- cmd/bucket-replication.go | 96 ++++++------- cmd/bucket-stats.go | 6 +- cmd/bucket-stats_gen.go | 28 ++-- cmd/bucket-stats_gen_test.go | 4 +- cmd/bucket-targets.go | 6 +- cmd/consolelogger.go | 2 +- cmd/data-usage-cache.go | 24 ++-- cmd/data-usage-cache_gen.go | 124 ++++++----------- cmd/data-usage-cache_gen_test.go | 4 +- cmd/data-usage_test.go | 16 +-- cmd/dummy-data-generator_test.go | 2 +- cmd/encryption-v1.go | 10 +- cmd/encryption-v1_test.go | 2 +- cmd/endpoint-ellipses.go | 6 +- cmd/endpoint.go | 6 +- cmd/erasure-coding.go | 2 +- cmd/erasure-healing-common.go | 4 +- cmd/erasure-healing.go | 4 +- cmd/erasure-metadata.go | 2 +- cmd/erasure-server-pool-decom.go | 2 +- cmd/erasure-server-pool-decom_gen.go | 4 +- cmd/erasure-server-pool-decom_gen_test.go | 4 +- cmd/erasure-server-pool-rebalance.go | 4 +- cmd/erasure-server-pool-rebalance_gen.go | 4 +- cmd/erasure-server-pool-rebalance_gen_test.go | 4 +- cmd/erasure-server-pool.go | 2 +- cmd/erasure.go | 2 +- cmd/handler-api.go | 6 +- cmd/handler-utils.go | 4 +- cmd/http-tracer_test.go | 130 ++++++++++++++++++ cmd/iam-store.go | 18 +-- cmd/iam.go | 50 +++---- cmd/last-minute_gen.go | 4 +- cmd/last-minute_gen_test.go | 4 +- cmd/leak-detect_test.go | 2 +- cmd/local-locker.go | 2 +- cmd/local-locker_gen.go | 16 +-- cmd/local-locker_gen_test.go | 4 +- cmd/metacache-server-pool.go | 6 +- cmd/metacache-set.go | 2 +- cmd/metacache-set_gen.go | 4 +- cmd/metacache-set_gen_test.go | 4 +- cmd/metacache-walk_gen.go | 4 +- cmd/metacache-walk_gen_test.go | 4 +- cmd/metacache_gen.go | 4 +- cmd/metacache_gen_test.go | 4 +- cmd/metrics-realtime.go | 6 +- cmd/metrics-v2.go | 60 ++++---- cmd/metrics-v2_gen.go | 22 ++- cmd/metrics-v2_gen_test.go | 4 +- cmd/metrics-v3-cache.go | 22 +-- cmd/mrf_gen.go | 4 +- cmd/mrf_gen_test.go | 4 +- cmd/namespace-lock.go | 2 +- cmd/net.go | 6 +- cmd/notification-summary.go | 8 +- cmd/notification.go | 4 +- cmd/object-api-datatypes_gen.go | 34 ++--- cmd/object-api-interface.go | 4 +- cmd/object-api-interface_gen.go | 4 +- cmd/object-api-options.go | 34 ++--- cmd/object-handlers.go | 2 +- cmd/object-handlers_test.go | 4 +- cmd/os_unix.go | 4 +- cmd/peer-rest-client.go | 2 +- cmd/peer-rest-server.go | 36 ++--- cmd/perf-tests.go | 8 +- cmd/sftp-server.go | 2 +- cmd/site-replication-metrics_gen.go | 40 ++---- cmd/site-replication-metrics_gen_test.go | 4 +- cmd/site-replication-utils_gen.go | 16 +-- cmd/site-replication-utils_gen_test.go | 4 +- cmd/site-replication.go | 10 +- cmd/storage-datatypes.go | 2 +- cmd/storage-datatypes_gen.go | 40 ++---- cmd/storage-datatypes_gen_test.go | 4 +- cmd/storage-rest-common_gen.go | 4 +- cmd/storage-rest-common_gen_test.go | 4 +- cmd/streaming-signature-v4.go | 2 +- cmd/tier-last-day-stats_gen.go | 16 +-- cmd/tier-last-day-stats_gen_test.go | 4 +- cmd/tier_gen.go | 16 +-- cmd/tier_gen_test.go | 4 +- cmd/update.go | 2 +- cmd/utils.go | 4 +- cmd/warm-backend-minio.go | 2 +- cmd/xl-storage-format-v1_gen.go | 28 ++-- cmd/xl-storage-format-v1_gen_test.go | 4 +- cmd/xl-storage-format-v2-legacy.go | 46 +++---- cmd/xl-storage-format-v2_gen.go | 40 ++---- cmd/xl-storage-format-v2_gen_test.go | 4 +- cmd/xl-storage.go | 10 +- docs/debugging/inspect/export.go | 16 +-- docs/debugging/s3-check-md5/main.go | 2 +- docs/debugging/xl-meta/main.go | 24 ++-- go.mod | 4 +- go.sum | 8 +- internal/arn/arn.go | 16 +-- internal/bpool/bpool.go | 2 +- internal/bucket/bandwidth/monitor_gen.go | 4 +- internal/bucket/bandwidth/monitor_gen_test.go | 4 +- internal/bucket/bandwidth/reader.go | 8 +- internal/bucket/object/lock/lock.go | 2 +- internal/bucket/replication/datatypes_gen.go | 4 +- .../bucket/replication/datatypes_gen_test.go | 4 +- internal/config/config.go | 24 ++-- internal/crypto/sse-c.go | 2 +- internal/crypto/sse.go | 6 +- internal/disk/stat_linux.go | 2 +- internal/dsync/drwmutex_test.go | 4 +- internal/dsync/lock-args_gen.go | 4 +- internal/dsync/lock-args_gen_test.go | 4 +- internal/dsync/locked_rand.go | 2 +- internal/event/target/elasticsearch.go | 6 +- .../target/kafka_scram_client_contrib.go | 2 +- internal/grid/debug.go | 2 +- internal/grid/grid_types_msgp_test.go | 4 +- internal/grid/msg_gen.go | 4 +- internal/grid/msg_gen_test.go | 4 +- internal/grid/muxclient.go | 2 +- internal/grid/types.go | 20 +-- internal/http/dial_dnscache.go | 2 +- internal/http/listener.go | 4 +- internal/http/server.go | 2 +- internal/ioutil/hardlimitreader.go | 2 +- internal/jwt/parser.go | 2 +- internal/lock/lock_windows.go | 2 +- internal/logger/target/kafka/kafka.go | 4 +- .../kafka/kafka_scram_client_contrib.go | 2 +- internal/logger/targets.go | 2 +- internal/lsync/lrwmutex_test.go | 4 +- internal/rest/client.go | 4 +- internal/ringbuffer/ring_buffer.go | 2 +- internal/s3select/sql/analysis.go | 28 ++-- internal/s3select/sql/funceval.go | 2 +- internal/s3select/sql/statement.go | 12 +- internal/s3select/sql/timestampfuncs.go | 2 +- internal/s3select/sql/value.go | 14 +- internal/store/queuestore.go | 8 +- internal/store/store.go | 4 +- 171 files changed, 881 insertions(+), 899 deletions(-) diff --git a/cmd/admin-handlers-config-kv.go b/cmd/admin-handlers-config-kv.go index 4afc6dfef..2169103db 100644 --- a/cmd/admin-handlers-config-kv.go +++ b/cmd/admin-handlers-config-kv.go @@ -193,27 +193,27 @@ func (a adminAPIHandlers) SetConfigKVHandler(w http.ResponseWriter, r *http.Requ func setConfigKV(ctx context.Context, objectAPI ObjectLayer, kvBytes []byte) (result setConfigResult, err error) { result.Cfg, err = readServerConfig(ctx, objectAPI, nil) if err != nil { - return + return result, err } result.Dynamic, err = result.Cfg.ReadConfig(bytes.NewReader(kvBytes)) if err != nil { - return + return result, err } result.SubSys, _, _, err = config.GetSubSys(string(kvBytes)) if err != nil { - return + return result, err } tgts, err := config.ParseConfigTargetID(bytes.NewReader(kvBytes)) if err != nil { - return + return result, err } ctx = context.WithValue(ctx, config.ContextKeyForTargetFromConfig, tgts) if verr := validateConfig(ctx, result.Cfg, result.SubSys); verr != nil { err = badConfigErr{Err: verr} - return + return result, err } // Check if subnet proxy being set and if so set the same value to proxy of subnet @@ -222,12 +222,12 @@ func setConfigKV(ctx context.Context, objectAPI ObjectLayer, kvBytes []byte) (re // Update the actual server config on disk. if err = saveServerConfig(ctx, objectAPI, result.Cfg); err != nil { - return + return result, err } // Write the config input KV to history. err = saveServerConfigHistory(ctx, objectAPI, kvBytes) - return + return result, err } // GetConfigKVHandler - GET /minio/admin/v3/get-config-kv?key={key} diff --git a/cmd/admin-handlers-pools.go b/cmd/admin-handlers-pools.go index 33317d4d7..c4f98c454 100644 --- a/cmd/admin-handlers-pools.go +++ b/cmd/admin-handlers-pools.go @@ -380,7 +380,7 @@ func (a adminAPIHandlers) RebalanceStop(w http.ResponseWriter, r *http.Request) func proxyDecommissionRequest(ctx context.Context, defaultEndPoint Endpoint, w http.ResponseWriter, r *http.Request) (proxy bool) { host := env.Get("_MINIO_DECOM_ENDPOINT_HOST", defaultEndPoint.Host) if host == "" { - return + return proxy } for nodeIdx, proxyEp := range globalProxyEndpoints { if proxyEp.Host == host && !proxyEp.IsLocal { @@ -389,5 +389,5 @@ func proxyDecommissionRequest(ctx context.Context, defaultEndPoint Endpoint, w h } } } - return + return proxy } diff --git a/cmd/admin-handlers-site-replication.go b/cmd/admin-handlers-site-replication.go index e49e86277..bda093955 100644 --- a/cmd/admin-handlers-site-replication.go +++ b/cmd/admin-handlers-site-replication.go @@ -70,7 +70,7 @@ func (a adminAPIHandlers) SiteReplicationAdd(w http.ResponseWriter, r *http.Requ func getSRAddOptions(r *http.Request) (opts madmin.SRAddOptions) { opts.ReplicateILMExpiry = r.Form.Get("replicateILMExpiry") == "true" - return + return opts } // SRPeerJoin - PUT /minio/admin/v3/site-replication/join @@ -422,7 +422,7 @@ func (a adminAPIHandlers) SiteReplicationEdit(w http.ResponseWriter, r *http.Req func getSREditOptions(r *http.Request) (opts madmin.SREditOptions) { opts.DisableILMExpiryReplication = r.Form.Get("disableILMExpiryReplication") == "true" opts.EnableILMExpiryReplication = r.Form.Get("enableILMExpiryReplication") == "true" - return + return opts } // SRPeerEdit - PUT /minio/admin/v3/site-replication/peer/edit @@ -484,7 +484,7 @@ func getSRStatusOptions(r *http.Request) (opts madmin.SRStatusOptions) { opts.EntityValue = q.Get("entityvalue") opts.ShowDeleted = q.Get("showDeleted") == "true" opts.Metrics = q.Get("metrics") == "true" - return + return opts } // SiteReplicationRemove - PUT /minio/admin/v3/site-replication/remove diff --git a/cmd/admin-handlers.go b/cmd/admin-handlers.go index 42d498e79..0dcad4cc7 100644 --- a/cmd/admin-handlers.go +++ b/cmd/admin-handlers.go @@ -1243,17 +1243,17 @@ func extractHealInitParams(vars map[string]string, qParams url.Values, r io.Read if hip.objPrefix != "" { // Bucket is required if object-prefix is given err = ErrHealMissingBucket - return + return hip, err } } else if isReservedOrInvalidBucket(hip.bucket, false) { err = ErrInvalidBucketName - return + return hip, err } // empty prefix is valid. if !IsValidObjectPrefix(hip.objPrefix) { err = ErrInvalidObjectName - return + return hip, err } if len(qParams[mgmtClientToken]) > 0 { @@ -1275,7 +1275,7 @@ func extractHealInitParams(vars map[string]string, qParams url.Values, r io.Read if (hip.forceStart && hip.forceStop) || (hip.clientToken != "" && (hip.forceStart || hip.forceStop)) { err = ErrInvalidRequest - return + return hip, err } // ignore body if clientToken is provided @@ -1284,12 +1284,12 @@ func extractHealInitParams(vars map[string]string, qParams url.Values, r io.Read if jerr != nil { adminLogIf(GlobalContext, jerr, logger.ErrorKind) err = ErrRequestBodyParse - return + return hip, err } } err = ErrNone - return + return hip, err } // HealHandler - POST /minio/admin/v3/heal/ @@ -2022,7 +2022,7 @@ func extractTraceOptions(r *http.Request) (opts madmin.ServiceTraceOpts, err err opts.OS = true // Older mc - cannot deal with more types... } - return + return opts, err } // TraceHandler - POST /minio/admin/v3/trace diff --git a/cmd/api-resources.go b/cmd/api-resources.go index b77d1a09c..11cf53ad6 100644 --- a/cmd/api-resources.go +++ b/cmd/api-resources.go @@ -31,7 +31,7 @@ func getListObjectsV1Args(values url.Values) (prefix, marker, delimiter string, var err error if maxkeys, err = strconv.Atoi(values.Get("max-keys")); err != nil { errCode = ErrInvalidMaxKeys - return + return prefix, marker, delimiter, maxkeys, encodingType, errCode } } else { maxkeys = maxObjectList @@ -41,7 +41,7 @@ func getListObjectsV1Args(values url.Values) (prefix, marker, delimiter string, marker = values.Get("marker") delimiter = values.Get("delimiter") encodingType = values.Get("encoding-type") - return + return prefix, marker, delimiter, maxkeys, encodingType, errCode } func getListBucketObjectVersionsArgs(values url.Values) (prefix, marker, delimiter string, maxkeys int, encodingType, versionIDMarker string, errCode APIErrorCode) { @@ -51,7 +51,7 @@ func getListBucketObjectVersionsArgs(values url.Values) (prefix, marker, delimit var err error if maxkeys, err = strconv.Atoi(values.Get("max-keys")); err != nil { errCode = ErrInvalidMaxKeys - return + return prefix, marker, delimiter, maxkeys, encodingType, versionIDMarker, errCode } } else { maxkeys = maxObjectList @@ -62,7 +62,7 @@ func getListBucketObjectVersionsArgs(values url.Values) (prefix, marker, delimit delimiter = values.Get("delimiter") encodingType = values.Get("encoding-type") versionIDMarker = values.Get("version-id-marker") - return + return prefix, marker, delimiter, maxkeys, encodingType, versionIDMarker, errCode } // Parse bucket url queries for ListObjects V2. @@ -73,7 +73,7 @@ func getListObjectsV2Args(values url.Values) (prefix, token, startAfter, delimit if val, ok := values["continuation-token"]; ok { if len(val[0]) == 0 { errCode = ErrIncorrectContinuationToken - return + return prefix, token, startAfter, delimiter, fetchOwner, maxkeys, encodingType, errCode } } @@ -81,7 +81,7 @@ func getListObjectsV2Args(values url.Values) (prefix, token, startAfter, delimit var err error if maxkeys, err = strconv.Atoi(values.Get("max-keys")); err != nil { errCode = ErrInvalidMaxKeys - return + return prefix, token, startAfter, delimiter, fetchOwner, maxkeys, encodingType, errCode } } else { maxkeys = maxObjectList @@ -97,11 +97,11 @@ func getListObjectsV2Args(values url.Values) (prefix, token, startAfter, delimit decodedToken, err := base64.StdEncoding.DecodeString(token) if err != nil { errCode = ErrIncorrectContinuationToken - return + return prefix, token, startAfter, delimiter, fetchOwner, maxkeys, encodingType, errCode } token = string(decodedToken) } - return + return prefix, token, startAfter, delimiter, fetchOwner, maxkeys, encodingType, errCode } // Parse bucket url queries for ?uploads @@ -112,7 +112,7 @@ func getBucketMultipartResources(values url.Values) (prefix, keyMarker, uploadID var err error if maxUploads, err = strconv.Atoi(values.Get("max-uploads")); err != nil { errCode = ErrInvalidMaxUploads - return + return prefix, keyMarker, uploadIDMarker, delimiter, maxUploads, encodingType, errCode } } else { maxUploads = maxUploadsList @@ -123,7 +123,7 @@ func getBucketMultipartResources(values url.Values) (prefix, keyMarker, uploadID uploadIDMarker = values.Get("upload-id-marker") delimiter = values.Get("delimiter") encodingType = values.Get("encoding-type") - return + return prefix, keyMarker, uploadIDMarker, delimiter, maxUploads, encodingType, errCode } // Parse object url queries @@ -134,7 +134,7 @@ func getObjectResources(values url.Values) (uploadID string, partNumberMarker, m if values.Get("max-parts") != "" { if maxParts, err = strconv.Atoi(values.Get("max-parts")); err != nil { errCode = ErrInvalidMaxParts - return + return uploadID, partNumberMarker, maxParts, encodingType, errCode } } else { maxParts = maxPartsList @@ -143,11 +143,11 @@ func getObjectResources(values url.Values) (uploadID string, partNumberMarker, m if values.Get("part-number-marker") != "" { if partNumberMarker, err = strconv.Atoi(values.Get("part-number-marker")); err != nil { errCode = ErrInvalidPartNumberMarker - return + return uploadID, partNumberMarker, maxParts, encodingType, errCode } } uploadID = values.Get("uploadId") encodingType = values.Get("encoding-type") - return + return uploadID, partNumberMarker, maxParts, encodingType, errCode } diff --git a/cmd/background-newdisks-heal-ops_gen.go b/cmd/background-newdisks-heal-ops_gen.go index 17fc01b8a..7c3eb6b8b 100644 --- a/cmd/background-newdisks-heal-ops_gen.go +++ b/cmd/background-newdisks-heal-ops_gen.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "github.com/tinylib/msgp/msgp" ) diff --git a/cmd/background-newdisks-heal-ops_gen_test.go b/cmd/background-newdisks-heal-ops_gen_test.go index 177aa91ab..36e9eb71d 100644 --- a/cmd/background-newdisks-heal-ops_gen_test.go +++ b/cmd/background-newdisks-heal-ops_gen_test.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "bytes" "testing" diff --git a/cmd/batch-expire_gen.go b/cmd/batch-expire_gen.go index 3bdac35ba..bb2021fca 100644 --- a/cmd/batch-expire_gen.go +++ b/cmd/batch-expire_gen.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "time" diff --git a/cmd/batch-expire_gen_test.go b/cmd/batch-expire_gen_test.go index ed5eab6ca..d30cc3373 100644 --- a/cmd/batch-expire_gen_test.go +++ b/cmd/batch-expire_gen_test.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "bytes" "testing" diff --git a/cmd/batch-handlers_gen.go b/cmd/batch-handlers_gen.go index 5dd0bf047..ad29932b4 100644 --- a/cmd/batch-handlers_gen.go +++ b/cmd/batch-handlers_gen.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "github.com/tinylib/msgp/msgp" ) diff --git a/cmd/batch-handlers_gen_test.go b/cmd/batch-handlers_gen_test.go index d67aacde2..be48e4774 100644 --- a/cmd/batch-handlers_gen_test.go +++ b/cmd/batch-handlers_gen_test.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "bytes" "testing" diff --git a/cmd/batch-job-common-types_gen.go b/cmd/batch-job-common-types_gen.go index dc3ee6e70..12edddf43 100644 --- a/cmd/batch-job-common-types_gen.go +++ b/cmd/batch-job-common-types_gen.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "github.com/tinylib/msgp/msgp" ) diff --git a/cmd/batch-job-common-types_gen_test.go b/cmd/batch-job-common-types_gen_test.go index 96d79ef58..3e0684a8c 100644 --- a/cmd/batch-job-common-types_gen_test.go +++ b/cmd/batch-job-common-types_gen_test.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "bytes" "testing" diff --git a/cmd/batch-replicate_gen.go b/cmd/batch-replicate_gen.go index ea5fe5b27..16f3eed44 100644 --- a/cmd/batch-replicate_gen.go +++ b/cmd/batch-replicate_gen.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "github.com/tinylib/msgp/msgp" ) diff --git a/cmd/batch-replicate_gen_test.go b/cmd/batch-replicate_gen_test.go index f59a7fe52..68ab18650 100644 --- a/cmd/batch-replicate_gen_test.go +++ b/cmd/batch-replicate_gen_test.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "bytes" "testing" diff --git a/cmd/batch-rotate_gen.go b/cmd/batch-rotate_gen.go index 7ddeb5eda..e714e1c86 100644 --- a/cmd/batch-rotate_gen.go +++ b/cmd/batch-rotate_gen.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "github.com/tinylib/msgp/msgp" ) diff --git a/cmd/batch-rotate_gen_test.go b/cmd/batch-rotate_gen_test.go index 5da8f3174..906b79385 100644 --- a/cmd/batch-rotate_gen_test.go +++ b/cmd/batch-rotate_gen_test.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "bytes" "testing" diff --git a/cmd/bitrot.go b/cmd/bitrot.go index ab7d9e75a..f1b2a0e4e 100644 --- a/cmd/bitrot.go +++ b/cmd/bitrot.go @@ -99,7 +99,7 @@ func BitrotAlgorithmFromString(s string) (a BitrotAlgorithm) { return alg } } - return + return a } func newBitrotWriter(disk StorageAPI, origvolume, volume, filePath string, length int64, algo BitrotAlgorithm, shardSize int64) io.Writer { diff --git a/cmd/bootstrap-peer-server_gen.go b/cmd/bootstrap-peer-server_gen.go index ada471c79..79b35bbbe 100644 --- a/cmd/bootstrap-peer-server_gen.go +++ b/cmd/bootstrap-peer-server_gen.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "github.com/tinylib/msgp/msgp" ) @@ -59,19 +59,17 @@ func (z *ServerSystemConfig) DecodeMsg(dc *msgp.Reader) (err error) { if z.MinioEnv == nil { z.MinioEnv = make(map[string]string, zb0003) } else if len(z.MinioEnv) > 0 { - for key := range z.MinioEnv { - delete(z.MinioEnv, key) - } + clear(z.MinioEnv) } for zb0003 > 0 { zb0003-- var za0002 string - var za0003 string za0002, err = dc.ReadString() if err != nil { err = msgp.WrapError(err, "MinioEnv") return } + var za0003 string za0003, err = dc.ReadString() if err != nil { err = msgp.WrapError(err, "MinioEnv", za0002) @@ -240,14 +238,12 @@ func (z *ServerSystemConfig) UnmarshalMsg(bts []byte) (o []byte, err error) { if z.MinioEnv == nil { z.MinioEnv = make(map[string]string, zb0003) } else if len(z.MinioEnv) > 0 { - for key := range z.MinioEnv { - delete(z.MinioEnv, key) - } + clear(z.MinioEnv) } for zb0003 > 0 { - var za0002 string var za0003 string zb0003-- + var za0002 string za0002, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err, "MinioEnv") diff --git a/cmd/bootstrap-peer-server_gen_test.go b/cmd/bootstrap-peer-server_gen_test.go index 1446451de..efb0ee0cd 100644 --- a/cmd/bootstrap-peer-server_gen_test.go +++ b/cmd/bootstrap-peer-server_gen_test.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "bytes" "testing" diff --git a/cmd/bucket-handlers.go b/cmd/bucket-handlers.go index 0713be646..564572f2a 100644 --- a/cmd/bucket-handlers.go +++ b/cmd/bucket-handlers.go @@ -592,7 +592,7 @@ func (api objectAPIHandlers) DeleteMultipleObjectsHandler(w http.ResponseWriter, output[idx] = obj idx++ } - return + return output } // Disable timeouts and cancellation diff --git a/cmd/bucket-listobjects-handlers.go b/cmd/bucket-listobjects-handlers.go index d7664e220..0afd76c43 100644 --- a/cmd/bucket-listobjects-handlers.go +++ b/cmd/bucket-listobjects-handlers.go @@ -248,19 +248,19 @@ func proxyRequestByToken(ctx context.Context, w http.ResponseWriter, r *http.Req if subToken, nodeIndex = parseRequestToken(token); nodeIndex >= 0 { proxied, success = proxyRequestByNodeIndex(ctx, w, r, nodeIndex, returnErr) } - return + return subToken, proxied, success } func proxyRequestByNodeIndex(ctx context.Context, w http.ResponseWriter, r *http.Request, index int, returnErr bool) (proxied, success bool) { if len(globalProxyEndpoints) == 0 { - return + return proxied, success } if index < 0 || index >= len(globalProxyEndpoints) { - return + return proxied, success } ep := globalProxyEndpoints[index] if ep.IsLocal { - return + return proxied, success } return true, proxyRequest(ctx, w, r, ep, returnErr) } diff --git a/cmd/bucket-metadata.go b/cmd/bucket-metadata.go index dca5c9e77..e78118175 100644 --- a/cmd/bucket-metadata.go +++ b/cmd/bucket-metadata.go @@ -161,7 +161,7 @@ func (b BucketMetadata) lastUpdate() (t time.Time) { t = b.BucketTargetsConfigMetaUpdatedAt } - return + return t } // Versioning returns true if versioning is enabled @@ -542,13 +542,13 @@ func (b *BucketMetadata) migrateTargetConfig(ctx context.Context, objectAPI Obje func encryptBucketMetadata(ctx context.Context, bucket string, input []byte, kmsContext kms.Context) (output, metabytes []byte, err error) { if GlobalKMS == nil { output = input - return + return output, metabytes, err } metadata := make(map[string]string) key, err := GlobalKMS.GenerateKey(ctx, &kms.GenerateKeyRequest{AssociatedData: kmsContext}) if err != nil { - return + return output, metabytes, err } outbuf := bytes.NewBuffer(nil) @@ -561,7 +561,7 @@ func encryptBucketMetadata(ctx context.Context, bucket string, input []byte, kms } metabytes, err = json.Marshal(metadata) if err != nil { - return + return output, metabytes, err } return outbuf.Bytes(), metabytes, nil } diff --git a/cmd/bucket-metadata_gen.go b/cmd/bucket-metadata_gen.go index 133fda76b..0407b66ea 100644 --- a/cmd/bucket-metadata_gen.go +++ b/cmd/bucket-metadata_gen.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "github.com/tinylib/msgp/msgp" ) diff --git a/cmd/bucket-metadata_gen_test.go b/cmd/bucket-metadata_gen_test.go index 066a68d16..4c2d25c77 100644 --- a/cmd/bucket-metadata_gen_test.go +++ b/cmd/bucket-metadata_gen_test.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "bytes" "testing" diff --git a/cmd/bucket-quota.go b/cmd/bucket-quota.go index f4f851955..d9779c21a 100644 --- a/cmd/bucket-quota.go +++ b/cmd/bucket-quota.go @@ -97,7 +97,7 @@ func parseBucketQuota(bucket string, data []byte) (quotaCfg *madmin.BucketQuota, } return quotaCfg, fmt.Errorf("Invalid quota config %#v", quotaCfg) } - return + return quotaCfg, err } func (sys *BucketQuotaSys) enforceQuotaHard(ctx context.Context, bucket string, size int64) error { diff --git a/cmd/bucket-replication-metrics_gen.go b/cmd/bucket-replication-metrics_gen.go index d59688beb..f8eba540c 100644 --- a/cmd/bucket-replication-metrics_gen.go +++ b/cmd/bucket-replication-metrics_gen.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "github.com/tinylib/msgp/msgp" ) diff --git a/cmd/bucket-replication-metrics_gen_test.go b/cmd/bucket-replication-metrics_gen_test.go index 629649e76..7342472fd 100644 --- a/cmd/bucket-replication-metrics_gen_test.go +++ b/cmd/bucket-replication-metrics_gen_test.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "bytes" "testing" diff --git a/cmd/bucket-replication-utils.go b/cmd/bucket-replication-utils.go index 7f17d833e..41b5dbc63 100644 --- a/cmd/bucket-replication-utils.go +++ b/cmd/bucket-replication-utils.go @@ -172,13 +172,13 @@ func (ri ReplicateObjectInfo) TargetReplicationStatus(arn string) (status replic repStatMatches := replStatusRegex.FindAllStringSubmatch(ri.ReplicationStatusInternal, -1) for _, repStatMatch := range repStatMatches { if len(repStatMatch) != 3 { - return + return status } if repStatMatch[1] == arn { return replication.StatusType(repStatMatch[2]) } } - return + return status } // TargetReplicationStatus - returns replication status of a target @@ -186,13 +186,13 @@ func (o ObjectInfo) TargetReplicationStatus(arn string) (status replication.Stat repStatMatches := replStatusRegex.FindAllStringSubmatch(o.ReplicationStatusInternal, -1) for _, repStatMatch := range repStatMatches { if len(repStatMatch) != 3 { - return + return status } if repStatMatch[1] == arn { return replication.StatusType(repStatMatch[2]) } } - return + return status } type replicateTargetDecision struct { @@ -310,7 +310,7 @@ func parseReplicateDecision(ctx context.Context, bucket, s string) (r ReplicateD targetsMap: make(map[string]replicateTargetDecision), } if len(s) == 0 { - return + return r, err } for p := range strings.SplitSeq(s, ",") { if p == "" { @@ -327,7 +327,7 @@ func parseReplicateDecision(ctx context.Context, bucket, s string) (r ReplicateD } r.targetsMap[slc[0]] = replicateTargetDecision{Replicate: tgt[0] == "true", Synchronous: tgt[1] == "true", Arn: tgt[2], ID: tgt[3]} } - return + return r, err } // ReplicationState represents internal replication state @@ -374,7 +374,7 @@ func (rs *ReplicationState) CompositeReplicationStatus() (st replication.StatusT case !rs.ReplicaStatus.Empty(): return rs.ReplicaStatus default: - return + return st } } @@ -737,7 +737,7 @@ type BucketReplicationResyncStatus struct { func (rs *BucketReplicationResyncStatus) cloneTgtStats() (m map[string]TargetReplicationResyncStatus) { m = make(map[string]TargetReplicationResyncStatus) maps.Copy(m, rs.TargetsMap) - return + return m } func newBucketResyncStatus(bucket string) BucketReplicationResyncStatus { @@ -774,7 +774,7 @@ func extractReplicateDiffOpts(q url.Values) (opts madmin.ReplDiffOpts) { opts.Verbose = q.Get("verbose") == "true" opts.ARN = q.Get("arn") opts.Prefix = q.Get("prefix") - return + return opts } const ( diff --git a/cmd/bucket-replication-utils_gen.go b/cmd/bucket-replication-utils_gen.go index a93e6bb4c..933869213 100644 --- a/cmd/bucket-replication-utils_gen.go +++ b/cmd/bucket-replication-utils_gen.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "github.com/minio/minio/internal/bucket/replication" "github.com/tinylib/msgp/msgp" @@ -41,19 +41,17 @@ func (z *BucketReplicationResyncStatus) DecodeMsg(dc *msgp.Reader) (err error) { if z.TargetsMap == nil { z.TargetsMap = make(map[string]TargetReplicationResyncStatus, zb0002) } else if len(z.TargetsMap) > 0 { - for key := range z.TargetsMap { - delete(z.TargetsMap, key) - } + clear(z.TargetsMap) } for zb0002 > 0 { zb0002-- var za0001 string - var za0002 TargetReplicationResyncStatus za0001, err = dc.ReadString() if err != nil { err = msgp.WrapError(err, "TargetsMap") return } + var za0002 TargetReplicationResyncStatus err = za0002.DecodeMsg(dc) if err != nil { err = msgp.WrapError(err, "TargetsMap", za0001) @@ -203,14 +201,12 @@ func (z *BucketReplicationResyncStatus) UnmarshalMsg(bts []byte) (o []byte, err if z.TargetsMap == nil { z.TargetsMap = make(map[string]TargetReplicationResyncStatus, zb0002) } else if len(z.TargetsMap) > 0 { - for key := range z.TargetsMap { - delete(z.TargetsMap, key) - } + clear(z.TargetsMap) } for zb0002 > 0 { - var za0001 string var za0002 TargetReplicationResyncStatus zb0002-- + var za0001 string za0001, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err, "TargetsMap") @@ -288,19 +284,17 @@ func (z *MRFReplicateEntries) DecodeMsg(dc *msgp.Reader) (err error) { if z.Entries == nil { z.Entries = make(map[string]MRFReplicateEntry, zb0002) } else if len(z.Entries) > 0 { - for key := range z.Entries { - delete(z.Entries, key) - } + clear(z.Entries) } for zb0002 > 0 { zb0002-- var za0001 string - var za0002 MRFReplicateEntry za0001, err = dc.ReadString() if err != nil { err = msgp.WrapError(err, "Entries") return } + var za0002 MRFReplicateEntry var zb0003 uint32 zb0003, err = dc.ReadMapHeader() if err != nil { @@ -478,14 +472,12 @@ func (z *MRFReplicateEntries) UnmarshalMsg(bts []byte) (o []byte, err error) { if z.Entries == nil { z.Entries = make(map[string]MRFReplicateEntry, zb0002) } else if len(z.Entries) > 0 { - for key := range z.Entries { - delete(z.Entries, key) - } + clear(z.Entries) } for zb0002 > 0 { - var za0001 string var za0002 MRFReplicateEntry zb0002-- + var za0001 string za0001, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err, "Entries") @@ -872,19 +864,17 @@ func (z *ReplicationState) DecodeMsg(dc *msgp.Reader) (err error) { if z.Targets == nil { z.Targets = make(map[string]replication.StatusType, zb0002) } else if len(z.Targets) > 0 { - for key := range z.Targets { - delete(z.Targets, key) - } + clear(z.Targets) } for zb0002 > 0 { zb0002-- var za0001 string - var za0002 replication.StatusType za0001, err = dc.ReadString() if err != nil { err = msgp.WrapError(err, "Targets") return } + var za0002 replication.StatusType err = za0002.DecodeMsg(dc) if err != nil { err = msgp.WrapError(err, "Targets", za0001) @@ -902,19 +892,17 @@ func (z *ReplicationState) DecodeMsg(dc *msgp.Reader) (err error) { if z.PurgeTargets == nil { z.PurgeTargets = make(map[string]VersionPurgeStatusType, zb0003) } else if len(z.PurgeTargets) > 0 { - for key := range z.PurgeTargets { - delete(z.PurgeTargets, key) - } + clear(z.PurgeTargets) } for zb0003 > 0 { zb0003-- var za0003 string - var za0004 VersionPurgeStatusType za0003, err = dc.ReadString() if err != nil { err = msgp.WrapError(err, "PurgeTargets") return } + var za0004 VersionPurgeStatusType err = za0004.DecodeMsg(dc) if err != nil { err = msgp.WrapError(err, "PurgeTargets", za0003) @@ -932,19 +920,17 @@ func (z *ReplicationState) DecodeMsg(dc *msgp.Reader) (err error) { if z.ResetStatusesMap == nil { z.ResetStatusesMap = make(map[string]string, zb0004) } else if len(z.ResetStatusesMap) > 0 { - for key := range z.ResetStatusesMap { - delete(z.ResetStatusesMap, key) - } + clear(z.ResetStatusesMap) } for zb0004 > 0 { zb0004-- var za0005 string - var za0006 string za0005, err = dc.ReadString() if err != nil { err = msgp.WrapError(err, "ResetStatusesMap") return } + var za0006 string za0006, err = dc.ReadString() if err != nil { err = msgp.WrapError(err, "ResetStatusesMap", za0005) @@ -1236,14 +1222,12 @@ func (z *ReplicationState) UnmarshalMsg(bts []byte) (o []byte, err error) { if z.Targets == nil { z.Targets = make(map[string]replication.StatusType, zb0002) } else if len(z.Targets) > 0 { - for key := range z.Targets { - delete(z.Targets, key) - } + clear(z.Targets) } for zb0002 > 0 { - var za0001 string var za0002 replication.StatusType zb0002-- + var za0001 string za0001, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err, "Targets") @@ -1266,14 +1250,12 @@ func (z *ReplicationState) UnmarshalMsg(bts []byte) (o []byte, err error) { if z.PurgeTargets == nil { z.PurgeTargets = make(map[string]VersionPurgeStatusType, zb0003) } else if len(z.PurgeTargets) > 0 { - for key := range z.PurgeTargets { - delete(z.PurgeTargets, key) - } + clear(z.PurgeTargets) } for zb0003 > 0 { - var za0003 string var za0004 VersionPurgeStatusType zb0003-- + var za0003 string za0003, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err, "PurgeTargets") @@ -1296,14 +1278,12 @@ func (z *ReplicationState) UnmarshalMsg(bts []byte) (o []byte, err error) { if z.ResetStatusesMap == nil { z.ResetStatusesMap = make(map[string]string, zb0004) } else if len(z.ResetStatusesMap) > 0 { - for key := range z.ResetStatusesMap { - delete(z.ResetStatusesMap, key) - } + clear(z.ResetStatusesMap) } for zb0004 > 0 { - var za0005 string var za0006 string zb0004-- + var za0005 string za0005, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err, "ResetStatusesMap") diff --git a/cmd/bucket-replication-utils_gen_test.go b/cmd/bucket-replication-utils_gen_test.go index 9a8fd1ea7..ec7dd41c5 100644 --- a/cmd/bucket-replication-utils_gen_test.go +++ b/cmd/bucket-replication-utils_gen_test.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "bytes" "testing" diff --git a/cmd/bucket-replication.go b/cmd/bucket-replication.go index 11d722d20..5f6268cb6 100644 --- a/cmd/bucket-replication.go +++ b/cmd/bucket-replication.go @@ -253,31 +253,31 @@ func getMustReplicateOptions(userDefined map[string]string, userTags string, sta func mustReplicate(ctx context.Context, bucket, object string, mopts mustReplicateOptions) (dsc ReplicateDecision) { // object layer not initialized we return with no decision. if newObjectLayerFn() == nil { - return + return dsc } // Disable server-side replication on object prefixes which are excluded // from versioning via the MinIO bucket versioning extension. if !globalBucketVersioningSys.PrefixEnabled(bucket, object) { - return + return dsc } replStatus := mopts.ReplicationStatus() if replStatus == replication.Replica && !mopts.isMetadataReplication() { - return + return dsc } if mopts.replicationRequest { // incoming replication request on target cluster - return + return dsc } cfg, err := getReplicationConfig(ctx, bucket) if err != nil { replLogOnceIf(ctx, err, bucket) - return + return dsc } if cfg == nil { - return + return dsc } opts := replication.ObjectOpts{ @@ -348,16 +348,16 @@ func checkReplicateDelete(ctx context.Context, bucket string, dobj ObjectToDelet rcfg, err := getReplicationConfig(ctx, bucket) if err != nil || rcfg == nil { replLogOnceIf(ctx, err, bucket) - return + return dsc } // If incoming request is a replication request, it does not need to be re-replicated. if delOpts.ReplicationRequest { - return + return dsc } // Skip replication if this object's prefix is excluded from being // versioned. if !delOpts.Versioned { - return + return dsc } opts := replication.ObjectOpts{ Name: dobj.ObjectName, @@ -617,10 +617,10 @@ func replicateDeleteToTarget(ctx context.Context, dobj DeletedObjectReplicationI if dobj.VersionID == "" && rinfo.PrevReplicationStatus == replication.Completed && dobj.OpType != replication.ExistingObjectReplicationType { rinfo.ReplicationStatus = rinfo.PrevReplicationStatus - return + return rinfo } if dobj.VersionID != "" && rinfo.VersionPurgeStatus == replication.VersionPurgeComplete { - return + return rinfo } if globalBucketTargetSys.isOffline(tgt.EndpointURL()) { replLogOnceIf(ctx, fmt.Errorf("remote target is offline for bucket:%s arn:%s", dobj.Bucket, tgt.ARN), "replication-target-offline-delete-"+tgt.ARN) @@ -641,7 +641,7 @@ func replicateDeleteToTarget(ctx context.Context, dobj DeletedObjectReplicationI } else { rinfo.VersionPurgeStatus = replication.VersionPurgeFailed } - return + return rinfo } // early return if already replicated delete marker for existing object replication/ healing delete markers if dobj.DeleteMarkerVersionID != "" { @@ -658,13 +658,13 @@ func replicateDeleteToTarget(ctx context.Context, dobj DeletedObjectReplicationI // delete marker already replicated if dobj.VersionID == "" && rinfo.VersionPurgeStatus.Empty() { rinfo.ReplicationStatus = replication.Completed - return + return rinfo } case isErrObjectNotFound(serr), isErrVersionNotFound(serr): // version being purged is already not found on target. if !rinfo.VersionPurgeStatus.Empty() { rinfo.VersionPurgeStatus = replication.VersionPurgeComplete - return + return rinfo } case isErrReadQuorum(serr), isErrWriteQuorum(serr): // destination has some quorum issues, perform removeObject() anyways @@ -678,7 +678,7 @@ func replicateDeleteToTarget(ctx context.Context, dobj DeletedObjectReplicationI if err != nil && !toi.ReplicationReady { rinfo.ReplicationStatus = replication.Failed rinfo.Err = err - return + return rinfo } } } @@ -709,7 +709,7 @@ func replicateDeleteToTarget(ctx context.Context, dobj DeletedObjectReplicationI rinfo.VersionPurgeStatus = replication.VersionPurgeComplete } } - return + return rinfo } func getCopyObjMetadata(oi ObjectInfo, sc string) map[string]string { @@ -910,7 +910,7 @@ func putReplicationOpts(ctx context.Context, sc string, objInfo ObjectInfo) (put } putOpts.ServerSideEncryption = sseEnc } - return + return putOpts, isMP, err } type replicationAction string @@ -1208,7 +1208,7 @@ func (ri ReplicateObjectInfo) replicateObject(ctx context.Context, objectAPI Obj if ri.TargetReplicationStatus(tgt.ARN) == replication.Completed && !ri.ExistingObjResync.Empty() && !ri.ExistingObjResync.mustResyncTarget(tgt.ARN) { rinfo.ReplicationStatus = replication.Completed rinfo.ReplicationResynced = true - return + return rinfo } if globalBucketTargetSys.isOffline(tgt.EndpointURL()) { @@ -1220,7 +1220,7 @@ func (ri ReplicateObjectInfo) replicateObject(ctx context.Context, objectAPI Obj UserAgent: "Internal: [Replication]", Host: globalLocalNodeName, }) - return + return rinfo } versioned := globalBucketVersioningSys.PrefixEnabled(bucket, object) @@ -1244,7 +1244,7 @@ func (ri ReplicateObjectInfo) replicateObject(ctx context.Context, objectAPI Obj }) replLogOnceIf(ctx, fmt.Errorf("unable to read source object %s/%s(%s): %w", bucket, object, objInfo.VersionID, err), object+":"+objInfo.VersionID) } - return + return rinfo } defer gr.Close() @@ -1268,7 +1268,7 @@ func (ri ReplicateObjectInfo) replicateObject(ctx context.Context, objectAPI Obj UserAgent: "Internal: [Replication]", Host: globalLocalNodeName, }) - return + return rinfo } } @@ -1307,7 +1307,7 @@ func (ri ReplicateObjectInfo) replicateObject(ctx context.Context, objectAPI Obj UserAgent: "Internal: [Replication]", Host: globalLocalNodeName, }) - return + return rinfo } var headerSize int @@ -1344,7 +1344,7 @@ func (ri ReplicateObjectInfo) replicateObject(ctx context.Context, objectAPI Obj globalBucketTargetSys.markOffline(tgt.EndpointURL()) } } - return + return rinfo } // replicateAll replicates metadata for specified version of the object to destination bucket @@ -1380,7 +1380,7 @@ func (ri ReplicateObjectInfo) replicateAll(ctx context.Context, objectAPI Object UserAgent: "Internal: [Replication]", Host: globalLocalNodeName, }) - return + return rinfo } versioned := globalBucketVersioningSys.PrefixEnabled(bucket, object) @@ -1405,7 +1405,7 @@ func (ri ReplicateObjectInfo) replicateAll(ctx context.Context, objectAPI Object }) replLogIf(ctx, fmt.Errorf("unable to replicate to target %s for %s/%s(%s): %w", tgt.EndpointURL(), bucket, object, objInfo.VersionID, err)) } - return + return rinfo } defer gr.Close() @@ -1418,7 +1418,7 @@ func (ri ReplicateObjectInfo) replicateAll(ctx context.Context, objectAPI Object if objInfo.TargetReplicationStatus(tgt.ARN) == replication.Completed && !ri.ExistingObjResync.Empty() && !ri.ExistingObjResync.mustResyncTarget(tgt.ARN) { rinfo.ReplicationStatus = replication.Completed rinfo.ReplicationResynced = true - return + return rinfo } size, err := objInfo.GetActualSize() @@ -1431,7 +1431,7 @@ func (ri ReplicateObjectInfo) replicateAll(ctx context.Context, objectAPI Object UserAgent: "Internal: [Replication]", Host: globalLocalNodeName, }) - return + return rinfo } // Set the encrypted size for SSE-C objects @@ -1494,7 +1494,7 @@ func (ri ReplicateObjectInfo) replicateAll(ctx context.Context, objectAPI Object rinfo.ReplicationAction = rAction rinfo.ReplicationStatus = replication.Completed } - return + return rinfo } } else { // SSEC objects will refuse HeadObject without the decryption key. @@ -1528,7 +1528,7 @@ func (ri ReplicateObjectInfo) replicateAll(ctx context.Context, objectAPI Object UserAgent: "Internal: [Replication]", Host: globalLocalNodeName, }) - return + return rinfo } } applyAction: @@ -1594,7 +1594,7 @@ applyAction: UserAgent: "Internal: [Replication]", Host: globalLocalNodeName, }) - return + return rinfo } var headerSize int for k, v := range putOpts.Header() { @@ -1631,7 +1631,7 @@ applyAction: } } } - return + return rinfo } func replicateObjectWithMultipart(ctx context.Context, c *minio.Core, bucket, object string, r io.Reader, objInfo ObjectInfo, opts minio.PutObjectOptions) (err error) { @@ -2677,7 +2677,7 @@ func (c replicationConfig) Replicate(opts replication.ObjectOpts) bool { // Resync returns true if replication reset is requested func (c replicationConfig) Resync(ctx context.Context, oi ObjectInfo, dsc ReplicateDecision, tgtStatuses map[string]replication.StatusType) (r ResyncDecision) { if c.Empty() { - return + return r } // Now overlay existing object replication choices for target @@ -2693,7 +2693,7 @@ func (c replicationConfig) Resync(ctx context.Context, oi ObjectInfo, dsc Replic tgtArns := c.Config.FilterTargetArns(opts) // indicates no matching target with Existing object replication enabled. if len(tgtArns) == 0 { - return + return r } for _, t := range tgtArns { opts.TargetArn = t @@ -2719,7 +2719,7 @@ func (c replicationConfig) resync(oi ObjectInfo, dsc ReplicateDecision, tgtStatu targets: make(map[string]ResyncTargetDecision, len(dsc.targetsMap)), } if c.remotes == nil { - return + return r } for _, tgt := range c.remotes.Targets { d, ok := dsc.targetsMap[tgt.Arn] @@ -2731,7 +2731,7 @@ func (c replicationConfig) resync(oi ObjectInfo, dsc ReplicateDecision, tgtStatu } r.targets[d.Arn] = resyncTarget(oi, tgt.Arn, tgt.ResetID, tgt.ResetBeforeDate, tgtStatuses[tgt.Arn]) } - return + return r } func targetResetHeader(arn string) string { @@ -2750,28 +2750,28 @@ func resyncTarget(oi ObjectInfo, arn string, resetID string, resetBeforeDate tim if !ok { // existing object replication is enabled and object version is unreplicated so far. if resetID != "" && oi.ModTime.Before(resetBeforeDate) { // trigger replication if `mc replicate reset` requested rd.Replicate = true - return + return rd } // For existing object reset - this condition is needed rd.Replicate = tgtStatus == "" - return + return rd } if resetID == "" || resetBeforeDate.Equal(timeSentinel) { // no reset in progress - return + return rd } // if already replicated, return true if a new reset was requested. splits := strings.SplitN(rs, ";", 2) if len(splits) != 2 { - return + return rd } newReset := splits[1] != resetID if !newReset && tgtStatus == replication.Completed { // already replicated and no reset requested - return + return rd } rd.Replicate = newReset && oi.ModTime.Before(resetBeforeDate) - return + return rd } const resyncTimeInterval = time.Minute * 1 @@ -3422,12 +3422,12 @@ func queueReplicationHeal(ctx context.Context, bucket string, oi ObjectInfo, rcf roi = getHealReplicateObjectInfo(oi, rcfg) roi.RetryCount = uint32(retryCount) if !roi.Dsc.ReplicateAny() { - return + return roi } // early return if replication already done, otherwise we need to determine if this // version is an existing object that needs healing. if oi.ReplicationStatus == replication.Completed && oi.VersionPurgeStatus.Empty() && !roi.ExistingObjResync.mustResync() { - return + return roi } if roi.DeleteMarker || !roi.VersionPurgeStatus.Empty() { @@ -3457,14 +3457,14 @@ func queueReplicationHeal(ctx context.Context, bucket string, oi ObjectInfo, rcf roi.ReplicationStatus == replication.Failed || roi.VersionPurgeStatus == replication.VersionPurgeFailed || roi.VersionPurgeStatus == replication.VersionPurgePending { globalReplicationPool.Get().queueReplicaDeleteTask(dv) - return + return roi } // if replication status is Complete on DeleteMarker and existing object resync required if roi.ExistingObjResync.mustResync() && (roi.ReplicationStatus == replication.Completed || roi.ReplicationStatus.Empty()) { queueReplicateDeletesWrapper(dv, roi.ExistingObjResync) - return + return roi } - return + return roi } if roi.ExistingObjResync.mustResync() { roi.OpType = replication.ExistingObjectReplicationType @@ -3473,13 +3473,13 @@ func queueReplicationHeal(ctx context.Context, bucket string, oi ObjectInfo, rcf case replication.Pending, replication.Failed: roi.EventType = ReplicateHeal globalReplicationPool.Get().queueReplicaTask(roi) - return + return roi } if roi.ExistingObjResync.mustResync() { roi.EventType = ReplicateExisting globalReplicationPool.Get().queueReplicaTask(roi) } - return + return roi } const ( diff --git a/cmd/bucket-stats.go b/cmd/bucket-stats.go index 9a2ec0d22..e2eb00aa4 100644 --- a/cmd/bucket-stats.go +++ b/cmd/bucket-stats.go @@ -38,7 +38,7 @@ type ReplicationLatency struct { // Merge two replication latency into a new one func (rl ReplicationLatency) merge(other ReplicationLatency) (newReplLatency ReplicationLatency) { newReplLatency.UploadHistogram = rl.UploadHistogram.Merge(other.UploadHistogram) - return + return newReplLatency } // Get upload latency of each object size range @@ -49,7 +49,7 @@ func (rl ReplicationLatency) getUploadLatency() (ret map[string]uint64) { // Convert nanoseconds to milliseconds ret[sizeTagToString(k)] = uint64(v.avg() / time.Millisecond) } - return + return ret } // Update replication upload latency with a new value @@ -64,7 +64,7 @@ type ReplicationLastMinute struct { func (rl ReplicationLastMinute) merge(other ReplicationLastMinute) (nl ReplicationLastMinute) { nl = ReplicationLastMinute{rl.LastMinute.merge(other.LastMinute)} - return + return nl } func (rl *ReplicationLastMinute) addsize(n int64) { diff --git a/cmd/bucket-stats_gen.go b/cmd/bucket-stats_gen.go index 1fca700f1..201c574ce 100644 --- a/cmd/bucket-stats_gen.go +++ b/cmd/bucket-stats_gen.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "github.com/tinylib/msgp/msgp" ) @@ -617,19 +617,17 @@ func (z *BucketReplicationStats) DecodeMsg(dc *msgp.Reader) (err error) { if z.Stats == nil { z.Stats = make(map[string]*BucketReplicationStat, zb0002) } else if len(z.Stats) > 0 { - for key := range z.Stats { - delete(z.Stats, key) - } + clear(z.Stats) } for zb0002 > 0 { zb0002-- var za0001 string - var za0002 *BucketReplicationStat za0001, err = dc.ReadString() if err != nil { err = msgp.WrapError(err, "Stats") return } + var za0002 *BucketReplicationStat if dc.IsNil() { err = dc.ReadNil() if err != nil { @@ -943,14 +941,12 @@ func (z *BucketReplicationStats) UnmarshalMsg(bts []byte) (o []byte, err error) if z.Stats == nil { z.Stats = make(map[string]*BucketReplicationStat, zb0002) } else if len(z.Stats) > 0 { - for key := range z.Stats { - delete(z.Stats, key) - } + clear(z.Stats) } for zb0002 > 0 { - var za0001 string var za0002 *BucketReplicationStat zb0002-- + var za0001 string za0001, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err, "Stats") @@ -1402,19 +1398,17 @@ func (z *BucketStatsMap) DecodeMsg(dc *msgp.Reader) (err error) { if z.Stats == nil { z.Stats = make(map[string]BucketStats, zb0002) } else if len(z.Stats) > 0 { - for key := range z.Stats { - delete(z.Stats, key) - } + clear(z.Stats) } for zb0002 > 0 { zb0002-- var za0001 string - var za0002 BucketStats za0001, err = dc.ReadString() if err != nil { err = msgp.WrapError(err, "Stats") return } + var za0002 BucketStats err = za0002.DecodeMsg(dc) if err != nil { err = msgp.WrapError(err, "Stats", za0001) @@ -1526,14 +1520,12 @@ func (z *BucketStatsMap) UnmarshalMsg(bts []byte) (o []byte, err error) { if z.Stats == nil { z.Stats = make(map[string]BucketStats, zb0002) } else if len(z.Stats) > 0 { - for key := range z.Stats { - delete(z.Stats, key) - } + clear(z.Stats) } for zb0002 > 0 { - var za0001 string var za0002 BucketStats zb0002-- + var za0001 string za0001, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err, "Stats") diff --git a/cmd/bucket-stats_gen_test.go b/cmd/bucket-stats_gen_test.go index 2116c19eb..18344b439 100644 --- a/cmd/bucket-stats_gen_test.go +++ b/cmd/bucket-stats_gen_test.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "bytes" "testing" diff --git a/cmd/bucket-targets.go b/cmd/bucket-targets.go index db93765c5..9bd67a05a 100644 --- a/cmd/bucket-targets.go +++ b/cmd/bucket-targets.go @@ -285,7 +285,7 @@ func (sys *BucketTargetSys) ListTargets(ctx context.Context, bucket, arnType str } } } - return + return targets } // ListBucketTargets - gets list of bucket targets for this bucket. @@ -668,7 +668,7 @@ func (sys *BucketTargetSys) getRemoteTargetClient(tcfg *madmin.BucketTarget) (*T // getRemoteARN gets existing ARN for an endpoint or generates a new one. func (sys *BucketTargetSys) getRemoteARN(bucket string, target *madmin.BucketTarget, deplID string) (arn string, exists bool) { if target == nil { - return + return arn, exists } sys.RLock() defer sys.RUnlock() @@ -682,7 +682,7 @@ func (sys *BucketTargetSys) getRemoteARN(bucket string, target *madmin.BucketTar } } if !target.Type.IsValid() { - return + return arn, exists } return generateARN(target, deplID), false } diff --git a/cmd/consolelogger.go b/cmd/consolelogger.go index c8f71b6fa..18488e192 100644 --- a/cmd/consolelogger.go +++ b/cmd/consolelogger.go @@ -167,7 +167,7 @@ func (sys *HTTPConsoleLoggerSys) Content() (logs []log.Entry) { }) sys.RUnlock() - return + return logs } // Cancel - cancels the target diff --git a/cmd/data-usage-cache.go b/cmd/data-usage-cache.go index b41574113..5752daae0 100644 --- a/cmd/data-usage-cache.go +++ b/cmd/data-usage-cache.go @@ -1221,11 +1221,11 @@ func (z *dataUsageHashMap) DecodeMsg(dc *msgp.Reader) (err error) { zb0002, err = dc.ReadArrayHeader() if err != nil { err = msgp.WrapError(err) - return + return err } if zb0002 == 0 { *z = nil - return + return err } *z = make(dataUsageHashMap, zb0002) for i := uint32(0); i < zb0002; i++ { @@ -1234,12 +1234,12 @@ func (z *dataUsageHashMap) DecodeMsg(dc *msgp.Reader) (err error) { zb0003, err = dc.ReadString() if err != nil { err = msgp.WrapError(err) - return + return err } (*z)[zb0003] = struct{}{} } } - return + return err } // EncodeMsg implements msgp.Encodable @@ -1247,16 +1247,16 @@ func (z dataUsageHashMap) EncodeMsg(en *msgp.Writer) (err error) { err = en.WriteArrayHeader(uint32(len(z))) if err != nil { err = msgp.WrapError(err) - return + return err } for zb0004 := range z { err = en.WriteString(zb0004) if err != nil { err = msgp.WrapError(err, zb0004) - return + return err } } - return + return err } // MarshalMsg implements msgp.Marshaler @@ -1266,7 +1266,7 @@ func (z dataUsageHashMap) MarshalMsg(b []byte) (o []byte, err error) { for zb0004 := range z { o = msgp.AppendString(o, zb0004) } - return + return o, err } // UnmarshalMsg implements msgp.Unmarshaler @@ -1275,7 +1275,7 @@ func (z *dataUsageHashMap) UnmarshalMsg(bts []byte) (o []byte, err error) { zb0002, bts, err = msgp.ReadArrayHeaderBytes(bts) if err != nil { err = msgp.WrapError(err) - return + return o, err } if zb0002 == 0 { *z = nil @@ -1288,13 +1288,13 @@ func (z *dataUsageHashMap) UnmarshalMsg(bts []byte) (o []byte, err error) { zb0003, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err) - return + return o, err } (*z)[zb0003] = struct{}{} } } o = bts - return + return o, err } // Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message @@ -1303,7 +1303,7 @@ func (z dataUsageHashMap) Msgsize() (s int) { for zb0004 := range z { s += msgp.StringPrefixSize + len(zb0004) } - return + return s } //msgp:encode ignore currentScannerCycle diff --git a/cmd/data-usage-cache_gen.go b/cmd/data-usage-cache_gen.go index 63c2815d2..df9d34a16 100644 --- a/cmd/data-usage-cache_gen.go +++ b/cmd/data-usage-cache_gen.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "time" @@ -36,19 +36,17 @@ func (z *allTierStats) DecodeMsg(dc *msgp.Reader) (err error) { if z.Tiers == nil { z.Tiers = make(map[string]tierStats, zb0002) } else if len(z.Tiers) > 0 { - for key := range z.Tiers { - delete(z.Tiers, key) - } + clear(z.Tiers) } for zb0002 > 0 { zb0002-- var za0001 string - var za0002 tierStats za0001, err = dc.ReadString() if err != nil { err = msgp.WrapError(err, "Tiers") return } + var za0002 tierStats var zb0003 uint32 zb0003, err = dc.ReadMapHeader() if err != nil { @@ -207,14 +205,12 @@ func (z *allTierStats) UnmarshalMsg(bts []byte) (o []byte, err error) { if z.Tiers == nil { z.Tiers = make(map[string]tierStats, zb0002) } else if len(z.Tiers) > 0 { - for key := range z.Tiers { - delete(z.Tiers, key) - } + clear(z.Tiers) } for zb0002 > 0 { - var za0001 string var za0002 tierStats zb0002-- + var za0001 string za0001, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err, "Tiers") @@ -415,19 +411,17 @@ func (z *dataUsageCache) DecodeMsg(dc *msgp.Reader) (err error) { if z.Cache == nil { z.Cache = make(map[string]dataUsageEntry, zb0002) } else if len(z.Cache) > 0 { - for key := range z.Cache { - delete(z.Cache, key) - } + clear(z.Cache) } for zb0002 > 0 { zb0002-- var za0001 string - var za0002 dataUsageEntry za0001, err = dc.ReadString() if err != nil { err = msgp.WrapError(err, "Cache") return } + var za0002 dataUsageEntry err = za0002.DecodeMsg(dc) if err != nil { err = msgp.WrapError(err, "Cache", za0001) @@ -543,14 +537,12 @@ func (z *dataUsageCache) UnmarshalMsg(bts []byte) (o []byte, err error) { if z.Cache == nil { z.Cache = make(map[string]dataUsageEntry, zb0002) } else if len(z.Cache) > 0 { - for key := range z.Cache { - delete(z.Cache, key) - } + clear(z.Cache) } for zb0002 > 0 { - var za0001 string var za0002 dataUsageEntry zb0002-- + var za0001 string za0001, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err, "Cache") @@ -799,19 +791,17 @@ func (z *dataUsageCacheV2) DecodeMsg(dc *msgp.Reader) (err error) { if z.Cache == nil { z.Cache = make(map[string]dataUsageEntryV2, zb0002) } else if len(z.Cache) > 0 { - for key := range z.Cache { - delete(z.Cache, key) - } + clear(z.Cache) } for zb0002 > 0 { zb0002-- var za0001 string - var za0002 dataUsageEntryV2 za0001, err = dc.ReadString() if err != nil { err = msgp.WrapError(err, "Cache") return } + var za0002 dataUsageEntryV2 err = za0002.DecodeMsg(dc) if err != nil { err = msgp.WrapError(err, "Cache", za0001) @@ -864,14 +854,12 @@ func (z *dataUsageCacheV2) UnmarshalMsg(bts []byte) (o []byte, err error) { if z.Cache == nil { z.Cache = make(map[string]dataUsageEntryV2, zb0002) } else if len(z.Cache) > 0 { - for key := range z.Cache { - delete(z.Cache, key) - } + clear(z.Cache) } for zb0002 > 0 { - var za0001 string var za0002 dataUsageEntryV2 zb0002-- + var za0001 string za0001, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err, "Cache") @@ -942,19 +930,17 @@ func (z *dataUsageCacheV3) DecodeMsg(dc *msgp.Reader) (err error) { if z.Cache == nil { z.Cache = make(map[string]dataUsageEntryV3, zb0002) } else if len(z.Cache) > 0 { - for key := range z.Cache { - delete(z.Cache, key) - } + clear(z.Cache) } for zb0002 > 0 { zb0002-- var za0001 string - var za0002 dataUsageEntryV3 za0001, err = dc.ReadString() if err != nil { err = msgp.WrapError(err, "Cache") return } + var za0002 dataUsageEntryV3 err = za0002.DecodeMsg(dc) if err != nil { err = msgp.WrapError(err, "Cache", za0001) @@ -1007,14 +993,12 @@ func (z *dataUsageCacheV3) UnmarshalMsg(bts []byte) (o []byte, err error) { if z.Cache == nil { z.Cache = make(map[string]dataUsageEntryV3, zb0002) } else if len(z.Cache) > 0 { - for key := range z.Cache { - delete(z.Cache, key) - } + clear(z.Cache) } for zb0002 > 0 { - var za0001 string var za0002 dataUsageEntryV3 zb0002-- + var za0001 string za0001, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err, "Cache") @@ -1085,19 +1069,17 @@ func (z *dataUsageCacheV4) DecodeMsg(dc *msgp.Reader) (err error) { if z.Cache == nil { z.Cache = make(map[string]dataUsageEntryV4, zb0002) } else if len(z.Cache) > 0 { - for key := range z.Cache { - delete(z.Cache, key) - } + clear(z.Cache) } for zb0002 > 0 { zb0002-- var za0001 string - var za0002 dataUsageEntryV4 za0001, err = dc.ReadString() if err != nil { err = msgp.WrapError(err, "Cache") return } + var za0002 dataUsageEntryV4 err = za0002.DecodeMsg(dc) if err != nil { err = msgp.WrapError(err, "Cache", za0001) @@ -1150,14 +1132,12 @@ func (z *dataUsageCacheV4) UnmarshalMsg(bts []byte) (o []byte, err error) { if z.Cache == nil { z.Cache = make(map[string]dataUsageEntryV4, zb0002) } else if len(z.Cache) > 0 { - for key := range z.Cache { - delete(z.Cache, key) - } + clear(z.Cache) } for zb0002 > 0 { - var za0001 string var za0002 dataUsageEntryV4 zb0002-- + var za0001 string za0001, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err, "Cache") @@ -1228,19 +1208,17 @@ func (z *dataUsageCacheV5) DecodeMsg(dc *msgp.Reader) (err error) { if z.Cache == nil { z.Cache = make(map[string]dataUsageEntryV5, zb0002) } else if len(z.Cache) > 0 { - for key := range z.Cache { - delete(z.Cache, key) - } + clear(z.Cache) } for zb0002 > 0 { zb0002-- var za0001 string - var za0002 dataUsageEntryV5 za0001, err = dc.ReadString() if err != nil { err = msgp.WrapError(err, "Cache") return } + var za0002 dataUsageEntryV5 err = za0002.DecodeMsg(dc) if err != nil { err = msgp.WrapError(err, "Cache", za0001) @@ -1293,14 +1271,12 @@ func (z *dataUsageCacheV5) UnmarshalMsg(bts []byte) (o []byte, err error) { if z.Cache == nil { z.Cache = make(map[string]dataUsageEntryV5, zb0002) } else if len(z.Cache) > 0 { - for key := range z.Cache { - delete(z.Cache, key) - } + clear(z.Cache) } for zb0002 > 0 { - var za0001 string var za0002 dataUsageEntryV5 zb0002-- + var za0001 string za0001, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err, "Cache") @@ -1371,19 +1347,17 @@ func (z *dataUsageCacheV6) DecodeMsg(dc *msgp.Reader) (err error) { if z.Cache == nil { z.Cache = make(map[string]dataUsageEntryV6, zb0002) } else if len(z.Cache) > 0 { - for key := range z.Cache { - delete(z.Cache, key) - } + clear(z.Cache) } for zb0002 > 0 { zb0002-- var za0001 string - var za0002 dataUsageEntryV6 za0001, err = dc.ReadString() if err != nil { err = msgp.WrapError(err, "Cache") return } + var za0002 dataUsageEntryV6 err = za0002.DecodeMsg(dc) if err != nil { err = msgp.WrapError(err, "Cache", za0001) @@ -1436,14 +1410,12 @@ func (z *dataUsageCacheV6) UnmarshalMsg(bts []byte) (o []byte, err error) { if z.Cache == nil { z.Cache = make(map[string]dataUsageEntryV6, zb0002) } else if len(z.Cache) > 0 { - for key := range z.Cache { - delete(z.Cache, key) - } + clear(z.Cache) } for zb0002 > 0 { - var za0001 string var za0002 dataUsageEntryV6 zb0002-- + var za0001 string za0001, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err, "Cache") @@ -1514,19 +1486,17 @@ func (z *dataUsageCacheV7) DecodeMsg(dc *msgp.Reader) (err error) { if z.Cache == nil { z.Cache = make(map[string]dataUsageEntryV7, zb0002) } else if len(z.Cache) > 0 { - for key := range z.Cache { - delete(z.Cache, key) - } + clear(z.Cache) } for zb0002 > 0 { zb0002-- var za0001 string - var za0002 dataUsageEntryV7 za0001, err = dc.ReadString() if err != nil { err = msgp.WrapError(err, "Cache") return } + var za0002 dataUsageEntryV7 err = za0002.DecodeMsg(dc) if err != nil { err = msgp.WrapError(err, "Cache", za0001) @@ -1579,14 +1549,12 @@ func (z *dataUsageCacheV7) UnmarshalMsg(bts []byte) (o []byte, err error) { if z.Cache == nil { z.Cache = make(map[string]dataUsageEntryV7, zb0002) } else if len(z.Cache) > 0 { - for key := range z.Cache { - delete(z.Cache, key) - } + clear(z.Cache) } for zb0002 > 0 { - var za0001 string var za0002 dataUsageEntryV7 zb0002-- + var za0001 string za0001, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err, "Cache") @@ -1745,19 +1713,17 @@ func (z *dataUsageEntry) DecodeMsg(dc *msgp.Reader) (err error) { if z.AllTierStats.Tiers == nil { z.AllTierStats.Tiers = make(map[string]tierStats, zb0005) } else if len(z.AllTierStats.Tiers) > 0 { - for key := range z.AllTierStats.Tiers { - delete(z.AllTierStats.Tiers, key) - } + clear(z.AllTierStats.Tiers) } for zb0005 > 0 { zb0005-- var za0003 string - var za0004 tierStats za0003, err = dc.ReadString() if err != nil { err = msgp.WrapError(err, "AllTierStats", "Tiers") return } + var za0004 tierStats var zb0006 uint32 zb0006, err = dc.ReadMapHeader() if err != nil { @@ -2211,14 +2177,12 @@ func (z *dataUsageEntry) UnmarshalMsg(bts []byte) (o []byte, err error) { if z.AllTierStats.Tiers == nil { z.AllTierStats.Tiers = make(map[string]tierStats, zb0005) } else if len(z.AllTierStats.Tiers) > 0 { - for key := range z.AllTierStats.Tiers { - delete(z.AllTierStats.Tiers, key) - } + clear(z.AllTierStats.Tiers) } for zb0005 > 0 { - var za0003 string var za0004 tierStats zb0005-- + var za0003 string za0003, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err, "AllTierStats", "Tiers") @@ -2984,19 +2948,17 @@ func (z *dataUsageEntryV7) DecodeMsg(dc *msgp.Reader) (err error) { if z.AllTierStats.Tiers == nil { z.AllTierStats.Tiers = make(map[string]tierStats, zb0005) } else if len(z.AllTierStats.Tiers) > 0 { - for key := range z.AllTierStats.Tiers { - delete(z.AllTierStats.Tiers, key) - } + clear(z.AllTierStats.Tiers) } for zb0005 > 0 { zb0005-- var za0003 string - var za0004 tierStats za0003, err = dc.ReadString() if err != nil { err = msgp.WrapError(err, "AllTierStats", "Tiers") return } + var za0004 tierStats var zb0006 uint32 zb0006, err = dc.ReadMapHeader() if err != nil { @@ -3192,14 +3154,12 @@ func (z *dataUsageEntryV7) UnmarshalMsg(bts []byte) (o []byte, err error) { if z.AllTierStats.Tiers == nil { z.AllTierStats.Tiers = make(map[string]tierStats, zb0005) } else if len(z.AllTierStats.Tiers) > 0 { - for key := range z.AllTierStats.Tiers { - delete(z.AllTierStats.Tiers, key) - } + clear(z.AllTierStats.Tiers) } for zb0005 > 0 { - var za0003 string var za0004 tierStats zb0005-- + var za0003 string za0003, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err, "AllTierStats", "Tiers") diff --git a/cmd/data-usage-cache_gen_test.go b/cmd/data-usage-cache_gen_test.go index d17134717..b19ca6bb8 100644 --- a/cmd/data-usage-cache_gen_test.go +++ b/cmd/data-usage-cache_gen_test.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "bytes" "testing" diff --git a/cmd/data-usage_test.go b/cmd/data-usage_test.go index 7cbd98e6a..51a46e65d 100644 --- a/cmd/data-usage_test.go +++ b/cmd/data-usage_test.go @@ -56,13 +56,13 @@ func TestDataUsageUpdate(t *testing.T) { var s os.FileInfo s, err = os.Stat(item.Path) if err != nil { - return + return sizeS, err } sizeS.totalSize = s.Size() sizeS.versions++ return sizeS, nil } - return + return sizeS, err } xls := xlStorage{drivePath: base, diskInfoCache: cachevalue.New[DiskInfo]()} xls.diskInfoCache.InitOnce(time.Second, cachevalue.Opts{}, func(ctx context.Context) (DiskInfo, error) { @@ -279,13 +279,13 @@ func TestDataUsageUpdatePrefix(t *testing.T) { var s os.FileInfo s, err = os.Stat(item.Path) if err != nil { - return + return sizeS, err } sizeS.totalSize = s.Size() sizeS.versions++ - return + return sizeS, err } - return + return sizeS, err } weSleep := func() bool { return false } @@ -569,13 +569,13 @@ func TestDataUsageCacheSerialize(t *testing.T) { var s os.FileInfo s, err = os.Stat(item.Path) if err != nil { - return + return sizeS, err } sizeS.versions++ sizeS.totalSize = s.Size() - return + return sizeS, err } - return + return sizeS, err } xls := xlStorage{drivePath: base, diskInfoCache: cachevalue.New[DiskInfo]()} xls.diskInfoCache.InitOnce(time.Second, cachevalue.Opts{}, func(ctx context.Context) (DiskInfo, error) { diff --git a/cmd/dummy-data-generator_test.go b/cmd/dummy-data-generator_test.go index 23c5ee2da..07400b30a 100644 --- a/cmd/dummy-data-generator_test.go +++ b/cmd/dummy-data-generator_test.go @@ -87,7 +87,7 @@ func (d *DummyDataGen) Read(b []byte) (n int, err error) { } err = io.EOF } - return + return n, err } func (d *DummyDataGen) Seek(offset int64, whence int) (int64, error) { diff --git a/cmd/encryption-v1.go b/cmd/encryption-v1.go index a42117271..c3da051a8 100644 --- a/cmd/encryption-v1.go +++ b/cmd/encryption-v1.go @@ -450,7 +450,7 @@ func setEncryptionMetadata(r *http.Request, bucket, object string, metadata map[ } } _, err = newEncryptMetadata(r.Context(), kind, keyID, key, bucket, object, metadata, kmsCtx) - return + return err } // EncryptRequest takes the client provided content and encrypts the data @@ -855,7 +855,7 @@ func tryDecryptETag(key []byte, encryptedETag string, sses3 bool) string { func (o *ObjectInfo) GetDecryptedRange(rs *HTTPRangeSpec) (encOff, encLength, skipLen int64, seqNumber uint32, partStart int, err error) { if _, ok := crypto.IsEncrypted(o.UserDefined); !ok { err = errors.New("Object is not encrypted") - return + return encOff, encLength, skipLen, seqNumber, partStart, err } if rs == nil { @@ -873,7 +873,7 @@ func (o *ObjectInfo) GetDecryptedRange(rs *HTTPRangeSpec) (encOff, encLength, sk partSize, err = sio.DecryptedSize(uint64(part.Size)) if err != nil { err = errObjectTampered - return + return encOff, encLength, skipLen, seqNumber, partStart, err } sizes[i] = int64(partSize) decObjSize += int64(partSize) @@ -883,7 +883,7 @@ func (o *ObjectInfo) GetDecryptedRange(rs *HTTPRangeSpec) (encOff, encLength, sk partSize, err = sio.DecryptedSize(uint64(o.Size)) if err != nil { err = errObjectTampered - return + return encOff, encLength, skipLen, seqNumber, partStart, err } sizes = []int64{int64(partSize)} decObjSize = sizes[0] @@ -892,7 +892,7 @@ func (o *ObjectInfo) GetDecryptedRange(rs *HTTPRangeSpec) (encOff, encLength, sk var off, length int64 off, length, err = rs.GetOffsetLength(decObjSize) if err != nil { - return + return encOff, encLength, skipLen, seqNumber, partStart, err } // At this point, we have: diff --git a/cmd/encryption-v1_test.go b/cmd/encryption-v1_test.go index a09a391f1..95f78ef89 100644 --- a/cmd/encryption-v1_test.go +++ b/cmd/encryption-v1_test.go @@ -483,7 +483,7 @@ func TestGetDecryptedRange(t *testing.T) { cumulativeSum += v cumulativeEncSum += getEncSize(v) } - return + return o, l, skip, sn, ps } for i, test := range testMPs { diff --git a/cmd/endpoint-ellipses.go b/cmd/endpoint-ellipses.go index 2c76f41cb..f19249457 100644 --- a/cmd/endpoint-ellipses.go +++ b/cmd/endpoint-ellipses.go @@ -443,7 +443,7 @@ func buildDisksLayoutFromConfFile(pools []poolArgs) (layout disksLayout, err err layout: setArgs, }) } - return + return layout, err } // mergeDisksLayoutFromArgs supports with and without ellipses transparently. @@ -475,7 +475,7 @@ func mergeDisksLayoutFromArgs(args []string, ctxt *serverCtxt) (err error) { legacy: true, pools: []poolDisksLayout{{layout: setArgs, cmdline: strings.Join(args, " ")}}, } - return + return err } for _, arg := range args { @@ -489,7 +489,7 @@ func mergeDisksLayoutFromArgs(args []string, ctxt *serverCtxt) (err error) { } ctxt.Layout.pools = append(ctxt.Layout.pools, poolDisksLayout{cmdline: arg, layout: setArgs}) } - return + return err } // CreateServerEndpoints - validates and creates new endpoints from input args, supports diff --git a/cmd/endpoint.go b/cmd/endpoint.go index c0429945a..dcfe2e61b 100644 --- a/cmd/endpoint.go +++ b/cmd/endpoint.go @@ -267,7 +267,7 @@ func (l EndpointServerPools) ESCount() (count int) { for _, p := range l { count += p.SetCount } - return + return count } // GetNodes returns a sorted list of nodes in this cluster @@ -297,7 +297,7 @@ func (l EndpointServerPools) GetNodes() (nodes []Node) { sort.Slice(nodes, func(i, j int) bool { return nodes[i].Host < nodes[j].Host }) - return + return nodes } // GetPoolIdx return pool index @@ -588,7 +588,7 @@ func (endpoints Endpoints) GetAllStrings() (all []string) { for _, e := range endpoints { all = append(all, e.String()) } - return + return all } func hostResolveToLocalhost(endpoint Endpoint) bool { diff --git a/cmd/erasure-coding.go b/cmd/erasure-coding.go index 8560b585d..3294458e6 100644 --- a/cmd/erasure-coding.go +++ b/cmd/erasure-coding.go @@ -69,7 +69,7 @@ func NewErasure(ctx context.Context, dataBlocks, parityBlocks int, blockSize int }) return enc } - return + return e, err } // EncodeData encodes the given data and returns the erasure-coded data. diff --git a/cmd/erasure-healing-common.go b/cmd/erasure-healing-common.go index fa3ee2b97..0bde3107d 100644 --- a/cmd/erasure-healing-common.go +++ b/cmd/erasure-healing-common.go @@ -283,7 +283,7 @@ func countPartNotSuccess(partErrs []int) (c int) { c++ } } - return + return c } // checkObjectWithAllParts sets partsMetadata and onlineDisks when xl.meta is inexistant/corrupted or outdated @@ -436,5 +436,5 @@ func checkObjectWithAllParts(ctx context.Context, onlineDisks []StorageAPI, part dataErrsByDisk[disk][part] = dataErrsByPart[part][disk] } } - return + return dataErrsByDisk, dataErrsByPart } diff --git a/cmd/erasure-healing.go b/cmd/erasure-healing.go index 0cece0df5..9ea507f7a 100644 --- a/cmd/erasure-healing.go +++ b/cmd/erasure-healing.go @@ -965,7 +965,7 @@ func danglingMetaErrsCount(cerrs []error) (notFoundCount int, nonActionableCount nonActionableCount++ } } - return + return notFoundCount, nonActionableCount } func danglingPartErrsCount(results []int) (notFoundCount int, nonActionableCount int) { @@ -980,7 +980,7 @@ func danglingPartErrsCount(results []int) (notFoundCount int, nonActionableCount nonActionableCount++ } } - return + return notFoundCount, nonActionableCount } // Object is considered dangling/corrupted if and only diff --git a/cmd/erasure-metadata.go b/cmd/erasure-metadata.go index b812980b5..f4b8798ba 100644 --- a/cmd/erasure-metadata.go +++ b/cmd/erasure-metadata.go @@ -521,7 +521,7 @@ func listObjectParities(partsMetadata []FileInfo, errs []error) (parities []int) parities[index] = metadata.Erasure.ParityBlocks } } - return + return parities } // Returns per object readQuorum and writeQuorum diff --git a/cmd/erasure-server-pool-decom.go b/cmd/erasure-server-pool-decom.go index ab2f011d5..834b9fb86 100644 --- a/cmd/erasure-server-pool-decom.go +++ b/cmd/erasure-server-pool-decom.go @@ -233,7 +233,7 @@ func (p poolMeta) ResumeBucketObject(idx int) (bucket, object string) { bucket = p.Pools[idx].Decommission.Bucket object = p.Pools[idx].Decommission.Object } - return + return bucket, object } func (p *poolMeta) TrackCurrentBucketObject(idx int, bucket string, object string) { diff --git a/cmd/erasure-server-pool-decom_gen.go b/cmd/erasure-server-pool-decom_gen.go index 7fed2ce45..a4c6b56fd 100644 --- a/cmd/erasure-server-pool-decom_gen.go +++ b/cmd/erasure-server-pool-decom_gen.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "github.com/tinylib/msgp/msgp" ) diff --git a/cmd/erasure-server-pool-decom_gen_test.go b/cmd/erasure-server-pool-decom_gen_test.go index 56d4aedbb..47a08be19 100644 --- a/cmd/erasure-server-pool-decom_gen_test.go +++ b/cmd/erasure-server-pool-decom_gen_test.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "bytes" "testing" diff --git a/cmd/erasure-server-pool-rebalance.go b/cmd/erasure-server-pool-rebalance.go index bb2138a65..c037f0ddc 100644 --- a/cmd/erasure-server-pool-rebalance.go +++ b/cmd/erasure-server-pool-rebalance.go @@ -446,7 +446,7 @@ func (z *erasureServerPools) rebalanceBuckets(ctx context.Context, poolIdx int) select { case <-ctx.Done(): doneCh <- ctx.Err() - return + return err default: } @@ -464,7 +464,7 @@ func (z *erasureServerPools) rebalanceBuckets(ctx context.Context, poolIdx int) } rebalanceLogIf(GlobalContext, err) doneCh <- err - return + return err } stopFn(0, nil) z.bucketRebalanceDone(bucket, poolIdx) diff --git a/cmd/erasure-server-pool-rebalance_gen.go b/cmd/erasure-server-pool-rebalance_gen.go index 0787e2600..842adc110 100644 --- a/cmd/erasure-server-pool-rebalance_gen.go +++ b/cmd/erasure-server-pool-rebalance_gen.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "github.com/tinylib/msgp/msgp" ) diff --git a/cmd/erasure-server-pool-rebalance_gen_test.go b/cmd/erasure-server-pool-rebalance_gen_test.go index 0f0b8f466..4365ccfa0 100644 --- a/cmd/erasure-server-pool-rebalance_gen_test.go +++ b/cmd/erasure-server-pool-rebalance_gen_test.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "bytes" "testing" diff --git a/cmd/erasure-server-pool.go b/cmd/erasure-server-pool.go index 0bd6d997b..6b12ec4fc 100644 --- a/cmd/erasure-server-pool.go +++ b/cmd/erasure-server-pool.go @@ -702,7 +702,7 @@ func (z *erasureServerPools) BackendInfo() (b madmin.BackendInfo) { b.StandardSCParity = scParity b.RRSCParity = rrSCParity - return + return b } func (z *erasureServerPools) LocalStorageInfo(ctx context.Context, metrics bool) StorageInfo { diff --git a/cmd/erasure.go b/cmd/erasure.go index faae87bd9..4e6674c35 100644 --- a/cmd/erasure.go +++ b/cmd/erasure.go @@ -116,7 +116,7 @@ func diskErrToDriveState(err error) (state string) { state = fmt.Sprintf("%s (cause: %s)", madmin.DriveStateUnknown, err) } - return + return state } func getOnlineOfflineDisksStats(disksInfo []madmin.Disk) (onlineDisks, offlineDisks madmin.BackendDisks) { diff --git a/cmd/handler-api.go b/cmd/handler-api.go index 7ccc67262..09790a60a 100644 --- a/cmd/handler-api.go +++ b/cmd/handler-api.go @@ -94,18 +94,18 @@ func availableMemory() (available uint64) { if limit > 0 { // A valid value is found, return its 90% available = (limit * 9) / 10 - return + return available } } // for all other platforms limits are based on virtual memory. memStats, err := mem.VirtualMemory() if err != nil { - return + return available } // A valid value is available return its 90% available = (memStats.Available * 9) / 10 - return + return available } func (t *apiConfig) init(cfg api.Config, setDriveCounts []int, legacy bool) { diff --git a/cmd/handler-utils.go b/cmd/handler-utils.go index 17824bdbf..7752cfece 100644 --- a/cmd/handler-utils.go +++ b/cmd/handler-utils.go @@ -466,7 +466,7 @@ func getHostName(r *http.Request) (hostName string) { } else { hostName = r.Host } - return + return hostName } // Proxy any request to an endpoint. @@ -500,5 +500,5 @@ func proxyRequest(ctx context.Context, w http.ResponseWriter, r *http.Request, e r.URL.Host = ep.Host f.ServeHTTP(w, r) - return + return success } diff --git a/cmd/http-tracer_test.go b/cmd/http-tracer_test.go index 4979afea7..a05e1de71 100644 --- a/cmd/http-tracer_test.go +++ b/cmd/http-tracer_test.go @@ -18,7 +18,11 @@ package cmd import ( + "sync" "testing" + "time" + + xhttp "github.com/minio/minio/internal/http" ) // Test redactLDAPPwd() @@ -52,3 +56,129 @@ func TestRedactLDAPPwd(t *testing.T) { } } } + +// TestHTTPStatsRaceCondition tests the race condition fix for HTTPStats. +// This test specifically addresses the race between: +// - Write operations via updateStats. +// - Read operations via toServerHTTPStats(false). +func TestRaulStatsRaceCondition(t *testing.T) { + httpStats := newHTTPStats() + // Simulate the concurrent scenario from the original race condition: + // Multiple HTTP request handlers updating stats concurrently, + // while background processes are reading the stats for persistence. + const numWriters = 100 // Simulate many HTTP request handlers. + const numReaders = 50 // Simulate background stats readers. + const opsPerGoroutine = 100 + + var wg sync.WaitGroup + for i := range numWriters { + wg.Add(1) + go func(writerID int) { + defer wg.Done() + for j := 0; j < opsPerGoroutine; j++ { + switch j % 4 { + case 0: + httpStats.updateStats("GetObject", &xhttp.ResponseRecorder{}) + case 1: + httpStats.totalS3Requests.Inc("PutObject") + case 2: + httpStats.totalS3Errors.Inc("DeleteObject") + case 3: + httpStats.currentS3Requests.Inc("ListObjects") + } + } + }(i) + } + + for i := range numReaders { + wg.Add(1) + go func(readerID int) { + defer wg.Done() + for range opsPerGoroutine { + _ = httpStats.toServerHTTPStats(false) + _ = httpStats.totalS3Requests.Load(false) + _ = httpStats.currentS3Requests.Load(false) + time.Sleep(1 * time.Microsecond) + } + }(i) + } + wg.Wait() + + finalStats := httpStats.toServerHTTPStats(false) + totalRequests := 0 + for _, v := range finalStats.TotalS3Requests.APIStats { + totalRequests += v + } + if totalRequests == 0 { + t.Error("Expected some total requests to be recorded, but got zero") + } + t.Logf("Total requests recorded: %d", totalRequests) + t.Logf("Race condition test passed - no races detected") +} + +// TestHTTPAPIStatsRaceCondition tests concurrent access to HTTPAPIStats specifically. +func TestRaulHTTPAPIStatsRaceCondition(t *testing.T) { + stats := &HTTPAPIStats{} + const numGoroutines = 50 + const opsPerGoroutine = 1000 + + var wg sync.WaitGroup + for i := range numGoroutines { + wg.Add(1) + go func(id int) { + defer wg.Done() + for j := 0; j < opsPerGoroutine; j++ { + stats.Inc("TestAPI") + } + }(i) + } + + for i := range numGoroutines / 2 { + wg.Add(1) + go func(id int) { + defer wg.Done() + for range opsPerGoroutine / 2 { + _ = stats.Load(false) + } + }(i) + } + wg.Wait() + + finalStats := stats.Load(false) + expected := numGoroutines * opsPerGoroutine + actual := finalStats["TestAPI"] + if actual != expected { + t.Errorf("Race condition detected: expected %d, got %d (lost %d increments)", + expected, actual, expected-actual) + } +} + +// TestBucketHTTPStatsRaceCondition tests concurrent access to bucket-level HTTP stats. +func TestRaulBucketHTTPStatsRaceCondition(t *testing.T) { + bucketStats := newBucketHTTPStats() + const numGoroutines = 50 + const opsPerGoroutine = 100 + + var wg sync.WaitGroup + for i := range numGoroutines { + wg.Add(1) + go func(id int) { + defer wg.Done() + bucketName := "test-bucket" + + for range opsPerGoroutine { + bucketStats.updateHTTPStats(bucketName, "GetObject", nil) + recorder := &xhttp.ResponseRecorder{} + bucketStats.updateHTTPStats(bucketName, "GetObject", recorder) + _ = bucketStats.load(bucketName) + } + }(i) + } + wg.Wait() + + stats := bucketStats.load("test-bucket") + if stats.totalS3Requests == nil { + t.Error("Expected bucket stats to be initialized") + } + t.Logf("Bucket HTTP stats race test passed") +} diff --git a/cmd/iam-store.go b/cmd/iam-store.go index c7e4ad492..46465e00b 100644 --- a/cmd/iam-store.go +++ b/cmd/iam-store.go @@ -1128,7 +1128,7 @@ func (store *IAMStoreSys) listGroups(ctx context.Context) (res []string, err err return true }) } - return + return res, err } // PolicyDBUpdate - adds or removes given policies to/from the user or group's @@ -1139,7 +1139,7 @@ func (store *IAMStoreSys) PolicyDBUpdate(ctx context.Context, name string, isGro ) { if name == "" { err = errInvalidArgument - return + return updatedAt, addedOrRemoved, effectivePolicies, err } cache := store.lock() @@ -1163,12 +1163,12 @@ func (store *IAMStoreSys) PolicyDBUpdate(ctx context.Context, name string, isGro g, ok := cache.iamGroupsMap[name] if !ok { err = errNoSuchGroup - return + return updatedAt, addedOrRemoved, effectivePolicies, err } if g.Status == statusDisabled { err = errGroupDisabled - return + return updatedAt, addedOrRemoved, effectivePolicies, err } } mp, _ = cache.iamGroupPolicyMap.Load(name) @@ -1186,7 +1186,7 @@ func (store *IAMStoreSys) PolicyDBUpdate(ctx context.Context, name string, isGro for _, p := range policiesToUpdate.ToSlice() { if _, found := cache.iamPolicyDocsMap[p]; !found { err = errNoSuchPolicy - return + return updatedAt, addedOrRemoved, effectivePolicies, err } } newPolicySet = existingPolicySet.Union(policiesToUpdate) @@ -1198,7 +1198,7 @@ func (store *IAMStoreSys) PolicyDBUpdate(ctx context.Context, name string, isGro // We return an error if the requested policy update will have no effect. if policiesToUpdate.IsEmpty() { err = errNoPolicyToAttachOrDetach - return + return updatedAt, addedOrRemoved, effectivePolicies, err } newPolicies := newPolicySet.ToSlice() @@ -1210,7 +1210,7 @@ func (store *IAMStoreSys) PolicyDBUpdate(ctx context.Context, name string, isGro // in this case, we delete the mapping from the store. if len(newPolicies) == 0 { if err = store.deleteMappedPolicy(ctx, name, userType, isGroup); err != nil && !errors.Is(err, errNoSuchPolicy) { - return + return updatedAt, addedOrRemoved, effectivePolicies, err } if !isGroup { if userType == stsUser { @@ -1223,7 +1223,7 @@ func (store *IAMStoreSys) PolicyDBUpdate(ctx context.Context, name string, isGro } } else { if err = store.saveMappedPolicy(ctx, name, userType, isGroup, newPolicyMapping); err != nil { - return + return updatedAt, addedOrRemoved, effectivePolicies, err } if !isGroup { if userType == stsUser { @@ -3052,7 +3052,7 @@ func extractJWTClaims(u UserIdentity) (jwtClaims *jwt.MapClaims, err error) { break } } - return + return jwtClaims, err } func validateSvcExpirationInUTC(expirationInUTC time.Time) error { diff --git a/cmd/iam.go b/cmd/iam.go index c2f262143..061b1a008 100644 --- a/cmd/iam.go +++ b/cmd/iam.go @@ -1029,7 +1029,7 @@ func (sys *IAMSys) SetUserStatus(ctx context.Context, accessKey string, status m updatedAt, err = sys.store.SetUserStatus(ctx, accessKey, status) if err != nil { - return + return updatedAt, err } sys.notifyForUser(ctx, accessKey, false) @@ -1985,7 +1985,7 @@ func (sys *IAMSys) PolicyDBSet(ctx context.Context, name, policy string, userTyp updatedAt, err = sys.store.PolicyDBSet(ctx, name, policy, userType, isGroup) if err != nil { - return + return updatedAt, err } // Notify all other MinIO peers to reload policy @@ -2008,7 +2008,7 @@ func (sys *IAMSys) PolicyDBUpdateBuiltin(ctx context.Context, isAttach bool, ) (updatedAt time.Time, addedOrRemoved, effectivePolicies []string, err error) { if !sys.Initialized() { err = errServerNotInitialized - return + return updatedAt, addedOrRemoved, effectivePolicies, err } userOrGroup := r.User @@ -2021,24 +2021,24 @@ func (sys *IAMSys) PolicyDBUpdateBuiltin(ctx context.Context, isAttach bool, if isGroup { _, err = sys.GetGroupDescription(userOrGroup) if err != nil { - return + return updatedAt, addedOrRemoved, effectivePolicies, err } } else { var isTemp bool isTemp, _, err = sys.IsTempUser(userOrGroup) if err != nil && err != errNoSuchUser { - return + return updatedAt, addedOrRemoved, effectivePolicies, err } if isTemp { err = errIAMActionNotAllowed - return + return updatedAt, addedOrRemoved, effectivePolicies, err } // When the user is root credential you are not allowed to // add policies for root user. if userOrGroup == globalActiveCred.AccessKey { err = errIAMActionNotAllowed - return + return updatedAt, addedOrRemoved, effectivePolicies, err } // Validate that user exists. @@ -2046,14 +2046,14 @@ func (sys *IAMSys) PolicyDBUpdateBuiltin(ctx context.Context, isAttach bool, _, userExists = sys.GetUser(ctx, userOrGroup) if !userExists { err = errNoSuchUser - return + return updatedAt, addedOrRemoved, effectivePolicies, err } } updatedAt, addedOrRemoved, effectivePolicies, err = sys.store.PolicyDBUpdate(ctx, userOrGroup, isGroup, regUser, r.Policies, isAttach) if err != nil { - return + return updatedAt, addedOrRemoved, effectivePolicies, err } // Notify all other MinIO peers to reload policy @@ -2077,7 +2077,7 @@ func (sys *IAMSys) PolicyDBUpdateBuiltin(ctx context.Context, isAttach bool, UpdatedAt: updatedAt, })) - return + return updatedAt, addedOrRemoved, effectivePolicies, err } // PolicyDBUpdateLDAP - adds or removes policies from a user or a group verified @@ -2087,7 +2087,7 @@ func (sys *IAMSys) PolicyDBUpdateLDAP(ctx context.Context, isAttach bool, ) (updatedAt time.Time, addedOrRemoved, effectivePolicies []string, err error) { if !sys.Initialized() { err = errServerNotInitialized - return + return updatedAt, addedOrRemoved, effectivePolicies, err } var dn string @@ -2097,7 +2097,7 @@ func (sys *IAMSys) PolicyDBUpdateLDAP(ctx context.Context, isAttach bool, dnResult, err = sys.LDAPConfig.GetValidatedDNForUsername(r.User) if err != nil { iamLogIf(ctx, err) - return + return updatedAt, addedOrRemoved, effectivePolicies, err } if dnResult == nil { // dn not found - still attempt to detach if provided user is a DN. @@ -2105,7 +2105,7 @@ func (sys *IAMSys) PolicyDBUpdateLDAP(ctx context.Context, isAttach bool, dn = sys.LDAPConfig.QuickNormalizeDN(r.User) } else { err = errNoSuchUser - return + return updatedAt, addedOrRemoved, effectivePolicies, err } } else { dn = dnResult.NormDN @@ -2115,14 +2115,14 @@ func (sys *IAMSys) PolicyDBUpdateLDAP(ctx context.Context, isAttach bool, var underBaseDN bool if dnResult, underBaseDN, err = sys.LDAPConfig.GetValidatedGroupDN(nil, r.Group); err != nil { iamLogIf(ctx, err) - return + return updatedAt, addedOrRemoved, effectivePolicies, err } if dnResult == nil || !underBaseDN { if !isAttach { dn = sys.LDAPConfig.QuickNormalizeDN(r.Group) } else { err = errNoSuchGroup - return + return updatedAt, addedOrRemoved, effectivePolicies, err } } else { // We use the group DN returned by the LDAP server (this may not @@ -2149,7 +2149,7 @@ func (sys *IAMSys) PolicyDBUpdateLDAP(ctx context.Context, isAttach bool, updatedAt, addedOrRemoved, effectivePolicies, err = sys.store.PolicyDBUpdate( ctx, dn, isGroup, userType, r.Policies, isAttach) if err != nil { - return + return updatedAt, addedOrRemoved, effectivePolicies, err } // Notify all other MinIO peers to reload policy @@ -2173,7 +2173,7 @@ func (sys *IAMSys) PolicyDBUpdateLDAP(ctx context.Context, isAttach bool, UpdatedAt: updatedAt, })) - return + return updatedAt, addedOrRemoved, effectivePolicies, err } // PolicyDBGet - gets policy set on a user or group. If a list of groups is @@ -2376,7 +2376,7 @@ func isAllowedBySessionPolicyForServiceAccount(args policy.Args) (hasSessionPoli // Now check if we have a sessionPolicy. spolicy, ok := args.Claims[sessionPolicyNameExtracted] if !ok { - return + return hasSessionPolicy, isAllowed } hasSessionPolicy = true @@ -2385,7 +2385,7 @@ func isAllowedBySessionPolicyForServiceAccount(args policy.Args) (hasSessionPoli if !ok { // Sub policy if set, should be a string reject // malformed/malicious requests. - return + return hasSessionPolicy, isAllowed } // Check if policy is parseable. @@ -2393,7 +2393,7 @@ func isAllowedBySessionPolicyForServiceAccount(args policy.Args) (hasSessionPoli if err != nil { // Log any error in input session policy config. iamLogIf(GlobalContext, err) - return + return hasSessionPolicy, isAllowed } // SPECIAL CASE: For service accounts, any valid JSON is allowed as a @@ -2417,7 +2417,7 @@ func isAllowedBySessionPolicyForServiceAccount(args policy.Args) (hasSessionPoli // 2. do not allow empty statement policies for service accounts. if subPolicy.Version == "" && subPolicy.Statements == nil && subPolicy.ID == "" { hasSessionPolicy = false - return + return hasSessionPolicy, isAllowed } // As the session policy exists, even if the parent is the root account, it @@ -2437,7 +2437,7 @@ func isAllowedBySessionPolicy(args policy.Args) (hasSessionPolicy bool, isAllowe // Now check if we have a sessionPolicy. spolicy, ok := args.Claims[sessionPolicyNameExtracted] if !ok { - return + return hasSessionPolicy, isAllowed } hasSessionPolicy = true @@ -2446,7 +2446,7 @@ func isAllowedBySessionPolicy(args policy.Args) (hasSessionPolicy bool, isAllowe if !ok { // Sub policy if set, should be a string reject // malformed/malicious requests. - return + return hasSessionPolicy, isAllowed } // Check if policy is parseable. @@ -2454,12 +2454,12 @@ func isAllowedBySessionPolicy(args policy.Args) (hasSessionPolicy bool, isAllowe if err != nil { // Log any error in input session policy config. iamLogIf(GlobalContext, err) - return + return hasSessionPolicy, isAllowed } // Policy without Version string value reject it. if subPolicy.Version == "" { - return + return hasSessionPolicy, isAllowed } // As the session policy exists, even if the parent is the root account, it diff --git a/cmd/last-minute_gen.go b/cmd/last-minute_gen.go index 5a78826bb..4e0d66613 100644 --- a/cmd/last-minute_gen.go +++ b/cmd/last-minute_gen.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "github.com/tinylib/msgp/msgp" ) diff --git a/cmd/last-minute_gen_test.go b/cmd/last-minute_gen_test.go index 39e004647..de6845515 100644 --- a/cmd/last-minute_gen_test.go +++ b/cmd/last-minute_gen_test.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "bytes" "testing" diff --git a/cmd/leak-detect_test.go b/cmd/leak-detect_test.go index e72f4e3e0..95b98c4e9 100644 --- a/cmd/leak-detect_test.go +++ b/cmd/leak-detect_test.go @@ -159,5 +159,5 @@ func pickRelevantGoroutines() (gs []string) { gs = append(gs, g) } sort.Strings(gs) - return + return gs } diff --git a/cmd/local-locker.go b/cmd/local-locker.go index 81a012b98..3fd630b9c 100644 --- a/cmd/local-locker.go +++ b/cmd/local-locker.go @@ -162,7 +162,7 @@ func (l *localLocker) Unlock(_ context.Context, args dsync.LockArgs) (reply bool reply = l.removeEntry(resource, args, &lri) || reply } } - return + return reply, err } // removeEntry based on the uid of the lock message, removes a single entry from the diff --git a/cmd/local-locker_gen.go b/cmd/local-locker_gen.go index cd9df8724..41bb92543 100644 --- a/cmd/local-locker_gen.go +++ b/cmd/local-locker_gen.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "time" @@ -19,21 +19,19 @@ func (z *localLockMap) DecodeMsg(dc *msgp.Reader) (err error) { if (*z) == nil { (*z) = make(localLockMap, zb0004) } else if len((*z)) > 0 { - for key := range *z { - delete((*z), key) - } + clear((*z)) } var field []byte _ = field for zb0004 > 0 { zb0004-- var zb0001 string - var zb0002 []lockRequesterInfo zb0001, err = dc.ReadString() if err != nil { err = msgp.WrapError(err) return } + var zb0002 []lockRequesterInfo var zb0005 uint32 zb0005, err = dc.ReadArrayHeader() if err != nil { @@ -115,16 +113,14 @@ func (z *localLockMap) UnmarshalMsg(bts []byte) (o []byte, err error) { if (*z) == nil { (*z) = make(localLockMap, zb0004) } else if len((*z)) > 0 { - for key := range *z { - delete((*z), key) - } + clear((*z)) } var field []byte _ = field for zb0004 > 0 { - var zb0001 string var zb0002 []lockRequesterInfo zb0004-- + var zb0001 string zb0001, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err) diff --git a/cmd/local-locker_gen_test.go b/cmd/local-locker_gen_test.go index 983b33bcc..fe0fee2d5 100644 --- a/cmd/local-locker_gen_test.go +++ b/cmd/local-locker_gen_test.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "bytes" "testing" diff --git a/cmd/metacache-server-pool.go b/cmd/metacache-server-pool.go index ed324d90a..bcdfed8f1 100644 --- a/cmd/metacache-server-pool.go +++ b/cmd/metacache-server-pool.go @@ -339,7 +339,7 @@ func triggerExpiryAndRepl(ctx context.Context, o listPathOptions, obj metaCacheE if !o.Versioned && !o.V1 { fi, err := obj.fileInfo(o.Bucket) if err != nil { - return + return skip } objInfo := fi.ToObjectInfo(o.Bucket, obj.name, versioned) if o.Lifecycle != nil { @@ -350,7 +350,7 @@ func triggerExpiryAndRepl(ctx context.Context, o listPathOptions, obj metaCacheE fiv, err := obj.fileInfoVersions(o.Bucket) if err != nil { - return + return skip } // Expire all versions if needed, if not attempt to queue for replication. @@ -369,7 +369,7 @@ func triggerExpiryAndRepl(ctx context.Context, o listPathOptions, obj metaCacheE queueReplicationHeal(ctx, o.Bucket, objInfo, o.Replication, 0) } - return + return skip } func (z *erasureServerPools) listAndSave(ctx context.Context, o *listPathOptions) (entries metaCacheEntriesSorted, err error) { diff --git a/cmd/metacache-set.go b/cmd/metacache-set.go index bc438c8a9..c43d18d71 100644 --- a/cmd/metacache-set.go +++ b/cmd/metacache-set.go @@ -653,7 +653,7 @@ func calcCommonWritesDeletes(infos []DiskInfo, readQuorum int) (commonWrite, com commonWrite = filter(writes) commonDelete = filter(deletes) - return + return commonWrite, commonDelete } func calcCommonCounter(infos []DiskInfo, readQuorum int) (commonCount uint64) { diff --git a/cmd/metacache-set_gen.go b/cmd/metacache-set_gen.go index e46b2f046..8b29bfca4 100644 --- a/cmd/metacache-set_gen.go +++ b/cmd/metacache-set_gen.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "github.com/tinylib/msgp/msgp" ) diff --git a/cmd/metacache-set_gen_test.go b/cmd/metacache-set_gen_test.go index 0b57966b4..bee9830bd 100644 --- a/cmd/metacache-set_gen_test.go +++ b/cmd/metacache-set_gen_test.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "bytes" "testing" diff --git a/cmd/metacache-walk_gen.go b/cmd/metacache-walk_gen.go index e59cf64eb..6f0624f92 100644 --- a/cmd/metacache-walk_gen.go +++ b/cmd/metacache-walk_gen.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "github.com/tinylib/msgp/msgp" ) diff --git a/cmd/metacache-walk_gen_test.go b/cmd/metacache-walk_gen_test.go index 02c4a1ecc..16edd846c 100644 --- a/cmd/metacache-walk_gen_test.go +++ b/cmd/metacache-walk_gen_test.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "bytes" "testing" diff --git a/cmd/metacache_gen.go b/cmd/metacache_gen.go index a77fa4316..9ca1bca82 100644 --- a/cmd/metacache_gen.go +++ b/cmd/metacache_gen.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "github.com/tinylib/msgp/msgp" ) diff --git a/cmd/metacache_gen_test.go b/cmd/metacache_gen_test.go index 1b61d9a1d..017d4cc3e 100644 --- a/cmd/metacache_gen_test.go +++ b/cmd/metacache_gen_test.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "bytes" "testing" diff --git a/cmd/metrics-realtime.go b/cmd/metrics-realtime.go index 3aa2e7d78..4a1d55732 100644 --- a/cmd/metrics-realtime.go +++ b/cmd/metrics-realtime.go @@ -40,7 +40,7 @@ type collectMetricsOpts struct { func collectLocalMetrics(types madmin.MetricType, opts collectMetricsOpts) (m madmin.RealtimeMetrics) { if types == madmin.MetricsNone { - return + return m } byHostName := globalMinioAddr @@ -51,7 +51,7 @@ func collectLocalMetrics(types madmin.MetricType, opts collectMetricsOpts) (m ma if _, ok := opts.hosts[server.Endpoint]; ok { byHostName = server.Endpoint } else { - return + return m } } @@ -221,7 +221,7 @@ func collectLocalDisksMetrics(disks map[string]struct{}) map[string]madmin.DiskM func collectRemoteMetrics(ctx context.Context, types madmin.MetricType, opts collectMetricsOpts) (m madmin.RealtimeMetrics) { if !globalIsDistErasure { - return + return m } all := globalNotificationSys.GetMetrics(ctx, types, opts) for _, remote := range all { diff --git a/cmd/metrics-v2.go b/cmd/metrics-v2.go index f56208212..e38750a58 100644 --- a/cmd/metrics-v2.go +++ b/cmd/metrics-v2.go @@ -1704,7 +1704,7 @@ func getMinioProcMetrics() *MetricsGroupV2 { p, err := procfs.Self() if err != nil { internalLogOnceIf(ctx, err, string(nodeMetricNamespace)) - return + return metrics } openFDs, _ := p.FileDescriptorsLen() @@ -1819,7 +1819,7 @@ func getMinioProcMetrics() *MetricsGroupV2 { Value: stat.CPUTime(), }) } - return + return metrics }) return mg } @@ -1833,7 +1833,7 @@ func getGoMetrics() *MetricsGroupV2 { Description: getMinIOGORoutineCountMD(), Value: float64(runtime.NumGoroutine()), }) - return + return metrics }) return mg } @@ -2632,7 +2632,7 @@ func getMinioVersionMetrics() *MetricsGroupV2 { Description: getMinIOVersionMD(), VariableLabels: map[string]string{"version": Version}, }) - return + return metrics }) return mg } @@ -2653,7 +2653,7 @@ func getNodeHealthMetrics(opts MetricsGroupOpts) *MetricsGroupV2 { Description: getNodeOfflineTotalMD(), Value: float64(nodesDown), }) - return + return metrics }) return mg } @@ -2666,11 +2666,11 @@ func getMinioHealingMetrics(opts MetricsGroupOpts) *MetricsGroupV2 { mg.RegisterRead(func(_ context.Context) (metrics []MetricV2) { bgSeq, exists := globalBackgroundHealState.getHealSequenceByToken(bgHealingUUID) if !exists { - return + return metrics } if bgSeq.lastHealActivity.IsZero() { - return + return metrics } metrics = make([]MetricV2, 0, 5) @@ -2681,7 +2681,7 @@ func getMinioHealingMetrics(opts MetricsGroupOpts) *MetricsGroupV2 { metrics = append(metrics, getObjectsScanned(bgSeq)...) metrics = append(metrics, getHealedItems(bgSeq)...) metrics = append(metrics, getFailedItems(bgSeq)...) - return + return metrics }) return mg } @@ -2696,7 +2696,7 @@ func getFailedItems(seq *healSequence) (m []MetricV2) { Value: float64(v), }) } - return + return m } func getHealedItems(seq *healSequence) (m []MetricV2) { @@ -2709,7 +2709,7 @@ func getHealedItems(seq *healSequence) (m []MetricV2) { Value: float64(v), }) } - return + return m } func getObjectsScanned(seq *healSequence) (m []MetricV2) { @@ -2722,7 +2722,7 @@ func getObjectsScanned(seq *healSequence) (m []MetricV2) { Value: float64(v), }) } - return + return m } func getDistLockMetrics(opts MetricsGroupOpts) *MetricsGroupV2 { @@ -3030,7 +3030,7 @@ func getHTTPMetrics(opts MetricsGroupOpts) *MetricsGroupV2 { VariableLabels: map[string]string{"api": api}, }) } - return + return metrics } // If we have too many, limit them @@ -3099,7 +3099,7 @@ func getHTTPMetrics(opts MetricsGroupOpts) *MetricsGroupV2 { } } - return + return metrics }) return mg } @@ -3142,7 +3142,7 @@ func getNetworkMetrics() *MetricsGroupV2 { Description: getS3ReceivedBytesMD(), Value: float64(connStats.s3InputBytes), }) - return + return metrics }) return mg } @@ -3155,19 +3155,19 @@ func getClusterUsageMetrics(opts MetricsGroupOpts) *MetricsGroupV2 { mg.RegisterRead(func(ctx context.Context) (metrics []MetricV2) { objLayer := newObjectLayerFn() if objLayer == nil { - return + return metrics } metrics = make([]MetricV2, 0, 50) dataUsageInfo, err := loadDataUsageFromBackend(ctx, objLayer) if err != nil { metricsLogIf(ctx, err) - return + return metrics } // data usage has not captured any data yet. if dataUsageInfo.LastUpdate.IsZero() { - return + return metrics } metrics = append(metrics, MetricV2{ @@ -3248,7 +3248,7 @@ func getClusterUsageMetrics(opts MetricsGroupOpts) *MetricsGroupV2 { Value: float64(clusterBuckets), }) - return + return metrics }) return mg } @@ -3265,12 +3265,12 @@ func getBucketUsageMetrics(opts MetricsGroupOpts) *MetricsGroupV2 { dataUsageInfo, err := loadDataUsageFromBackend(ctx, objLayer) if err != nil { metricsLogIf(ctx, err) - return + return metrics } // data usage has not captured any data yet. if dataUsageInfo.LastUpdate.IsZero() { - return + return metrics } metrics = append(metrics, MetricV2{ @@ -3454,7 +3454,7 @@ func getBucketUsageMetrics(opts MetricsGroupOpts) *MetricsGroupV2 { VariableLabels: map[string]string{"bucket": bucket}, }) } - return + return metrics }) return mg } @@ -3498,17 +3498,17 @@ func getClusterTierMetrics(opts MetricsGroupOpts) *MetricsGroupV2 { objLayer := newObjectLayerFn() if globalTierConfigMgr.Empty() { - return + return metrics } dui, err := loadDataUsageFromBackend(ctx, objLayer) if err != nil { metricsLogIf(ctx, err) - return + return metrics } // data usage has not captured any tier stats yet. if dui.TierStats == nil { - return + return metrics } return dui.tierMetrics() @@ -3614,7 +3614,7 @@ func getLocalStorageMetrics(opts MetricsGroupOpts) *MetricsGroupV2 { Value: float64(storageInfo.Backend.RRSCParity), }) - return + return metrics }) return mg } @@ -3755,7 +3755,7 @@ func getClusterHealthMetrics(opts MetricsGroupOpts) *MetricsGroupV2 { }) } - return + return metrics }) return mg @@ -3776,7 +3776,7 @@ func getBatchJobsMetrics(opts MetricsGroupOpts) *MetricsGroupV2 { m.Merge(&mRemote) if m.Aggregated.BatchJobs == nil { - return + return metrics } for _, mj := range m.Aggregated.BatchJobs.Jobs { @@ -3822,7 +3822,7 @@ func getBatchJobsMetrics(opts MetricsGroupOpts) *MetricsGroupV2 { }, ) } - return + return metrics }) return mg } @@ -3875,7 +3875,7 @@ func getClusterStorageMetrics(opts MetricsGroupOpts) *MetricsGroupV2 { Description: getClusterDrivesTotalMD(), Value: float64(totalDrives.Sum()), }) - return + return metrics }) return mg } @@ -4264,7 +4264,7 @@ func getOrderedLabelValueArrays(labelsWithValue map[string]string) (labels, valu labels = append(labels, l) values = append(values, v) } - return + return labels, values } // newMinioCollectorNode describes the collector diff --git a/cmd/metrics-v2_gen.go b/cmd/metrics-v2_gen.go index 81f9fd9bb..9b13c4b8a 100644 --- a/cmd/metrics-v2_gen.go +++ b/cmd/metrics-v2_gen.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "github.com/tinylib/msgp/msgp" ) @@ -297,14 +297,12 @@ func (z *MetricV2) UnmarshalMsg(bts []byte) (o []byte, err error) { if z.StaticLabels == nil { z.StaticLabels = make(map[string]string, zb0002) } else if len(z.StaticLabels) > 0 { - for key := range z.StaticLabels { - delete(z.StaticLabels, key) - } + clear(z.StaticLabels) } for zb0002 > 0 { - var za0001 string var za0002 string zb0002-- + var za0001 string za0001, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err, "StaticLabels") @@ -333,14 +331,12 @@ func (z *MetricV2) UnmarshalMsg(bts []byte) (o []byte, err error) { if z.VariableLabels == nil { z.VariableLabels = make(map[string]string, zb0003) } else if len(z.VariableLabels) > 0 { - for key := range z.VariableLabels { - delete(z.VariableLabels, key) - } + clear(z.VariableLabels) } for zb0003 > 0 { - var za0003 string var za0004 string zb0003-- + var za0003 string za0003, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err, "VariableLabels") @@ -369,14 +365,12 @@ func (z *MetricV2) UnmarshalMsg(bts []byte) (o []byte, err error) { if z.Histogram == nil { z.Histogram = make(map[string]uint64, zb0004) } else if len(z.Histogram) > 0 { - for key := range z.Histogram { - delete(z.Histogram, key) - } + clear(z.Histogram) } for zb0004 > 0 { - var za0005 string var za0006 uint64 zb0004-- + var za0005 string za0005, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err, "Histogram") diff --git a/cmd/metrics-v2_gen_test.go b/cmd/metrics-v2_gen_test.go index f486214f3..026c16d76 100644 --- a/cmd/metrics-v2_gen_test.go +++ b/cmd/metrics-v2_gen_test.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "testing" diff --git a/cmd/metrics-v3-cache.go b/cmd/metrics-v3-cache.go index 0a6c10377..e94eeef7f 100644 --- a/cmd/metrics-v3-cache.go +++ b/cmd/metrics-v3-cache.go @@ -60,7 +60,7 @@ type nodesOnline struct { func newNodesUpDownCache() *cachevalue.Cache[nodesOnline] { loadNodesUpDown := func(ctx context.Context) (v nodesOnline, err error) { v.Online, v.Offline = globalNotificationSys.GetPeerOnlineCount() - return + return v, err } return cachevalue.NewFromFunc(1*time.Minute, cachevalue.Opts{ReturnLastGood: true}, @@ -88,12 +88,12 @@ func newDataUsageInfoCache() *cachevalue.Cache[DataUsageInfo] { loadDataUsage := func(ctx context.Context) (u DataUsageInfo, err error) { objLayer := newObjectLayerFn() if objLayer == nil { - return + return u, err } // Collect cluster level object metrics. u, err = loadDataUsageFromBackend(GlobalContext, objLayer) - return + return u, err } return cachevalue.NewFromFunc(1*time.Minute, cachevalue.Opts{ReturnLastGood: true}, @@ -104,11 +104,11 @@ func newESetHealthResultCache() *cachevalue.Cache[HealthResult] { loadHealth := func(ctx context.Context) (r HealthResult, err error) { objLayer := newObjectLayerFn() if objLayer == nil { - return + return r, err } r = objLayer.Health(GlobalContext, HealthOptions{}) - return + return r, err } return cachevalue.NewFromFunc(1*time.Minute, cachevalue.Opts{ReturnLastGood: true}, @@ -146,7 +146,7 @@ func getDriveIOStatMetrics(ioStats madmin.DiskIOStats, duration time.Duration) ( // TotalTicks is in milliseconds m.percUtil = float64(ioStats.TotalTicks) * 100 / (durationSecs * 1000) - return + return m } func newDriveMetricsCache() *cachevalue.Cache[storageMetrics] { @@ -161,7 +161,7 @@ func newDriveMetricsCache() *cachevalue.Cache[storageMetrics] { loadDriveMetrics := func(ctx context.Context) (v storageMetrics, err error) { objLayer := newObjectLayerFn() if objLayer == nil { - return + return v, err } storageInfo := objLayer.LocalStorageInfo(GlobalContext, true) @@ -195,7 +195,7 @@ func newDriveMetricsCache() *cachevalue.Cache[storageMetrics] { prevDriveIOStatsRefreshedAt = now prevDriveIOStatsMu.Unlock() - return + return v, err } return cachevalue.NewFromFunc(1*time.Minute, @@ -220,7 +220,7 @@ func newCPUMetricsCache() *cachevalue.Cache[madmin.CPUMetrics] { } } - return + return v, err } return cachevalue.NewFromFunc(1*time.Minute, @@ -245,7 +245,7 @@ func newMemoryMetricsCache() *cachevalue.Cache[madmin.MemInfo] { } } - return + return v, err } return cachevalue.NewFromFunc(1*time.Minute, @@ -268,7 +268,7 @@ func newClusterStorageInfoCache() *cachevalue.Cache[storageMetrics] { offlineDrives: offlineDrives.Sum(), totalDrives: totalDrives.Sum(), } - return + return v, err } return cachevalue.NewFromFunc(1*time.Minute, cachevalue.Opts{ReturnLastGood: true}, diff --git a/cmd/mrf_gen.go b/cmd/mrf_gen.go index b2ec14465..8c0467b52 100644 --- a/cmd/mrf_gen.go +++ b/cmd/mrf_gen.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "github.com/tinylib/msgp/msgp" ) diff --git a/cmd/mrf_gen_test.go b/cmd/mrf_gen_test.go index 49ac17340..b8e039f8a 100644 --- a/cmd/mrf_gen_test.go +++ b/cmd/mrf_gen_test.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "bytes" "testing" diff --git a/cmd/namespace-lock.go b/cmd/namespace-lock.go index a39d22011..0cfe44dea 100644 --- a/cmd/namespace-lock.go +++ b/cmd/namespace-lock.go @@ -126,7 +126,7 @@ func (n *nsLockMap) lock(ctx context.Context, volume string, path string, lockSo n.lockMapMutex.Unlock() } - return + return locked } // Unlock the namespace resource. diff --git a/cmd/net.go b/cmd/net.go index 082f2fb42..f0462851b 100644 --- a/cmd/net.go +++ b/cmd/net.go @@ -88,7 +88,7 @@ func mustGetLocalLoopbacks() (ipList set.StringSet) { ipList.Add(ip.String()) } } - return + return ipList } // mustGetLocalIP4 returns IPv4 addresses of localhost. It panics on error. @@ -99,7 +99,7 @@ func mustGetLocalIP4() (ipList set.StringSet) { ipList.Add(ip.String()) } } - return + return ipList } // mustGetLocalIP6 returns IPv6 addresses of localhost. It panics on error. @@ -110,7 +110,7 @@ func mustGetLocalIP6() (ipList set.StringSet) { ipList.Add(ip.String()) } } - return + return ipList } // getHostIP returns IP address of given host. diff --git a/cmd/notification-summary.go b/cmd/notification-summary.go index 86fb684e3..28d07c7ea 100644 --- a/cmd/notification-summary.go +++ b/cmd/notification-summary.go @@ -26,7 +26,7 @@ func GetTotalCapacity(diskInfo []madmin.Disk) (capacity uint64) { for _, disk := range diskInfo { capacity += disk.TotalSpace } - return + return capacity } // GetTotalUsableCapacity gets the total usable capacity in the cluster. @@ -42,7 +42,7 @@ func GetTotalUsableCapacity(diskInfo []madmin.Disk, s StorageInfo) (capacity uin capacity += disk.TotalSpace } } - return + return capacity } // GetTotalCapacityFree gets the total capacity free in the cluster. @@ -50,7 +50,7 @@ func GetTotalCapacityFree(diskInfo []madmin.Disk) (capacity uint64) { for _, d := range diskInfo { capacity += d.AvailableSpace } - return + return capacity } // GetTotalUsableCapacityFree gets the total usable capacity free in the cluster. @@ -66,5 +66,5 @@ func GetTotalUsableCapacityFree(diskInfo []madmin.Disk, s StorageInfo) (capacity capacity += disk.AvailableSpace } } - return + return capacity } diff --git a/cmd/notification.go b/cmd/notification.go index 021d9d652..152856ac2 100644 --- a/cmd/notification.go +++ b/cmd/notification.go @@ -375,7 +375,7 @@ func (sys *NotificationSys) DownloadProfilingData(ctx context.Context, writer io internalLogIf(ctx, err) } - return + return profilingDataFound } // VerifyBinary - asks remote peers to verify the checksum @@ -1180,7 +1180,7 @@ func (sys *NotificationSys) GetPeerOnlineCount() (nodesOnline, nodesOffline int) nodesOffline++ } } - return + return nodesOnline, nodesOffline } // NewNotificationSys - creates new notification system object. diff --git a/cmd/object-api-datatypes_gen.go b/cmd/object-api-datatypes_gen.go index 5b2c60a02..b15bb3ab2 100644 --- a/cmd/object-api-datatypes_gen.go +++ b/cmd/object-api-datatypes_gen.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "github.com/minio/minio/internal/bucket/replication" "github.com/tinylib/msgp/msgp" @@ -1120,14 +1120,12 @@ func (z *ListPartsInfo) UnmarshalMsg(bts []byte) (o []byte, err error) { if z.UserDefined == nil { z.UserDefined = make(map[string]string, zb0003) } else if len(z.UserDefined) > 0 { - for key := range z.UserDefined { - delete(z.UserDefined, key) - } + clear(z.UserDefined) } for zb0003 > 0 { - var za0002 string var za0003 string zb0003-- + var za0002 string za0002, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err, "UserDefined") @@ -1259,14 +1257,12 @@ func (z *MultipartInfo) UnmarshalMsg(bts []byte) (o []byte, err error) { if z.UserDefined == nil { z.UserDefined = make(map[string]string, zb0002) } else if len(z.UserDefined) > 0 { - for key := range z.UserDefined { - delete(z.UserDefined, key) - } + clear(z.UserDefined) } for zb0002 > 0 { - var za0001 string var za0002 string zb0002-- + var za0001 string za0001, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err, "UserDefined") @@ -1665,14 +1661,12 @@ func (z *ObjectInfo) UnmarshalMsg(bts []byte) (o []byte, err error) { if z.UserDefined == nil { z.UserDefined = make(map[string]string, zb0002) } else if len(z.UserDefined) > 0 { - for key := range z.UserDefined { - delete(z.UserDefined, key) - } + clear(z.UserDefined) } for zb0002 > 0 { - var za0001 string var za0002 string zb0002-- + var za0001 string za0001, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err, "UserDefined") @@ -2223,14 +2217,12 @@ func (z *ReplicateObjectInfo) UnmarshalMsg(bts []byte) (o []byte, err error) { if z.TargetStatuses == nil { z.TargetStatuses = make(map[string]replication.StatusType, zb0002) } else if len(z.TargetStatuses) > 0 { - for key := range z.TargetStatuses { - delete(z.TargetStatuses, key) - } + clear(z.TargetStatuses) } for zb0002 > 0 { - var za0001 string var za0002 replication.StatusType zb0002-- + var za0001 string za0001, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err, "TargetStatuses") @@ -2253,14 +2245,12 @@ func (z *ReplicateObjectInfo) UnmarshalMsg(bts []byte) (o []byte, err error) { if z.TargetPurgeStatuses == nil { z.TargetPurgeStatuses = make(map[string]VersionPurgeStatusType, zb0003) } else if len(z.TargetPurgeStatuses) > 0 { - for key := range z.TargetPurgeStatuses { - delete(z.TargetPurgeStatuses, key) - } + clear(z.TargetPurgeStatuses) } for zb0003 > 0 { - var za0003 string var za0004 VersionPurgeStatusType zb0003-- + var za0003 string za0003, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err, "TargetPurgeStatuses") diff --git a/cmd/object-api-interface.go b/cmd/object-api-interface.go index 603cc38f2..06c737410 100644 --- a/cmd/object-api-interface.go +++ b/cmd/object-api-interface.go @@ -225,11 +225,11 @@ func (o *ObjectOptions) SetDeleteReplicationState(dsc ReplicateDecision, vID str func (o *ObjectOptions) PutReplicationState() (r ReplicationState) { rstatus, ok := o.UserDefined[ReservedMetadataPrefixLower+ReplicationStatus] if !ok { - return + return r } r.ReplicationStatusInternal = rstatus r.Targets = replicationStatusesMap(rstatus) - return + return r } // SetEvalMetadataFn sets the metadata evaluation function diff --git a/cmd/object-api-interface_gen.go b/cmd/object-api-interface_gen.go index 73f45f1ca..919cdb174 100644 --- a/cmd/object-api-interface_gen.go +++ b/cmd/object-api-interface_gen.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "github.com/tinylib/msgp/msgp" ) diff --git a/cmd/object-api-options.go b/cmd/object-api-options.go index 72396a776..6482f2000 100644 --- a/cmd/object-api-options.go +++ b/cmd/object-api-options.go @@ -50,33 +50,33 @@ func getDefaultOpts(header http.Header, copySource bool, metadata map[string]str if crypto.SSECopy.IsRequested(header) { clientKey, err = crypto.SSECopy.ParseHTTP(header) if err != nil { - return + return opts, err } if sse, err = encrypt.NewSSEC(clientKey[:]); err != nil { - return + return opts, err } opts.ServerSideEncryption = encrypt.SSECopy(sse) - return + return opts, err } - return + return opts, err } if crypto.SSEC.IsRequested(header) { clientKey, err = crypto.SSEC.ParseHTTP(header) if err != nil { - return + return opts, err } if sse, err = encrypt.NewSSEC(clientKey[:]); err != nil { - return + return opts, err } opts.ServerSideEncryption = sse - return + return opts, err } if crypto.S3.IsRequested(header) || (metadata != nil && crypto.S3.IsEncrypted(metadata)) { opts.ServerSideEncryption = encrypt.NewSSE() } - return + return opts, err } // get ObjectOptions for GET calls from encryption headers @@ -173,7 +173,7 @@ func getAndValidateAttributesOpts(ctx context.Context, w http.ResponseWriter, r apiErr = toAPIError(ctx, vErr) } valid = false - return + return opts, valid } opts.MaxParts, err = parseIntHeader(bucket, object, r.Header, xhttp.AmzMaxParts) @@ -181,7 +181,7 @@ func getAndValidateAttributesOpts(ctx context.Context, w http.ResponseWriter, r apiErr = toAPIError(ctx, err) argumentName = strings.ToLower(xhttp.AmzMaxParts) valid = false - return + return opts, valid } if opts.MaxParts == 0 { @@ -193,7 +193,7 @@ func getAndValidateAttributesOpts(ctx context.Context, w http.ResponseWriter, r apiErr = toAPIError(ctx, err) argumentName = strings.ToLower(xhttp.AmzPartNumberMarker) valid = false - return + return opts, valid } opts.ObjectAttributes = parseObjectAttributes(r.Header) @@ -201,7 +201,7 @@ func getAndValidateAttributesOpts(ctx context.Context, w http.ResponseWriter, r apiErr = errorCodes.ToAPIErr(ErrInvalidAttributeName) argumentName = strings.ToLower(xhttp.AmzObjectAttributes) valid = false - return + return opts, valid } for tag := range opts.ObjectAttributes { @@ -216,11 +216,11 @@ func getAndValidateAttributesOpts(ctx context.Context, w http.ResponseWriter, r argumentName = strings.ToLower(xhttp.AmzObjectAttributes) argumentValue = tag valid = false - return + return opts, valid } } - return + return opts, valid } func parseObjectAttributes(h http.Header) (attributes map[string]struct{}) { @@ -233,13 +233,13 @@ func parseObjectAttributes(h http.Header) (attributes map[string]struct{}) { } } - return + return attributes } func parseIntHeader(bucket, object string, h http.Header, headerName string) (value int, err error) { stringInt := strings.TrimSpace(h.Get(headerName)) if stringInt == "" { - return + return value, err } value, err = strconv.Atoi(stringInt) if err != nil { @@ -249,7 +249,7 @@ func parseIntHeader(bucket, object string, h http.Header, headerName string) (va Err: fmt.Errorf("Unable to parse %s, value should be an integer", headerName), } } - return + return value, err } func parseBoolHeader(bucket, object string, h http.Header, headerName string) (bool, error) { diff --git a/cmd/object-handlers.go b/cmd/object-handlers.go index 9663e99b4..6542c4655 100644 --- a/cmd/object-handlers.go +++ b/cmd/object-handlers.go @@ -2662,7 +2662,7 @@ func (api objectAPIHandlers) DeleteObjectHandler(w http.ResponseWriter, r *http. return err } } - return + return err }) deleteObject := objectAPI.DeleteObject diff --git a/cmd/object-handlers_test.go b/cmd/object-handlers_test.go index 8da26b3dd..ec71c6923 100644 --- a/cmd/object-handlers_test.go +++ b/cmd/object-handlers_test.go @@ -245,7 +245,7 @@ func testAPIHeadObjectHandlerWithEncryption(obj ObjectLayer, instanceType, bucke for _, l := range oi.partLengths { sum += l } - return + return sum } // set of inputs for uploading the objects before tests for @@ -677,7 +677,7 @@ func testAPIGetObjectWithMPHandler(obj ObjectLayer, instanceType, bucketName str for _, l := range oi.partLengths { sum += l } - return + return sum } // set of inputs for uploading the objects before tests for diff --git a/cmd/os_unix.go b/cmd/os_unix.go index 4ad248646..9728493f6 100644 --- a/cmd/os_unix.go +++ b/cmd/os_unix.go @@ -136,7 +136,7 @@ func parseDirEnt(buf []byte) (consumed int, name []byte, typ os.FileMode, err er } consumed = int(dirent.Reclen) if direntInode(dirent) == 0 { // File absent in directory. - return + return consumed, name, typ, err } switch dirent.Type { case syscall.DT_REG: @@ -349,7 +349,7 @@ func readDirWithOpts(dirPath string, opts readDirOpts) (entries []string, err er entries = append(entries, nameStr) } - return + return entries, err } func globalSync() { diff --git a/cmd/peer-rest-client.go b/cmd/peer-rest-client.go index 9b69302fe..eb65a40a0 100644 --- a/cmd/peer-rest-client.go +++ b/cmd/peer-rest-client.go @@ -265,7 +265,7 @@ func (client *peerRESTClient) StartProfiling(ctx context.Context, profiler strin func (client *peerRESTClient) DownloadProfileData(ctx context.Context) (data map[string][]byte, err error) { respBody, err := client.callWithContext(ctx, peerRESTMethodDownloadProfilingData, nil, nil, -1) if err != nil { - return + return data, err } defer xhttp.DrainBody(respBody) err = gob.NewDecoder(respBody).Decode(&data) diff --git a/cmd/peer-rest-server.go b/cmd/peer-rest-server.go index 4a47b4083..9335b7613 100644 --- a/cmd/peer-rest-server.go +++ b/cmd/peer-rest-server.go @@ -146,7 +146,7 @@ func (s *peerRESTServer) DeletePolicyHandler(mss *grid.MSS) (np grid.NoPayload, return np, grid.NewRemoteErr(err) } - return + return np, nerr } // LoadPolicyHandler - reloads a policy on the server. @@ -165,7 +165,7 @@ func (s *peerRESTServer) LoadPolicyHandler(mss *grid.MSS) (np grid.NoPayload, ne return np, grid.NewRemoteErr(err) } - return + return np, nerr } // LoadPolicyMappingHandler - reloads a policy mapping on the server. @@ -189,7 +189,7 @@ func (s *peerRESTServer) LoadPolicyMappingHandler(mss *grid.MSS) (np grid.NoPayl return np, grid.NewRemoteErr(err) } - return + return np, nerr } // DeleteServiceAccountHandler - deletes a service account on the server. @@ -208,7 +208,7 @@ func (s *peerRESTServer) DeleteServiceAccountHandler(mss *grid.MSS) (np grid.NoP return np, grid.NewRemoteErr(err) } - return + return np, nerr } // LoadServiceAccountHandler - reloads a service account on the server. @@ -227,7 +227,7 @@ func (s *peerRESTServer) LoadServiceAccountHandler(mss *grid.MSS) (np grid.NoPay return np, grid.NewRemoteErr(err) } - return + return np, nerr } // DeleteUserHandler - deletes a user on the server. @@ -246,7 +246,7 @@ func (s *peerRESTServer) DeleteUserHandler(mss *grid.MSS) (np grid.NoPayload, ne return np, grid.NewRemoteErr(err) } - return + return np, nerr } // LoadUserHandler - reloads a user on the server. @@ -275,7 +275,7 @@ func (s *peerRESTServer) LoadUserHandler(mss *grid.MSS) (np grid.NoPayload, nerr return np, grid.NewRemoteErr(err) } - return + return np, nerr } // LoadGroupHandler - reloads group along with members list. @@ -295,7 +295,7 @@ func (s *peerRESTServer) LoadGroupHandler(mss *grid.MSS) (np grid.NoPayload, ner return np, grid.NewRemoteErr(err) } - return + return np, nerr } // StartProfilingHandler - Issues the start profiling command. @@ -479,7 +479,7 @@ func (s *peerRESTServer) DeleteBucketMetadataHandler(mss *grid.MSS) (np grid.NoP if localMetacacheMgr != nil { localMetacacheMgr.deleteBucketCache(bucketName) } - return + return np, nerr } // GetAllBucketStatsHandler - fetches bucket replication stats for all buckets from this peer. @@ -554,7 +554,7 @@ func (s *peerRESTServer) LoadBucketMetadataHandler(mss *grid.MSS) (np grid.NoPay globalBucketTargetSys.UpdateAllTargets(bucketName, meta.bucketTargetConfig) } - return + return np, nerr } func (s *peerRESTServer) GetMetacacheListingHandler(opts *listPathOptions) (*metacache, *grid.RemoteErr) { @@ -885,7 +885,7 @@ func (s *peerRESTServer) ReloadSiteReplicationConfigHandler(mss *grid.MSS) (np g } peersLogIf(context.Background(), globalSiteReplicationSys.Init(context.Background(), objAPI)) - return + return np, nerr } func (s *peerRESTServer) ReloadPoolMetaHandler(mss *grid.MSS) (np grid.NoPayload, nerr *grid.RemoteErr) { @@ -896,14 +896,14 @@ func (s *peerRESTServer) ReloadPoolMetaHandler(mss *grid.MSS) (np grid.NoPayload pools, ok := objAPI.(*erasureServerPools) if !ok { - return + return np, nerr } if err := pools.ReloadPoolMeta(context.Background()); err != nil { return np, grid.NewRemoteErr(err) } - return + return np, nerr } func (s *peerRESTServer) HandlerClearUploadID(mss *grid.MSS) (np grid.NoPayload, nerr *grid.RemoteErr) { @@ -914,7 +914,7 @@ func (s *peerRESTServer) HandlerClearUploadID(mss *grid.MSS) (np grid.NoPayload, pools, ok := objAPI.(*erasureServerPools) if !ok { - return + return np, nerr } // No need to return errors, this is not a highly strict operation. @@ -923,7 +923,7 @@ func (s *peerRESTServer) HandlerClearUploadID(mss *grid.MSS) (np grid.NoPayload, pools.ClearUploadID(uploadID) } - return + return np, nerr } func (s *peerRESTServer) StopRebalanceHandler(mss *grid.MSS) (np grid.NoPayload, nerr *grid.RemoteErr) { @@ -938,7 +938,7 @@ func (s *peerRESTServer) StopRebalanceHandler(mss *grid.MSS) (np grid.NoPayload, } pools.StopRebalance() - return + return np, nerr } func (s *peerRESTServer) LoadRebalanceMetaHandler(mss *grid.MSS) (np grid.NoPayload, nerr *grid.RemoteErr) { @@ -965,7 +965,7 @@ func (s *peerRESTServer) LoadRebalanceMetaHandler(mss *grid.MSS) (np grid.NoPayl go pools.StartRebalance() } - return + return np, nerr } func (s *peerRESTServer) LoadTransitionTierConfigHandler(mss *grid.MSS) (np grid.NoPayload, nerr *grid.RemoteErr) { @@ -981,7 +981,7 @@ func (s *peerRESTServer) LoadTransitionTierConfigHandler(mss *grid.MSS) (np grid } }() - return + return np, nerr } // ConsoleLogHandler sends console logs of this node back to peer rest client diff --git a/cmd/perf-tests.go b/cmd/perf-tests.go index 3422b54f3..f9b4663f4 100644 --- a/cmd/perf-tests.go +++ b/cmd/perf-tests.go @@ -422,7 +422,7 @@ func perfNetRequest(ctx context.Context, deploymentID, reqPath string, reader io cli, err := globalSiteReplicationSys.getAdminClient(ctx, deploymentID) if err != nil { result.Error = err.Error() - return + return result } rp := cli.GetEndpointURL() reqURL := &url.URL{ @@ -434,7 +434,7 @@ func perfNetRequest(ctx context.Context, deploymentID, reqPath string, reader io req, err := http.NewRequestWithContext(ctx, http.MethodPost, reqURL.String(), reader) if err != nil { result.Error = err.Error() - return + return result } client := &http.Client{ Transport: globalRemoteTargetTransport, @@ -442,7 +442,7 @@ func perfNetRequest(ctx context.Context, deploymentID, reqPath string, reader io resp, err := client.Do(req) if err != nil { result.Error = err.Error() - return + return result } defer xhttp.DrainBody(resp.Body) err = gob.NewDecoder(resp.Body).Decode(&result) @@ -451,5 +451,5 @@ func perfNetRequest(ctx context.Context, deploymentID, reqPath string, reader io if err != nil { result.Error = err.Error() } - return + return result } diff --git a/cmd/sftp-server.go b/cmd/sftp-server.go index e286f18ec..0a0164a4b 100644 --- a/cmd/sftp-server.go +++ b/cmd/sftp-server.go @@ -344,7 +344,7 @@ func validateClientKeyIsTrusted(c ssh.ConnMetadata, clientKey ssh.PublicKey) (er } _, err = checker.Authenticate(c, clientKey) - return + return err } type sftpLogger struct{} diff --git a/cmd/site-replication-metrics_gen.go b/cmd/site-replication-metrics_gen.go index 7cba78109..2b6272e3b 100644 --- a/cmd/site-replication-metrics_gen.go +++ b/cmd/site-replication-metrics_gen.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "github.com/tinylib/msgp/msgp" ) @@ -209,19 +209,17 @@ func (z *RTimedMetrics) DecodeMsg(dc *msgp.Reader) (err error) { if z.ErrCounts == nil { z.ErrCounts = make(map[string]int, zb0003) } else if len(z.ErrCounts) > 0 { - for key := range z.ErrCounts { - delete(z.ErrCounts, key) - } + clear(z.ErrCounts) } for zb0003 > 0 { zb0003-- var za0001 string - var za0002 int za0001, err = dc.ReadString() if err != nil { err = msgp.WrapError(err, "ErrCounts") return } + var za0002 int za0002, err = dc.ReadInt() if err != nil { err = msgp.WrapError(err, "ErrCounts", za0001) @@ -426,14 +424,12 @@ func (z *RTimedMetrics) UnmarshalMsg(bts []byte) (o []byte, err error) { if z.ErrCounts == nil { z.ErrCounts = make(map[string]int, zb0003) } else if len(z.ErrCounts) > 0 { - for key := range z.ErrCounts { - delete(z.ErrCounts, key) - } + clear(z.ErrCounts) } for zb0003 > 0 { - var za0001 string var za0002 int zb0003-- + var za0001 string za0001, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err, "ErrCounts") @@ -839,19 +835,17 @@ func (z *SRMetricsSummary) DecodeMsg(dc *msgp.Reader) (err error) { if z.Metrics == nil { z.Metrics = make(map[string]SRMetric, zb0002) } else if len(z.Metrics) > 0 { - for key := range z.Metrics { - delete(z.Metrics, key) - } + clear(z.Metrics) } for zb0002 > 0 { zb0002-- var za0001 string - var za0002 SRMetric za0001, err = dc.ReadString() if err != nil { err = msgp.WrapError(err, "Metrics") return } + var za0002 SRMetric err = za0002.DecodeMsg(dc) if err != nil { err = msgp.WrapError(err, "Metrics", za0001) @@ -1070,14 +1064,12 @@ func (z *SRMetricsSummary) UnmarshalMsg(bts []byte) (o []byte, err error) { if z.Metrics == nil { z.Metrics = make(map[string]SRMetric, zb0002) } else if len(z.Metrics) > 0 { - for key := range z.Metrics { - delete(z.Metrics, key) - } + clear(z.Metrics) } for zb0002 > 0 { - var za0001 string var za0002 SRMetric zb0002-- + var za0001 string za0001, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err, "Metrics") @@ -1161,19 +1153,17 @@ func (z *SRStats) DecodeMsg(dc *msgp.Reader) (err error) { if z.M == nil { z.M = make(map[string]*SRStatus, zb0002) } else if len(z.M) > 0 { - for key := range z.M { - delete(z.M, key) - } + clear(z.M) } for zb0002 > 0 { zb0002-- var za0001 string - var za0002 *SRStatus za0001, err = dc.ReadString() if err != nil { err = msgp.WrapError(err, "M") return } + var za0002 *SRStatus if dc.IsNil() { err = dc.ReadNil() if err != nil { @@ -1327,14 +1317,12 @@ func (z *SRStats) UnmarshalMsg(bts []byte) (o []byte, err error) { if z.M == nil { z.M = make(map[string]*SRStatus, zb0002) } else if len(z.M) > 0 { - for key := range z.M { - delete(z.M, key) - } + clear(z.M) } for zb0002 > 0 { - var za0001 string var za0002 *SRStatus zb0002-- + var za0001 string za0001, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err, "M") diff --git a/cmd/site-replication-metrics_gen_test.go b/cmd/site-replication-metrics_gen_test.go index 0aa1598d7..9e47381c9 100644 --- a/cmd/site-replication-metrics_gen_test.go +++ b/cmd/site-replication-metrics_gen_test.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "bytes" "testing" diff --git a/cmd/site-replication-utils_gen.go b/cmd/site-replication-utils_gen.go index 81f0ff4e9..f02eb5c7f 100644 --- a/cmd/site-replication-utils_gen.go +++ b/cmd/site-replication-utils_gen.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "github.com/tinylib/msgp/msgp" ) @@ -52,19 +52,17 @@ func (z *SiteResyncStatus) DecodeMsg(dc *msgp.Reader) (err error) { if z.BucketStatuses == nil { z.BucketStatuses = make(map[string]ResyncStatusType, zb0002) } else if len(z.BucketStatuses) > 0 { - for key := range z.BucketStatuses { - delete(z.BucketStatuses, key) - } + clear(z.BucketStatuses) } for zb0002 > 0 { zb0002-- var za0001 string - var za0002 ResyncStatusType za0001, err = dc.ReadString() if err != nil { err = msgp.WrapError(err, "BucketStatuses") return } + var za0002 ResyncStatusType err = za0002.DecodeMsg(dc) if err != nil { err = msgp.WrapError(err, "BucketStatuses", za0001) @@ -260,14 +258,12 @@ func (z *SiteResyncStatus) UnmarshalMsg(bts []byte) (o []byte, err error) { if z.BucketStatuses == nil { z.BucketStatuses = make(map[string]ResyncStatusType, zb0002) } else if len(z.BucketStatuses) > 0 { - for key := range z.BucketStatuses { - delete(z.BucketStatuses, key) - } + clear(z.BucketStatuses) } for zb0002 > 0 { - var za0001 string var za0002 ResyncStatusType zb0002-- + var za0001 string za0001, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err, "BucketStatuses") diff --git a/cmd/site-replication-utils_gen_test.go b/cmd/site-replication-utils_gen_test.go index 77a68632c..a982c6c25 100644 --- a/cmd/site-replication-utils_gen_test.go +++ b/cmd/site-replication-utils_gen_test.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "bytes" "testing" diff --git a/cmd/site-replication.go b/cmd/site-replication.go index 8dc12a6b0..0b2f26f76 100644 --- a/cmd/site-replication.go +++ b/cmd/site-replication.go @@ -390,7 +390,7 @@ func (c *SiteReplicationSys) getSiteStatuses(ctx context.Context, sites ...madmi self: info.DeploymentID == globalDeploymentID(), }) } - return + return psi, err } // AddPeerClusters - add cluster sites for replication configuration. @@ -756,7 +756,7 @@ func (c *SiteReplicationSys) Netperf(ctx context.Context, duration time.Duration }() } wg.Wait() - return + return results, err } // GetClusterInfo - returns site replication information. @@ -2600,7 +2600,7 @@ func (c *SiteReplicationSys) RemoveRemoteTargetsForEndpoint(ctx context.Context, return err } } - return + return err } // Other helpers @@ -2772,7 +2772,7 @@ func (c *SiteReplicationSys) SiteReplicationStatus(ctx context.Context, objAPI O } } - return + return info, err } const ( @@ -3372,7 +3372,7 @@ func (c *SiteReplicationSys) siteReplicationStatus(ctx context.Context, objAPI O info.MaxGroups = len(groupDescStats) info.MaxPolicies = len(policyStats) info.MaxILMExpiryRules = len(ilmExpiryRuleStats) - return + return info, err } // isReplicated returns true if count of replicated matches the number of diff --git a/cmd/storage-datatypes.go b/cmd/storage-datatypes.go index 38106d570..be36fa359 100644 --- a/cmd/storage-datatypes.go +++ b/cmd/storage-datatypes.go @@ -295,7 +295,7 @@ func (fi FileInfo) ShallowCopy() (n FileInfo) { n.VersionID = fi.VersionID n.Deleted = fi.Deleted n.Erasure = fi.Erasure - return + return n } // WriteQuorum returns expected write quorum for this FileInfo diff --git a/cmd/storage-datatypes_gen.go b/cmd/storage-datatypes_gen.go index 2e5db7f01..3671bb2e9 100644 --- a/cmd/storage-datatypes_gen.go +++ b/cmd/storage-datatypes_gen.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "github.com/tinylib/msgp/msgp" ) @@ -1931,19 +1931,17 @@ func (z *DiskMetrics) DecodeMsg(dc *msgp.Reader) (err error) { if z.LastMinute == nil { z.LastMinute = make(map[string]AccElem, zb0002) } else if len(z.LastMinute) > 0 { - for key := range z.LastMinute { - delete(z.LastMinute, key) - } + clear(z.LastMinute) } for zb0002 > 0 { zb0002-- var za0001 string - var za0002 AccElem za0001, err = dc.ReadString() if err != nil { err = msgp.WrapError(err, "LastMinute") return } + var za0002 AccElem err = za0002.DecodeMsg(dc) if err != nil { err = msgp.WrapError(err, "LastMinute", za0001) @@ -1961,19 +1959,17 @@ func (z *DiskMetrics) DecodeMsg(dc *msgp.Reader) (err error) { if z.APICalls == nil { z.APICalls = make(map[string]uint64, zb0003) } else if len(z.APICalls) > 0 { - for key := range z.APICalls { - delete(z.APICalls, key) - } + clear(z.APICalls) } for zb0003 > 0 { zb0003-- var za0003 string - var za0004 uint64 za0003, err = dc.ReadString() if err != nil { err = msgp.WrapError(err, "APICalls") return } + var za0004 uint64 za0004, err = dc.ReadUint64() if err != nil { err = msgp.WrapError(err, "APICalls", za0003) @@ -2190,14 +2186,12 @@ func (z *DiskMetrics) UnmarshalMsg(bts []byte) (o []byte, err error) { if z.LastMinute == nil { z.LastMinute = make(map[string]AccElem, zb0002) } else if len(z.LastMinute) > 0 { - for key := range z.LastMinute { - delete(z.LastMinute, key) - } + clear(z.LastMinute) } for zb0002 > 0 { - var za0001 string var za0002 AccElem zb0002-- + var za0001 string za0001, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err, "LastMinute") @@ -2220,14 +2214,12 @@ func (z *DiskMetrics) UnmarshalMsg(bts []byte) (o []byte, err error) { if z.APICalls == nil { z.APICalls = make(map[string]uint64, zb0003) } else if len(z.APICalls) > 0 { - for key := range z.APICalls { - delete(z.APICalls, key) - } + clear(z.APICalls) } for zb0003 > 0 { - var za0003 string var za0004 uint64 zb0003-- + var za0003 string za0003, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err, "APICalls") @@ -2403,21 +2395,19 @@ func (z *FileInfo) DecodeMsg(dc *msgp.Reader) (err error) { if z.Metadata == nil { z.Metadata = make(map[string]string, zb0002) } else if len(z.Metadata) > 0 { - for key := range z.Metadata { - delete(z.Metadata, key) - } + clear(z.Metadata) } var field []byte _ = field for zb0002 > 0 { zb0002-- var za0001 string - var za0002 string za0001, err = dc.ReadString() if err != nil { err = msgp.WrapError(err, "Metadata") return } + var za0002 string za0002, err = dc.ReadString() if err != nil { err = msgp.WrapError(err, "Metadata", za0001) @@ -2867,16 +2857,14 @@ func (z *FileInfo) UnmarshalMsg(bts []byte) (o []byte, err error) { if z.Metadata == nil { z.Metadata = make(map[string]string, zb0002) } else if len(z.Metadata) > 0 { - for key := range z.Metadata { - delete(z.Metadata, key) - } + clear(z.Metadata) } var field []byte _ = field for zb0002 > 0 { - var za0001 string var za0002 string zb0002-- + var za0001 string za0001, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err, "Metadata") diff --git a/cmd/storage-datatypes_gen_test.go b/cmd/storage-datatypes_gen_test.go index ffc09b53f..78f53f36f 100644 --- a/cmd/storage-datatypes_gen_test.go +++ b/cmd/storage-datatypes_gen_test.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "bytes" "testing" diff --git a/cmd/storage-rest-common_gen.go b/cmd/storage-rest-common_gen.go index f81f8c97e..c29615c77 100644 --- a/cmd/storage-rest-common_gen.go +++ b/cmd/storage-rest-common_gen.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "github.com/tinylib/msgp/msgp" ) diff --git a/cmd/storage-rest-common_gen_test.go b/cmd/storage-rest-common_gen_test.go index 8085a115c..4164020a9 100644 --- a/cmd/storage-rest-common_gen_test.go +++ b/cmd/storage-rest-common_gen_test.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "bytes" "testing" diff --git a/cmd/streaming-signature-v4.go b/cmd/streaming-signature-v4.go index c02313392..702714be0 100644 --- a/cmd/streaming-signature-v4.go +++ b/cmd/streaming-signature-v4.go @@ -663,5 +663,5 @@ func parseHexUint(v []byte) (n uint64, err error) { n <<= 4 n |= uint64(b) } - return + return n, err } diff --git a/cmd/tier-last-day-stats_gen.go b/cmd/tier-last-day-stats_gen.go index c85857325..24e4dde77 100644 --- a/cmd/tier-last-day-stats_gen.go +++ b/cmd/tier-last-day-stats_gen.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "github.com/tinylib/msgp/msgp" ) @@ -17,21 +17,19 @@ func (z *DailyAllTierStats) DecodeMsg(dc *msgp.Reader) (err error) { if (*z) == nil { (*z) = make(DailyAllTierStats, zb0004) } else if len((*z)) > 0 { - for key := range *z { - delete((*z), key) - } + clear((*z)) } var field []byte _ = field for zb0004 > 0 { zb0004-- var zb0001 string - var zb0002 lastDayTierStats zb0001, err = dc.ReadString() if err != nil { err = msgp.WrapError(err) return } + var zb0002 lastDayTierStats var zb0005 uint32 zb0005, err = dc.ReadMapHeader() if err != nil { @@ -163,16 +161,14 @@ func (z *DailyAllTierStats) UnmarshalMsg(bts []byte) (o []byte, err error) { if (*z) == nil { (*z) = make(DailyAllTierStats, zb0004) } else if len((*z)) > 0 { - for key := range *z { - delete((*z), key) - } + clear((*z)) } var field []byte _ = field for zb0004 > 0 { - var zb0001 string var zb0002 lastDayTierStats zb0004-- + var zb0001 string zb0001, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err) diff --git a/cmd/tier-last-day-stats_gen_test.go b/cmd/tier-last-day-stats_gen_test.go index 572e7d147..590c2c4c4 100644 --- a/cmd/tier-last-day-stats_gen_test.go +++ b/cmd/tier-last-day-stats_gen_test.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "bytes" "testing" diff --git a/cmd/tier_gen.go b/cmd/tier_gen.go index f30a39a97..38efbcad9 100644 --- a/cmd/tier_gen.go +++ b/cmd/tier_gen.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "github.com/minio/madmin-go/v3" "github.com/tinylib/msgp/msgp" @@ -35,19 +35,17 @@ func (z *TierConfigMgr) DecodeMsg(dc *msgp.Reader) (err error) { if z.Tiers == nil { z.Tiers = make(map[string]madmin.TierConfig, zb0002) } else if len(z.Tiers) > 0 { - for key := range z.Tiers { - delete(z.Tiers, key) - } + clear(z.Tiers) } for zb0002 > 0 { zb0002-- var za0001 string - var za0002 madmin.TierConfig za0001, err = dc.ReadString() if err != nil { err = msgp.WrapError(err, "Tiers") return } + var za0002 madmin.TierConfig err = za0002.DecodeMsg(dc) if err != nil { err = msgp.WrapError(err, "Tiers", za0001) @@ -140,14 +138,12 @@ func (z *TierConfigMgr) UnmarshalMsg(bts []byte) (o []byte, err error) { if z.Tiers == nil { z.Tiers = make(map[string]madmin.TierConfig, zb0002) } else if len(z.Tiers) > 0 { - for key := range z.Tiers { - delete(z.Tiers, key) - } + clear(z.Tiers) } for zb0002 > 0 { - var za0001 string var za0002 madmin.TierConfig zb0002-- + var za0001 string za0001, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err, "Tiers") diff --git a/cmd/tier_gen_test.go b/cmd/tier_gen_test.go index 174c215b1..f6bdf5cfd 100644 --- a/cmd/tier_gen_test.go +++ b/cmd/tier_gen_test.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "bytes" "testing" diff --git a/cmd/update.go b/cmd/update.go index d122f4d0d..ff3fcd038 100644 --- a/cmd/update.go +++ b/cmd/update.go @@ -445,7 +445,7 @@ func getLatestReleaseTime(u *url.URL, timeout time.Duration, mode string) (sha25 } sha256Sum, releaseTime, _, err = parseReleaseData(data) - return + return sha256Sum, releaseTime, err } const ( diff --git a/cmd/utils.go b/cmd/utils.go index b7e7f79eb..21fe5c61a 100644 --- a/cmd/utils.go +++ b/cmd/utils.go @@ -689,7 +689,7 @@ func NewRemoteTargetHTTPTransport(insecure bool) func() *http.Transport { func ceilFrac(numerator, denominator int64) (ceil int64) { if denominator == 0 { // do nothing on invalid input - return + return ceil } // Make denominator positive if denominator < 0 { @@ -700,7 +700,7 @@ func ceilFrac(numerator, denominator int64) (ceil int64) { if numerator > 0 && numerator%denominator != 0 { ceil++ } - return + return ceil } // cleanMinioInternalMetadataKeys removes X-Amz-Meta- prefix from minio internal diff --git a/cmd/warm-backend-minio.go b/cmd/warm-backend-minio.go index 005f7e341..56ca51201 100644 --- a/cmd/warm-backend-minio.go +++ b/cmd/warm-backend-minio.go @@ -61,7 +61,7 @@ func optimalPartSize(objectSize int64) (partSize int64, err error) { // object size is larger than supported maximum. if objectSize > maxMultipartPutObjectSize { err = errors.New("entity too large") - return + return partSize, err } configuredPartSize := minPartSize diff --git a/cmd/xl-storage-format-v1_gen.go b/cmd/xl-storage-format-v1_gen.go index fb2642813..02d484254 100644 --- a/cmd/xl-storage-format-v1_gen.go +++ b/cmd/xl-storage-format-v1_gen.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "github.com/tinylib/msgp/msgp" ) @@ -618,19 +618,17 @@ func (z *ObjectPartInfo) DecodeMsg(dc *msgp.Reader) (err error) { if z.Checksums == nil { z.Checksums = make(map[string]string, zb0002) } else if len(z.Checksums) > 0 { - for key := range z.Checksums { - delete(z.Checksums, key) - } + clear(z.Checksums) } for zb0002 > 0 { zb0002-- var za0001 string - var za0002 string za0001, err = dc.ReadString() if err != nil { err = msgp.WrapError(err, "Checksums") return } + var za0002 string za0002, err = dc.ReadString() if err != nil { err = msgp.WrapError(err, "Checksums", za0001) @@ -926,14 +924,12 @@ func (z *ObjectPartInfo) UnmarshalMsg(bts []byte) (o []byte, err error) { if z.Checksums == nil { z.Checksums = make(map[string]string, zb0002) } else if len(z.Checksums) > 0 { - for key := range z.Checksums { - delete(z.Checksums, key) - } + clear(z.Checksums) } for zb0002 > 0 { - var za0001 string var za0002 string zb0002-- + var za0001 string za0001, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err, "Checksums") @@ -1428,19 +1424,17 @@ func (z *xlMetaV1Object) DecodeMsg(dc *msgp.Reader) (err error) { if z.Meta == nil { z.Meta = make(map[string]string, zb0003) } else if len(z.Meta) > 0 { - for key := range z.Meta { - delete(z.Meta, key) - } + clear(z.Meta) } for zb0003 > 0 { zb0003-- var za0001 string - var za0002 string za0001, err = dc.ReadString() if err != nil { err = msgp.WrapError(err, "Meta") return } + var za0002 string za0002, err = dc.ReadString() if err != nil { err = msgp.WrapError(err, "Meta", za0001) @@ -1748,14 +1742,12 @@ func (z *xlMetaV1Object) UnmarshalMsg(bts []byte) (o []byte, err error) { if z.Meta == nil { z.Meta = make(map[string]string, zb0003) } else if len(z.Meta) > 0 { - for key := range z.Meta { - delete(z.Meta, key) - } + clear(z.Meta) } for zb0003 > 0 { - var za0001 string var za0002 string zb0003-- + var za0001 string za0001, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err, "Meta") diff --git a/cmd/xl-storage-format-v1_gen_test.go b/cmd/xl-storage-format-v1_gen_test.go index 0b66c8938..fba5a0252 100644 --- a/cmd/xl-storage-format-v1_gen_test.go +++ b/cmd/xl-storage-format-v1_gen_test.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "bytes" "testing" diff --git a/cmd/xl-storage-format-v2-legacy.go b/cmd/xl-storage-format-v2-legacy.go index 99a1fe3b5..ec2132279 100644 --- a/cmd/xl-storage-format-v2-legacy.go +++ b/cmd/xl-storage-format-v2-legacy.go @@ -44,28 +44,28 @@ func (x *xlMetaV2VersionHeader) unmarshalV1(bts []byte) (o []byte, err error) { zb0001, bts, err = msgp.ReadArrayHeaderBytes(bts) if err != nil { err = msgp.WrapError(err) - return + return o, err } if zb0001 != 4 { err = msgp.ArrayError{Wanted: 4, Got: zb0001} - return + return o, err } bts, err = msgp.ReadExactBytes(bts, (x.VersionID)[:]) if err != nil { err = msgp.WrapError(err, "VersionID") - return + return o, err } x.ModTime, bts, err = msgp.ReadInt64Bytes(bts) if err != nil { err = msgp.WrapError(err, "ModTime") - return + return o, err } { var zb0002 uint8 zb0002, bts, err = msgp.ReadUint8Bytes(bts) if err != nil { err = msgp.WrapError(err, "Type") - return + return o, err } x.Type = VersionType(zb0002) } @@ -74,12 +74,12 @@ func (x *xlMetaV2VersionHeader) unmarshalV1(bts []byte) (o []byte, err error) { zb0003, bts, err = msgp.ReadUint8Bytes(bts) if err != nil { err = msgp.WrapError(err, "Flags") - return + return o, err } x.Flags = xlFlags(zb0003) } o = bts - return + return o, err } // unmarshalV unmarshals with a specific metadata version. @@ -139,33 +139,33 @@ func (z *xlMetaV2VersionHeaderV2) UnmarshalMsg(bts []byte) (o []byte, err error) zb0001, bts, err = msgp.ReadArrayHeaderBytes(bts) if err != nil { err = msgp.WrapError(err) - return + return o, err } if zb0001 != 5 { err = msgp.ArrayError{Wanted: 5, Got: zb0001} - return + return o, err } bts, err = msgp.ReadExactBytes(bts, (z.VersionID)[:]) if err != nil { err = msgp.WrapError(err, "VersionID") - return + return o, err } z.ModTime, bts, err = msgp.ReadInt64Bytes(bts) if err != nil { err = msgp.WrapError(err, "ModTime") - return + return o, err } bts, err = msgp.ReadExactBytes(bts, (z.Signature)[:]) if err != nil { err = msgp.WrapError(err, "Signature") - return + return o, err } { var zb0002 uint8 zb0002, bts, err = msgp.ReadUint8Bytes(bts) if err != nil { err = msgp.WrapError(err, "Type") - return + return o, err } z.Type = VersionType(zb0002) } @@ -174,12 +174,12 @@ func (z *xlMetaV2VersionHeaderV2) UnmarshalMsg(bts []byte) (o []byte, err error) zb0003, bts, err = msgp.ReadUint8Bytes(bts) if err != nil { err = msgp.WrapError(err, "Flags") - return + return o, err } z.Flags = xlFlags(zb0003) } o = bts - return + return o, err } // DecodeMsg implements msgp.Decodable @@ -189,33 +189,33 @@ func (z *xlMetaV2VersionHeaderV2) DecodeMsg(dc *msgp.Reader) (err error) { zb0001, err = dc.ReadArrayHeader() if err != nil { err = msgp.WrapError(err) - return + return err } if zb0001 != 5 { err = msgp.ArrayError{Wanted: 5, Got: zb0001} - return + return err } err = dc.ReadExactBytes((z.VersionID)[:]) if err != nil { err = msgp.WrapError(err, "VersionID") - return + return err } z.ModTime, err = dc.ReadInt64() if err != nil { err = msgp.WrapError(err, "ModTime") - return + return err } err = dc.ReadExactBytes((z.Signature)[:]) if err != nil { err = msgp.WrapError(err, "Signature") - return + return err } { var zb0002 uint8 zb0002, err = dc.ReadUint8() if err != nil { err = msgp.WrapError(err, "Type") - return + return err } z.Type = VersionType(zb0002) } @@ -224,9 +224,9 @@ func (z *xlMetaV2VersionHeaderV2) DecodeMsg(dc *msgp.Reader) (err error) { zb0003, err = dc.ReadUint8() if err != nil { err = msgp.WrapError(err, "Flags") - return + return err } z.Flags = xlFlags(zb0003) } - return + return err } diff --git a/cmd/xl-storage-format-v2_gen.go b/cmd/xl-storage-format-v2_gen.go index d97ee5594..e9d00cd02 100644 --- a/cmd/xl-storage-format-v2_gen.go +++ b/cmd/xl-storage-format-v2_gen.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "github.com/tinylib/msgp/msgp" ) @@ -550,19 +550,17 @@ func (z *xlMetaV2DeleteMarker) DecodeMsg(dc *msgp.Reader) (err error) { if z.MetaSys == nil { z.MetaSys = make(map[string][]byte, zb0002) } else if len(z.MetaSys) > 0 { - for key := range z.MetaSys { - delete(z.MetaSys, key) - } + clear(z.MetaSys) } for zb0002 > 0 { zb0002-- var za0002 string - var za0003 []byte za0002, err = dc.ReadString() if err != nil { err = msgp.WrapError(err, "MetaSys") return } + var za0003 []byte za0003, err = dc.ReadBytes(za0003) if err != nil { err = msgp.WrapError(err, "MetaSys", za0002) @@ -730,14 +728,12 @@ func (z *xlMetaV2DeleteMarker) UnmarshalMsg(bts []byte) (o []byte, err error) { if z.MetaSys == nil { z.MetaSys = make(map[string][]byte, zb0002) } else if len(z.MetaSys) > 0 { - for key := range z.MetaSys { - delete(z.MetaSys, key) - } + clear(z.MetaSys) } for zb0002 > 0 { - var za0002 string var za0003 []byte zb0002-- + var za0002 string za0002, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err, "MetaSys") @@ -1019,19 +1015,17 @@ func (z *xlMetaV2Object) DecodeMsg(dc *msgp.Reader) (err error) { if z.MetaSys == nil { z.MetaSys = make(map[string][]byte, zb0010) } else if len(z.MetaSys) > 0 { - for key := range z.MetaSys { - delete(z.MetaSys, key) - } + clear(z.MetaSys) } for zb0010 > 0 { zb0010-- var za0009 string - var za0010 []byte za0009, err = dc.ReadString() if err != nil { err = msgp.WrapError(err, "MetaSys") return } + var za0010 []byte za0010, err = dc.ReadBytes(za0010) if err != nil { err = msgp.WrapError(err, "MetaSys", za0009) @@ -1058,19 +1052,17 @@ func (z *xlMetaV2Object) DecodeMsg(dc *msgp.Reader) (err error) { if z.MetaUser == nil { z.MetaUser = make(map[string]string, zb0011) } else if len(z.MetaUser) > 0 { - for key := range z.MetaUser { - delete(z.MetaUser, key) - } + clear(z.MetaUser) } for zb0011 > 0 { zb0011-- var za0011 string - var za0012 string za0011, err = dc.ReadString() if err != nil { err = msgp.WrapError(err, "MetaUser") return } + var za0012 string za0012, err = dc.ReadString() if err != nil { err = msgp.WrapError(err, "MetaUser", za0011) @@ -1738,14 +1730,12 @@ func (z *xlMetaV2Object) UnmarshalMsg(bts []byte) (o []byte, err error) { if z.MetaSys == nil { z.MetaSys = make(map[string][]byte, zb0010) } else if len(z.MetaSys) > 0 { - for key := range z.MetaSys { - delete(z.MetaSys, key) - } + clear(z.MetaSys) } for zb0010 > 0 { - var za0009 string var za0010 []byte zb0010-- + var za0009 string za0009, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err, "MetaSys") @@ -1773,14 +1763,12 @@ func (z *xlMetaV2Object) UnmarshalMsg(bts []byte) (o []byte, err error) { if z.MetaUser == nil { z.MetaUser = make(map[string]string, zb0011) } else if len(z.MetaUser) > 0 { - for key := range z.MetaUser { - delete(z.MetaUser, key) - } + clear(z.MetaUser) } for zb0011 > 0 { - var za0011 string var za0012 string zb0011-- + var za0011 string za0011, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err, "MetaUser") diff --git a/cmd/xl-storage-format-v2_gen_test.go b/cmd/xl-storage-format-v2_gen_test.go index afcc74dae..fa7a66700 100644 --- a/cmd/xl-storage-format-v2_gen_test.go +++ b/cmd/xl-storage-format-v2_gen_test.go @@ -1,7 +1,7 @@ -package cmd - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package cmd + import ( "bytes" "testing" diff --git a/cmd/xl-storage.go b/cmd/xl-storage.go index 12e04e6f5..35d7ac733 100644 --- a/cmd/xl-storage.go +++ b/cmd/xl-storage.go @@ -390,7 +390,7 @@ func getDiskInfo(drivePath string) (di disk.Info, rootDrive bool, err error) { err = errFaultyDisk } - return + return di, rootDrive, err } // Implements stringer compatible interface. @@ -2374,23 +2374,23 @@ func (s *xlStorage) checkPart(volumeDir, path, dataDir string, partNum int, expe if osIsNotExist(verr) { resp = checkPartVolumeNotFound } - return + return resp } } } if osErrToFileErr(err) == errFileNotFound { resp = checkPartFileNotFound } - return + return resp } if st.Mode().IsDir() { resp = checkPartFileNotFound - return + return resp } // Check if shard is truncated. if st.Size() < expectedSize { resp = checkPartFileCorrupt - return + return resp } return checkPartSuccess } diff --git a/docs/debugging/inspect/export.go b/docs/debugging/inspect/export.go index e6fe2fdf2..016a412f6 100644 --- a/docs/debugging/inspect/export.go +++ b/docs/debugging/inspect/export.go @@ -352,33 +352,33 @@ func (z *xlMetaV2VersionHeaderV2) UnmarshalMsg(bts []byte) (o []byte, e error) { zb0001, bts, e = msgp.ReadArrayHeaderBytes(bts) if e != nil { e = msgp.WrapError(e) - return + return o, e } if zb0001 != 5 { e = msgp.ArrayError{Wanted: 5, Got: zb0001} - return + return o, e } bts, e = msgp.ReadExactBytes(bts, (z.VersionID)[:]) if e != nil { e = msgp.WrapError(e, "VersionID") - return + return o, e } z.ModTime, bts, e = msgp.ReadInt64Bytes(bts) if e != nil { e = msgp.WrapError(e, "ModTime") - return + return o, e } bts, e = msgp.ReadExactBytes(bts, (z.Signature)[:]) if e != nil { e = msgp.WrapError(e, "Signature") - return + return o, e } { var zb0002 uint8 zb0002, bts, e = msgp.ReadUint8Bytes(bts) if e != nil { e = msgp.WrapError(e, "Type") - return + return o, e } z.Type = zb0002 } @@ -387,12 +387,12 @@ func (z *xlMetaV2VersionHeaderV2) UnmarshalMsg(bts []byte) (o []byte, e error) { zb0003, bts, e = msgp.ReadUint8Bytes(bts) if e != nil { e = msgp.WrapError(e, "Flags") - return + return o, e } z.Flags = zb0003 } o = bts - return + return o, e } func (z xlMetaV2VersionHeaderV2) MarshalJSON() (o []byte, e error) { diff --git a/docs/debugging/s3-check-md5/main.go b/docs/debugging/s3-check-md5/main.go index de1f1e302..8670b7800 100644 --- a/docs/debugging/s3-check-md5/main.go +++ b/docs/debugging/s3-check-md5/main.go @@ -142,7 +142,7 @@ func main() { if versions { fpath += ":" + obj.VersionID } - return + return fpath } // List all objects from a bucket-name with a matching prefix. diff --git a/docs/debugging/xl-meta/main.go b/docs/debugging/xl-meta/main.go index f25cce17d..23c88d580 100644 --- a/docs/debugging/xl-meta/main.go +++ b/docs/debugging/xl-meta/main.go @@ -735,7 +735,7 @@ func (z *xlMetaV2VersionHeaderV2) UnmarshalMsg(bts []byte, hdrVer uint) (o []byt zb0001, bts, err = msgp.ReadArrayHeaderBytes(bts) if err != nil { err = msgp.WrapError(err) - return + return o, err } want := uint32(5) if hdrVer > 2 { @@ -743,29 +743,29 @@ func (z *xlMetaV2VersionHeaderV2) UnmarshalMsg(bts []byte, hdrVer uint) (o []byt } if zb0001 != want { err = msgp.ArrayError{Wanted: want, Got: zb0001} - return + return o, err } bts, err = msgp.ReadExactBytes(bts, (z.VersionID)[:]) if err != nil { err = msgp.WrapError(err, "VersionID") - return + return o, err } z.ModTime, bts, err = msgp.ReadInt64Bytes(bts) if err != nil { err = msgp.WrapError(err, "ModTime") - return + return o, err } bts, err = msgp.ReadExactBytes(bts, (z.Signature)[:]) if err != nil { err = msgp.WrapError(err, "Signature") - return + return o, err } { var zb0002 uint8 zb0002, bts, err = msgp.ReadUint8Bytes(bts) if err != nil { err = msgp.WrapError(err, "Type") - return + return o, err } z.Type = zb0002 } @@ -774,7 +774,7 @@ func (z *xlMetaV2VersionHeaderV2) UnmarshalMsg(bts []byte, hdrVer uint) (o []byt zb0003, bts, err = msgp.ReadUint8Bytes(bts) if err != nil { err = msgp.WrapError(err, "Flags") - return + return o, err } z.Flags = zb0003 } @@ -785,7 +785,7 @@ func (z *xlMetaV2VersionHeaderV2) UnmarshalMsg(bts []byte, hdrVer uint) (o []byt zb0004, bts, err = msgp.ReadUint8Bytes(bts) if err != nil { err = msgp.WrapError(err, "EcN") - return + return o, err } z.EcN = zb0004 } @@ -794,13 +794,13 @@ func (z *xlMetaV2VersionHeaderV2) UnmarshalMsg(bts []byte, hdrVer uint) (o []byt zb0005, bts, err = msgp.ReadUint8Bytes(bts) if err != nil { err = msgp.WrapError(err, "EcM") - return + return o, err } z.EcM = zb0005 } } o = bts - return + return o, err } func (z xlMetaV2VersionHeaderV2) MarshalJSON() (o []byte, err error) { @@ -1540,7 +1540,7 @@ func bitrot(val []byte, startOffset, shardSize int) ([]byte, error) { func shardSize(blockSize, dataBlocks int) (sz int) { if dataBlocks == 0 { // do nothing on invalid input - return + return sz } // Make denominator positive if dataBlocks < 0 { @@ -1551,7 +1551,7 @@ func shardSize(blockSize, dataBlocks int) (sz int) { if blockSize > 0 && blockSize%dataBlocks != 0 { sz++ } - return + return sz } //nolint:staticcheck diff --git a/go.mod b/go.mod index 2cb568991..7615aebed 100644 --- a/go.mod +++ b/go.mod @@ -73,7 +73,7 @@ require ( github.com/nats-io/stan.go v0.10.4 github.com/ncw/directio v1.0.5 github.com/nsqio/go-nsq v1.1.0 - github.com/philhofer/fwd v1.1.3-0.20240916144458-20a13a1f6b7c + github.com/philhofer/fwd v1.2.0 github.com/pierrec/lz4/v4 v4.1.22 github.com/pkg/errors v0.9.1 github.com/pkg/sftp v1.13.9 @@ -88,7 +88,7 @@ require ( github.com/rs/cors v1.11.1 github.com/secure-io/sio-go v0.3.1 github.com/shirou/gopsutil/v3 v3.24.5 - github.com/tinylib/msgp v1.2.5 + github.com/tinylib/msgp v1.4.0 github.com/valyala/bytebufferpool v1.0.0 github.com/xdg/scram v1.0.5 github.com/zeebo/xxh3 v1.0.2 diff --git a/go.sum b/go.sum index fae13cfc3..1ef381cff 100644 --- a/go.sum +++ b/go.sum @@ -519,8 +519,8 @@ github.com/olekukonko/tablewriter v0.0.5/go.mod h1:hPp6KlRPjbx+hW8ykQs1w3UBbZlj6 github.com/orisano/pixelmatch v0.0.0-20220722002657-fb0b55479cde/go.mod h1:nZgzbfBr3hhjoZnS66nKrHmduYNpc34ny7RK4z5/HM0= github.com/pascaldekloe/goe v0.1.0/go.mod h1:lzWF7FIEvWOWxwDKqyGYQf6ZUaNfKdP144TG7ZOy1lc= github.com/pelletier/go-toml v1.2.0/go.mod h1:5z9KED0ma1S8pY6P1sdut58dfprrGBbd/94hg7ilaic= -github.com/philhofer/fwd v1.1.3-0.20240916144458-20a13a1f6b7c h1:dAMKvw0MlJT1GshSTtih8C2gDs04w8dReiOGXrGLNoY= -github.com/philhofer/fwd v1.1.3-0.20240916144458-20a13a1f6b7c/go.mod h1:RqIHx9QI14HlwKwm98g9Re5prTQ6LdeRQn+gXJFxsJM= +github.com/philhofer/fwd v1.2.0 h1:e6DnBTl7vGY+Gz322/ASL4Gyp1FspeMvx1RNDoToZuM= +github.com/philhofer/fwd v1.2.0/go.mod h1:RqIHx9QI14HlwKwm98g9Re5prTQ6LdeRQn+gXJFxsJM= github.com/pierrec/lz4/v4 v4.1.22 h1:cKFw6uJDK+/gfw5BcDL0JL5aBsAFdsIT18eRtLj7VIU= github.com/pierrec/lz4/v4 v4.1.22/go.mod h1:gZWDp/Ze/IJXGXf23ltt2EXimqmTUXEy0GFuRQyBid4= github.com/pkg/browser v0.0.0-20240102092130-5ac0b6a4141c h1:+mdjkGKdHQG3305AYmdv1U2eRNDiU2ErMBj1gwrq8eQ= @@ -625,8 +625,8 @@ github.com/tidwall/match v1.1.1/go.mod h1:eRSPERbgtNPcGhD8UCthc6PmLEQXEWd3PRB5JT github.com/tidwall/pretty v1.2.0/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= github.com/tidwall/pretty v1.2.1 h1:qjsOFOWWQl+N3RsoF5/ssm1pHmJJwhjlSbZ51I6wMl4= github.com/tidwall/pretty v1.2.1/go.mod h1:ITEVvHYasfjBbM0u2Pg8T2nJnzm8xPwvNhhsoaGGjNU= -github.com/tinylib/msgp v1.2.5 h1:WeQg1whrXRFiZusidTQqzETkRpGjFjcIhW6uqWH09po= -github.com/tinylib/msgp v1.2.5/go.mod h1:ykjzy2wzgrlvpDCRc4LA8UXy6D8bzMSuAF3WD57Gok0= +github.com/tinylib/msgp v1.4.0 h1:SYOeDRiydzOw9kSiwdYp9UcBgPFtLU2WDHaJXyHruf8= +github.com/tinylib/msgp v1.4.0/go.mod h1:cvjFkb4RiC8qSBOPMGPSzSAx47nAsfhLVTCZZNuHv5o= github.com/tklauser/go-sysconf v0.3.15 h1:VE89k0criAymJ/Os65CSn1IXaol+1wrsFHEB8Ol49K4= github.com/tklauser/go-sysconf v0.3.15/go.mod h1:Dmjwr6tYFIseJw7a3dRLJfsHAMXZ3nEnL/aZY+0IuI4= github.com/tklauser/numcpus v0.10.0 h1:18njr6LDBk1zuna922MgdjQuJFjrdppsZG60sHGfjso= diff --git a/internal/arn/arn.go b/internal/arn/arn.go index 274f294eb..4f40748c7 100644 --- a/internal/arn/arn.go +++ b/internal/arn/arn.go @@ -86,40 +86,40 @@ func Parse(arnStr string) (arn ARN, err error) { ps := strings.Split(arnStr, ":") if len(ps) != 6 || ps[0] != string(arnPrefixArn) { err = errors.New("invalid ARN string format") - return + return arn, err } if ps[1] != string(arnPartitionMinio) { err = errors.New("invalid ARN - bad partition field") - return + return arn, err } if ps[2] != string(arnServiceIAM) { err = errors.New("invalid ARN - bad service field") - return + return arn, err } // ps[3] is region and is not validated here. If the region is invalid, // the ARN would not match any configured ARNs in the server. if ps[4] != "" { err = errors.New("invalid ARN - unsupported account-id field") - return + return arn, err } res := strings.SplitN(ps[5], "/", 2) if len(res) != 2 { err = errors.New("invalid ARN - resource does not contain a \"/\"") - return + return arn, err } if res[0] != string(arnResourceTypeRole) { err = errors.New("invalid ARN: resource type is invalid") - return + return arn, err } if !validResourceIDRegex.MatchString(res[1]) { err = fmt.Errorf("invalid resource ID: %s", res[1]) - return + return arn, err } arn = ARN{ @@ -129,5 +129,5 @@ func Parse(arnStr string) (arn ARN, err error) { ResourceType: arnResourceTypeRole, ResourceID: res[1], } - return + return arn, err } diff --git a/internal/bpool/bpool.go b/internal/bpool/bpool.go index c7282f0e0..fc88c3204 100644 --- a/internal/bpool/bpool.go +++ b/internal/bpool/bpool.go @@ -67,7 +67,7 @@ func (bp *BytePoolCap) Get() (b []byte) { // create new aligned buffer b = reedsolomon.AllocAligned(1, bp.wcap)[0][:bp.w] } - return + return b } // Put returns the given Buffer to the BytePool. diff --git a/internal/bucket/bandwidth/monitor_gen.go b/internal/bucket/bandwidth/monitor_gen.go index 40898ef39..4492ca2da 100644 --- a/internal/bucket/bandwidth/monitor_gen.go +++ b/internal/bucket/bandwidth/monitor_gen.go @@ -1,7 +1,7 @@ -package bandwidth - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package bandwidth + import ( "github.com/tinylib/msgp/msgp" ) diff --git a/internal/bucket/bandwidth/monitor_gen_test.go b/internal/bucket/bandwidth/monitor_gen_test.go index 6d439b5fe..9f9c1e569 100644 --- a/internal/bucket/bandwidth/monitor_gen_test.go +++ b/internal/bucket/bandwidth/monitor_gen_test.go @@ -1,7 +1,7 @@ -package bandwidth - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package bandwidth + import ( "bytes" "testing" diff --git a/internal/bucket/bandwidth/reader.go b/internal/bucket/bandwidth/reader.go index da0957677..30cb8559c 100644 --- a/internal/bucket/bandwidth/reader.go +++ b/internal/bucket/bandwidth/reader.go @@ -52,7 +52,7 @@ func (r *MonitoredReader) Read(buf []byte) (n int, err error) { } if r.lastErr != nil { err = r.lastErr - return + return n, err } b := r.throttle.Burst() // maximum available tokens need := len(buf) // number of bytes requested by caller @@ -81,15 +81,15 @@ func (r *MonitoredReader) Read(buf []byte) (n int, err error) { } err = r.throttle.WaitN(r.ctx, tokens) if err != nil { - return + return n, err } n, err = r.r.Read(buf[:need]) if err != nil { r.lastErr = err - return + return n, err } r.m.updateMeasurement(r.opts.BucketOptions, uint64(tokens)) - return + return n, err } // NewMonitoredReader returns reference to a monitored reader that throttles reads to configured bandwidth for the diff --git a/internal/bucket/object/lock/lock.go b/internal/bucket/object/lock/lock.go index b0d929f76..410011b96 100644 --- a/internal/bucket/object/lock/lock.go +++ b/internal/bucket/object/lock/lock.go @@ -587,7 +587,7 @@ func ParseObjectLegalHold(reader io.Reader) (hold *ObjectLegalHold, err error) { if !hold.Status.Valid() { return nil, ErrMalformedXML } - return + return hold, err } // FilterObjectLockMetadata filters object lock metadata if s3:GetObjectRetention permission is denied or if isCopy flag set. diff --git a/internal/bucket/replication/datatypes_gen.go b/internal/bucket/replication/datatypes_gen.go index 058fe655b..3a9c20a82 100644 --- a/internal/bucket/replication/datatypes_gen.go +++ b/internal/bucket/replication/datatypes_gen.go @@ -1,7 +1,7 @@ -package replication - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package replication + import ( "github.com/tinylib/msgp/msgp" ) diff --git a/internal/bucket/replication/datatypes_gen_test.go b/internal/bucket/replication/datatypes_gen_test.go index e3cbaadfa..048f6d7be 100644 --- a/internal/bucket/replication/datatypes_gen_test.go +++ b/internal/bucket/replication/datatypes_gen_test.go @@ -1,3 +1,3 @@ -package replication - // Code generated by github.com/tinylib/msgp DO NOT EDIT. + +package replication diff --git a/internal/config/config.go b/internal/config/config.go index 0b158aebe..20a9f3024 100644 --- a/internal/config/config.go +++ b/internal/config/config.go @@ -453,7 +453,7 @@ func ParseConfigTargetID(r io.Reader) (ids map[string]bool, err error) { if err := scanner.Err(); err != nil { return nil, err } - return + return ids, err } // ReadConfig - read content from input and write into c. @@ -578,7 +578,7 @@ var validSiteNameRegex = regexp.MustCompile("^[a-z][a-z0-9-]+$") // region sub-system as well. func LookupSite(siteKV KVS, regionKV KVS) (s Site, err error) { if err = CheckValidKeys(SiteSubSys, siteKV, DefaultSiteKVS); err != nil { - return + return s, err } region := env.Get(EnvRegion, "") if region == "" { @@ -596,7 +596,7 @@ func LookupSite(siteKV KVS, regionKV KVS) (s Site, err error) { // is legacy, we return an error to tell the user to // reset the region via the new command. err = Errorf("could not load region from legacy configuration as it was invalid - use 'mc admin config set myminio site region=myregion name=myname' to set a region and name (%v)", err) - return + return s, err } region = regionKV.Get(RegionName) @@ -606,7 +606,7 @@ func LookupSite(siteKV KVS, regionKV KVS) (s Site, err error) { err = Errorf( "region '%s' is invalid, expected simple characters such as [us-east-1, myregion...]", region) - return + return s, err } s.region = region } @@ -617,11 +617,11 @@ func LookupSite(siteKV KVS, regionKV KVS) (s Site, err error) { err = Errorf( "site name '%s' is invalid, expected simple characters such as [cal-rack0, myname...]", name) - return + return s, err } s.name = name } - return + return s, err } // CheckValidKeys - checks if inputs KVS has the necessary keys, @@ -1196,13 +1196,13 @@ func (c Config) ResolveConfigParam(subSys, target, cfgParam string, redactSecret // Initially only support OpenID if !resolvableSubsystems.Contains(subSys) { - return + return value, cs, isRedacted } // Check if config param requested is valid. defKVS, ok := DefaultKVS[subSys] if !ok { - return + return value, cs, isRedacted } defValue, isFound := defKVS.Lookup(cfgParam) @@ -1211,7 +1211,7 @@ func (c Config) ResolveConfigParam(subSys, target, cfgParam string, redactSecret defValue, isFound = "", true } if !isFound { - return + return value, cs, isRedacted } if target == "" { @@ -1236,7 +1236,7 @@ func (c Config) ResolveConfigParam(subSys, target, cfgParam string, redactSecret value = env.Get(envVar, "") if value != "" { cs = ValueSourceEnv - return + return value, cs, isRedacted } // Lookup config store. @@ -1246,7 +1246,7 @@ func (c Config) ResolveConfigParam(subSys, target, cfgParam string, redactSecret value, ok3 = kvs.Lookup(cfgParam) if ok3 { cs = ValueSourceCfg - return + return value, cs, isRedacted } } } @@ -1254,7 +1254,7 @@ func (c Config) ResolveConfigParam(subSys, target, cfgParam string, redactSecret // Return the default value. value = defValue cs = ValueSourceDef - return + return value, cs, isRedacted } // KVSrc represents a configuration parameter key and value along with the diff --git a/internal/crypto/sse-c.go b/internal/crypto/sse-c.go index 2b5a0d3bb..2b96fc02c 100644 --- a/internal/crypto/sse-c.go +++ b/internal/crypto/sse-c.go @@ -98,7 +98,7 @@ func (ssec) ParseHTTP(h http.Header) (key [32]byte, err error) { func (s3 ssec) UnsealObjectKey(h http.Header, metadata map[string]string, bucket, object string) (key ObjectKey, err error) { clientKey, err := s3.ParseHTTP(h) if err != nil { - return + return key, err } return unsealObjectKey(clientKey[:], metadata, bucket, object) } diff --git a/internal/crypto/sse.go b/internal/crypto/sse.go index 40e4b4b1f..e0daf750c 100644 --- a/internal/crypto/sse.go +++ b/internal/crypto/sse.go @@ -81,7 +81,7 @@ func Requested(h http.Header) bool { func (sse ssecCopy) UnsealObjectKey(h http.Header, metadata map[string]string, bucket, object string) (key ObjectKey, err error) { clientKey, err := sse.ParseHTTP(h) if err != nil { - return + return key, err } return unsealObjectKey(clientKey[:], metadata, bucket, object) } @@ -91,10 +91,10 @@ func (sse ssecCopy) UnsealObjectKey(h http.Header, metadata map[string]string, b func unsealObjectKey(clientKey []byte, metadata map[string]string, bucket, object string) (key ObjectKey, err error) { sealedKey, err := SSEC.ParseMetadata(metadata) if err != nil { - return + return key, err } err = key.Unseal(clientKey, sealedKey, SSEC.String(), bucket, object) - return + return key, err } // EncryptSinglePart encrypts an io.Reader which must be the diff --git a/internal/disk/stat_linux.go b/internal/disk/stat_linux.go index 33f757022..390cdcede 100644 --- a/internal/disk/stat_linux.go +++ b/internal/disk/stat_linux.go @@ -146,7 +146,7 @@ func readDriveStats(statsFile string) (iostats IOStats, err error) { iostats.DiscardSectors = stats[13] iostats.DiscardTicks = stats[14] } - return + return iostats, err } func readStat(fileName string) (stats []uint64, err error) { diff --git a/internal/dsync/drwmutex_test.go b/internal/dsync/drwmutex_test.go index 64e844d04..78d37b4e8 100644 --- a/internal/dsync/drwmutex_test.go +++ b/internal/dsync/drwmutex_test.go @@ -69,7 +69,7 @@ func testSimpleWriteLock(t *testing.T, duration time.Duration) (locked bool) { drwm3.Unlock(t.Context()) } // fmt.Println("Write lock failed due to timeout") - return + return locked } func TestSimpleWriteLockAcquired(t *testing.T) { @@ -116,7 +116,7 @@ func testDualWriteLock(t *testing.T, duration time.Duration) (locked bool) { drwm2.Unlock(t.Context()) } // fmt.Println("2nd write lock failed due to timeout") - return + return locked } func TestDualWriteLockAcquired(t *testing.T) { diff --git a/internal/dsync/lock-args_gen.go b/internal/dsync/lock-args_gen.go index 2bb70fbb3..98a5fe3e3 100644 --- a/internal/dsync/lock-args_gen.go +++ b/internal/dsync/lock-args_gen.go @@ -1,7 +1,7 @@ -package dsync - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package dsync + import ( "github.com/tinylib/msgp/msgp" ) diff --git a/internal/dsync/lock-args_gen_test.go b/internal/dsync/lock-args_gen_test.go index d94a51525..c5de2cc08 100644 --- a/internal/dsync/lock-args_gen_test.go +++ b/internal/dsync/lock-args_gen_test.go @@ -1,7 +1,7 @@ -package dsync - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package dsync + import ( "bytes" "testing" diff --git a/internal/dsync/locked_rand.go b/internal/dsync/locked_rand.go index 4c728ba43..680b73842 100644 --- a/internal/dsync/locked_rand.go +++ b/internal/dsync/locked_rand.go @@ -33,7 +33,7 @@ func (r *lockedRandSource) Int63() (n int64) { r.lk.Lock() n = r.src.Int63() r.lk.Unlock() - return + return n } // Seed uses the provided seed value to initialize the generator to a diff --git a/internal/event/target/elasticsearch.go b/internal/event/target/elasticsearch.go index 5600b750a..9cdd861bb 100644 --- a/internal/event/target/elasticsearch.go +++ b/internal/event/target/elasticsearch.go @@ -81,13 +81,13 @@ func getESVersionSupportStatus(version string) (res ESSupportStatus, err error) parts := strings.Split(version, ".") if len(parts) < 1 { err = fmt.Errorf("bad ES version string: %s", version) - return + return res, err } majorVersion, err := strconv.Atoi(parts[0]) if err != nil { err = fmt.Errorf("bad ES version string: %s", version) - return + return res, err } switch { @@ -96,7 +96,7 @@ func getESVersionSupportStatus(version string) (res ESSupportStatus, err error) default: res = ESSSupported } - return + return res, err } // magic HH-256 key as HH-256 hash of the first 100 decimals of π as utf-8 string with a zero key. diff --git a/internal/event/target/kafka_scram_client_contrib.go b/internal/event/target/kafka_scram_client_contrib.go index be8eaceaa..a60272083 100644 --- a/internal/event/target/kafka_scram_client_contrib.go +++ b/internal/event/target/kafka_scram_client_contrib.go @@ -77,7 +77,7 @@ func (x *XDGSCRAMClient) Begin(userName, password, authzID string) (err error) { // completes is also an error. func (x *XDGSCRAMClient) Step(challenge string) (response string, err error) { response, err = x.ClientConversation.Step(challenge) - return + return response, err } // Done returns true if the conversation is completed or has errored. diff --git a/internal/grid/debug.go b/internal/grid/debug.go index 6278eb754..f80559f3f 100644 --- a/internal/grid/debug.go +++ b/internal/grid/debug.go @@ -154,7 +154,7 @@ func getHosts(n int) (hosts []string, listeners []net.Listener, err error) { hosts = append(hosts, "http://"+addr.String()) listeners = append(listeners, l) } - return + return hosts, listeners, err } func startHTTPServer(listener net.Listener, handler http.Handler) (server *httptest.Server) { diff --git a/internal/grid/grid_types_msgp_test.go b/internal/grid/grid_types_msgp_test.go index 7252ae360..6ac8a6ddd 100644 --- a/internal/grid/grid_types_msgp_test.go +++ b/internal/grid/grid_types_msgp_test.go @@ -1,7 +1,7 @@ -package grid - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package grid + import ( "github.com/tinylib/msgp/msgp" ) diff --git a/internal/grid/msg_gen.go b/internal/grid/msg_gen.go index c51e92969..aff7a2bf8 100644 --- a/internal/grid/msg_gen.go +++ b/internal/grid/msg_gen.go @@ -1,7 +1,7 @@ -package grid - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package grid + import ( "github.com/tinylib/msgp/msgp" ) diff --git a/internal/grid/msg_gen_test.go b/internal/grid/msg_gen_test.go index 6bade39e0..7e5574af4 100644 --- a/internal/grid/msg_gen_test.go +++ b/internal/grid/msg_gen_test.go @@ -1,7 +1,7 @@ -package grid - // Code generated by github.com/tinylib/msgp DO NOT EDIT. +package grid + import ( "bytes" "testing" diff --git a/internal/grid/muxclient.go b/internal/grid/muxclient.go index 0f9ca9de2..769f0854e 100644 --- a/internal/grid/muxclient.go +++ b/internal/grid/muxclient.go @@ -623,7 +623,7 @@ func (m *muxClient) addResponse(r Response) (ok bool) { default: if m.stateless { // Drop message if not stateful. - return + return ok } err := errors.New("INTERNAL ERROR: Response was blocked") gridLogIf(m.ctx, err) diff --git a/internal/grid/types.go b/internal/grid/types.go index d0ad7d340..a16f47566 100644 --- a/internal/grid/types.go +++ b/internal/grid/types.go @@ -74,7 +74,7 @@ func (m *MSS) UnmarshalMsg(bts []byte) (o []byte, err error) { zb0002, bts, err = msgp.ReadMapHeaderBytes(bts) if err != nil { err = msgp.WrapError(err, "Values") - return + return o, err } dst := *m if dst == nil { @@ -91,12 +91,12 @@ func (m *MSS) UnmarshalMsg(bts []byte) (o []byte, err error) { za0001, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err, "Values") - return + return o, err } za0002, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err, "Values", za0001) - return + return o, err } dst[za0001] = za0002 } @@ -329,7 +329,7 @@ func (u URLValues) MarshalMsg(b []byte) (o []byte, err error) { o = msgp.AppendString(o, zb0007[zb0008]) } } - return + return o, err } // UnmarshalMsg implements msgp.Unmarshaler @@ -338,7 +338,7 @@ func (u *URLValues) UnmarshalMsg(bts []byte) (o []byte, err error) { zb0004, bts, err = msgp.ReadMapHeaderBytes(bts) if err != nil { err = msgp.WrapError(err) - return + return o, err } if *u == nil { *u = urlValuesPool.Get() @@ -356,13 +356,13 @@ func (u *URLValues) UnmarshalMsg(bts []byte) (o []byte, err error) { zb0001, bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err) - return + return o, err } var zb0005 uint32 zb0005, bts, err = msgp.ReadArrayHeaderBytes(bts) if err != nil { err = msgp.WrapError(err, zb0001) - return + return o, err } if cap(zb0002) >= int(zb0005) { zb0002 = zb0002[:zb0005] @@ -373,13 +373,13 @@ func (u *URLValues) UnmarshalMsg(bts []byte) (o []byte, err error) { zb0002[zb0003], bts, err = msgp.ReadStringBytes(bts) if err != nil { err = msgp.WrapError(err, zb0001, zb0003) - return + return o, err } } (*u)[zb0001] = zb0002 } o = bts - return + return o, err } // Msgsize returns an upper bound estimate of the number of bytes occupied by the serialized message @@ -393,7 +393,7 @@ func (u URLValues) Msgsize() (s int) { } } - return + return s } // JSONPool is a pool for JSON objects that unmarshal into T. diff --git a/internal/http/dial_dnscache.go b/internal/http/dial_dnscache.go index 3acf4c149..c48512022 100644 --- a/internal/http/dial_dnscache.go +++ b/internal/http/dial_dnscache.go @@ -75,6 +75,6 @@ func DialContextWithLookupHost(lookupHost LookupHost, baseDialCtx DialContext) D } } - return + return conn, err } } diff --git a/internal/http/listener.go b/internal/http/listener.go index 8d6341468..bc6de3af9 100644 --- a/internal/http/listener.go +++ b/internal/http/listener.go @@ -172,7 +172,7 @@ func newHTTPListener(ctx context.Context, serverAddrs []string, opts TCPOptions) if len(listeners) == 0 { // No listeners initialized, no need to continue - return + return listener, listenErrs } listeners = slices.Clip(listeners) @@ -187,5 +187,5 @@ func newHTTPListener(ctx context.Context, serverAddrs []string, opts TCPOptions) opts.Trace(fmt.Sprintf("opening %d listeners", len(listener.listeners))) listener.start() - return + return listener, listenErrs } diff --git a/internal/http/server.go b/internal/http/server.go index aa6201fd5..2934fda6c 100644 --- a/internal/http/server.go +++ b/internal/http/server.go @@ -132,7 +132,7 @@ func (srv *Server) Init(listenCtx context.Context, listenErrCallback func(listen return srv.Serve(l) } - return + return serve, err } // Shutdown - shuts down HTTP server. diff --git a/internal/ioutil/hardlimitreader.go b/internal/ioutil/hardlimitreader.go index 7415be6b7..3f37a294a 100644 --- a/internal/ioutil/hardlimitreader.go +++ b/internal/ioutil/hardlimitreader.go @@ -52,5 +52,5 @@ func (l *HardLimitedReader) Read(p []byte) (n int, err error) { if l.N < 0 { return 0, ErrOverread } - return + return n, err } diff --git a/internal/jwt/parser.go b/internal/jwt/parser.go index a8e2fd0b0..1a4ddb44a 100644 --- a/internal/jwt/parser.go +++ b/internal/jwt/parser.go @@ -271,7 +271,7 @@ func (c *MapClaims) Lookup(key string) (value string, ok bool) { if ok { value, ok = vinterface.(string) } - return + return value, ok } // SetExpiry sets expiry in unix epoch secs diff --git a/internal/lock/lock_windows.go b/internal/lock/lock_windows.go index 57bc2f533..6d97d6d00 100644 --- a/internal/lock/lock_windows.go +++ b/internal/lock/lock_windows.go @@ -257,5 +257,5 @@ func lockFileEx(h syscall.Handle, flags, locklow, lockhigh uint32, ol *syscall.O err = syscall.EINVAL } } - return + return err } diff --git a/internal/logger/target/kafka/kafka.go b/internal/logger/target/kafka/kafka.go index 0baed1363..4720f85d2 100644 --- a/internal/logger/target/kafka/kafka.go +++ b/internal/logger/target/kafka/kafka.go @@ -178,7 +178,7 @@ func (h *Target) initQueueStore(ctx context.Context) (err error) { h.store = queueStore h.storeCtxCancel = cancel store.StreamItems(h.store, h, ctx.Done(), h.kconfig.LogOnce) - return + return err } func (h *Target) startKafkaLogger() { @@ -355,7 +355,7 @@ func (h *Target) SendFromStore(key store.Key) (err error) { err = h.send(auditEntry) if err != nil { atomic.AddInt64(&h.failedMessages, 1) - return + return err } // Delete the event from store. return h.store.Del(key) diff --git a/internal/logger/target/kafka/kafka_scram_client_contrib.go b/internal/logger/target/kafka/kafka_scram_client_contrib.go index e012c3497..1c90d40f2 100644 --- a/internal/logger/target/kafka/kafka_scram_client_contrib.go +++ b/internal/logger/target/kafka/kafka_scram_client_contrib.go @@ -78,7 +78,7 @@ func (x *XDGSCRAMClient) Begin(userName, password, authzID string) (err error) { // completes is also an error. func (x *XDGSCRAMClient) Step(challenge string) (response string, err error) { response, err = x.ClientConversation.Step(challenge) - return + return response, err } // Done returns true if the conversation is completed or has errored. diff --git a/internal/logger/targets.go b/internal/logger/targets.go index 16df63f51..774237e1d 100644 --- a/internal/logger/targets.go +++ b/internal/logger/targets.go @@ -170,7 +170,7 @@ func splitTargets(targets []Target, t types.TargetType) (group1 []Target, group2 group2 = append(group2, target) } } - return + return group1, group2 } func cancelTargets(targets []Target) { diff --git a/internal/lsync/lrwmutex_test.go b/internal/lsync/lrwmutex_test.go index 96dbe1151..076c52ade 100644 --- a/internal/lsync/lrwmutex_test.go +++ b/internal/lsync/lrwmutex_test.go @@ -65,7 +65,7 @@ func testSimpleWriteLock(t *testing.T, duration time.Duration) (locked bool) { } else { t.Log("Write lock failed due to timeout") } - return + return locked } func TestSimpleWriteLockAcquired(t *testing.T) { @@ -111,7 +111,7 @@ func testDualWriteLock(t *testing.T, duration time.Duration) (locked bool) { } else { t.Log("2nd write lock failed due to timeout") } - return + return locked } func TestDualWriteLockAcquired(t *testing.T) { diff --git a/internal/rest/client.go b/internal/rest/client.go index aba96aaa5..e115bdc57 100644 --- a/internal/rest/client.go +++ b/internal/rest/client.go @@ -210,13 +210,13 @@ type respBodyMonitor struct { func (r *respBodyMonitor) Read(p []byte) (n int, err error) { n, err = r.ReadCloser.Read(p) r.errorStatus(err) - return + return n, err } func (r *respBodyMonitor) Close() (err error) { err = r.ReadCloser.Close() r.errorStatus(err) - return + return err } func (r *respBodyMonitor) errorStatus(err error) { diff --git a/internal/ringbuffer/ring_buffer.go b/internal/ringbuffer/ring_buffer.go index 42e5cf1bc..b8472af5c 100644 --- a/internal/ringbuffer/ring_buffer.go +++ b/internal/ringbuffer/ring_buffer.go @@ -196,7 +196,7 @@ func (r *RingBuffer) read(p []byte) (n int, err error) { n = min(r.w-r.r, len(p)) copy(p, r.buf[r.r:r.r+n]) r.r = (r.r + n) % r.size - return + return n, err } n = min(r.size-r.r+r.w, len(p)) diff --git a/internal/s3select/sql/analysis.go b/internal/s3select/sql/analysis.go index 537fc7292..881d4e289 100644 --- a/internal/s3select/sql/analysis.go +++ b/internal/s3select/sql/analysis.go @@ -79,7 +79,7 @@ func (e *SelectExpression) analyze(s *Select) (result qProp) { for _, ex := range e.Expressions { result.combine(ex.analyze(s)) } - return + return result } func (e *AliasedExpression) analyze(s *Select) qProp { @@ -90,14 +90,14 @@ func (e *Expression) analyze(s *Select) (result qProp) { for _, ac := range e.And { result.combine(ac.analyze(s)) } - return + return result } func (e *AndCondition) analyze(s *Select) (result qProp) { for _, ac := range e.Condition { result.combine(ac.analyze(s)) } - return + return result } func (e *Condition) analyze(s *Select) (result qProp) { @@ -106,14 +106,14 @@ func (e *Condition) analyze(s *Select) (result qProp) { } else { result = e.Not.analyze(s) } - return + return result } func (e *ListExpr) analyze(s *Select) (result qProp) { for _, ac := range e.Elements { result.combine(ac.analyze(s)) } - return + return result } func (e *ConditionOperand) analyze(s *Select) (result qProp) { @@ -123,7 +123,7 @@ func (e *ConditionOperand) analyze(s *Select) (result qProp) { result.combine(e.Operand.analyze(s)) result.combine(e.ConditionRHS.analyze(s)) } - return + return result } func (e *ConditionRHS) analyze(s *Select) (result qProp) { @@ -143,7 +143,7 @@ func (e *ConditionRHS) analyze(s *Select) (result qProp) { default: result = qProp{err: errUnexpectedInvalidNode} } - return + return result } func (e *In) analyze(s *Select) (result qProp) { @@ -153,7 +153,7 @@ func (e *In) analyze(s *Select) (result qProp) { if len(e.JPathExpr.PathExpr) > 0 { if e.JPathExpr.BaseKey.String() != s.From.As && !strings.EqualFold(e.JPathExpr.BaseKey.String(), baseTableName) { result = qProp{err: errInvalidKeypath} - return + return result } } result = qProp{isRowFunc: true} @@ -162,7 +162,7 @@ func (e *In) analyze(s *Select) (result qProp) { default: result = qProp{err: errUnexpectedInvalidNode} } - return + return result } func (e *Operand) analyze(s *Select) (result qProp) { @@ -170,7 +170,7 @@ func (e *Operand) analyze(s *Select) (result qProp) { for _, r := range e.Right { result.combine(r.Right.analyze(s)) } - return + return result } func (e *MultOp) analyze(s *Select) (result qProp) { @@ -178,7 +178,7 @@ func (e *MultOp) analyze(s *Select) (result qProp) { for _, r := range e.Right { result.combine(r.Right.analyze(s)) } - return + return result } func (e *UnaryTerm) analyze(s *Select) (result qProp) { @@ -187,7 +187,7 @@ func (e *UnaryTerm) analyze(s *Select) (result qProp) { } else { result = e.Primary.analyze(s) } - return + return result } func (e *PrimaryTerm) analyze(s *Select) (result qProp) { @@ -200,7 +200,7 @@ func (e *PrimaryTerm) analyze(s *Select) (result qProp) { if len(e.JPathExpr.PathExpr) > 0 { if e.JPathExpr.BaseKey.String() != s.From.As && !strings.EqualFold(e.JPathExpr.BaseKey.String(), baseTableName) { result = qProp{err: errInvalidKeypath} - return + return result } } result = qProp{isRowFunc: true} @@ -217,7 +217,7 @@ func (e *PrimaryTerm) analyze(s *Select) (result qProp) { default: result = qProp{err: errUnexpectedInvalidNode} } - return + return result } func (e *FuncExpr) analyze(s *Select) (result qProp) { diff --git a/internal/s3select/sql/funceval.go b/internal/s3select/sql/funceval.go index 44ffd2069..974130cc0 100644 --- a/internal/s3select/sql/funceval.go +++ b/internal/s3select/sql/funceval.go @@ -91,7 +91,7 @@ func (e *FuncExpr) evalSQLFnNode(r Record, tableAlias string) (res *Value, err e case sqlFnCast: expr := e.Cast.Expr res, err = expr.castTo(r, strings.ToUpper(e.Cast.CastType), tableAlias) - return + return res, err case sqlFnSubstring: return handleSQLSubstring(r, e.Substring, tableAlias) diff --git a/internal/s3select/sql/statement.go b/internal/s3select/sql/statement.go index d721c2b3e..fd08626cd 100644 --- a/internal/s3select/sql/statement.go +++ b/internal/s3select/sql/statement.go @@ -57,7 +57,7 @@ func ParseSelectStatement(s string) (stmt SelectStatement, err error) { err = SQLParser.ParseString(s, &selectAST) if err != nil { err = errQueryParseFailure(err) - return + return stmt, err } // Check if select is "SELECT s.* from S3Object s" @@ -80,7 +80,7 @@ func ParseSelectStatement(s string) (stmt SelectStatement, err error) { stmt.limitValue, err = parseLimit(selectAST.Limit) if err != nil { err = errQueryAnalysisFailure(err) - return + return stmt, err } // Analyze where clause @@ -88,19 +88,19 @@ func ParseSelectStatement(s string) (stmt SelectStatement, err error) { whereQProp := selectAST.Where.analyze(&selectAST) if whereQProp.err != nil { err = errQueryAnalysisFailure(fmt.Errorf("Where clause error: %w", whereQProp.err)) - return + return stmt, err } if whereQProp.isAggregation { err = errQueryAnalysisFailure(errors.New("WHERE clause cannot have an aggregation")) - return + return stmt, err } } // Validate table name err = validateTableName(selectAST.From) if err != nil { - return + return stmt, err } // Analyze main select expression @@ -120,7 +120,7 @@ func ParseSelectStatement(s string) (stmt SelectStatement, err error) { } } } - return + return stmt, err } func validateTableName(from *TableExpression) error { diff --git a/internal/s3select/sql/timestampfuncs.go b/internal/s3select/sql/timestampfuncs.go index d652275f5..ef7022f3a 100644 --- a/internal/s3select/sql/timestampfuncs.go +++ b/internal/s3select/sql/timestampfuncs.go @@ -46,7 +46,7 @@ func parseSQLTimestamp(s string) (t time.Time, err error) { break } } - return + return t, err } // FormatSQLTimestamp - returns the a string representation of the diff --git a/internal/s3select/sql/value.go b/internal/s3select/sql/value.go index 24bb84f90..b2f341cd2 100644 --- a/internal/s3select/sql/value.go +++ b/internal/s3select/sql/value.go @@ -175,13 +175,13 @@ func (v Value) ToFloat() (val float64, ok bool) { // ToInt returns the value if int. func (v Value) ToInt() (val int64, ok bool) { val, ok = v.value.(int64) - return + return val, ok } // ToString returns the value if string. func (v Value) ToString() (val string, ok bool) { val, ok = v.value.(string) - return + return val, ok } // Equals returns whether the values strictly match. @@ -220,25 +220,25 @@ func (v Value) SameTypeAs(b Value) (ok bool) { // conversion succeeded. func (v Value) ToBool() (val bool, ok bool) { val, ok = v.value.(bool) - return + return val, ok } // ToTimestamp returns the timestamp value if present. func (v Value) ToTimestamp() (t time.Time, ok bool) { t, ok = v.value.(time.Time) - return + return t, ok } // ToBytes returns the value if byte-slice. func (v Value) ToBytes() (val []byte, ok bool) { val, ok = v.value.([]byte) - return + return val, ok } // ToArray returns the value if it is a slice of values. func (v Value) ToArray() (val []Value, ok bool) { val, ok = v.value.([]Value) - return + return val, ok } // IsNull - checks if value is missing. @@ -393,7 +393,7 @@ func (v *Value) InferBytesType() (err error) { } // Fallback to string v.setString(asString) - return + return err } // When numeric types are compared, type promotions could happen. If diff --git a/internal/store/queuestore.go b/internal/store/queuestore.go index ea7124c4c..673e19c62 100644 --- a/internal/store/queuestore.go +++ b/internal/store/queuestore.go @@ -151,7 +151,7 @@ func (store *QueueStore[I]) multiWrite(key Key, items []I) (err error) { // Increment the item count. store.entries[key.String()] = time.Now().UnixNano() - return + return err } // write - writes an item to the directory. @@ -235,7 +235,7 @@ func (store *QueueStore[I]) GetRaw(key Key) (raw []byte, err error) { raw, err = os.ReadFile(filepath.Join(store.directory, key.String())) if err != nil { - return + return raw, err } if len(raw) == 0 { @@ -246,7 +246,7 @@ func (store *QueueStore[I]) GetRaw(key Key) (raw []byte, err error) { raw, err = s2.Decode(nil, raw) } - return + return raw, err } // Get - gets an item from the store. @@ -274,7 +274,7 @@ func (store *QueueStore[I]) GetMultiple(key Key) (items []I, err error) { items = append(items, item) } - return + return items, err } // Del - Deletes an entry from the store. diff --git a/internal/store/store.go b/internal/store/store.go index d5dd80b53..eab1c875e 100644 --- a/internal/store/store.go +++ b/internal/store/store.go @@ -86,7 +86,7 @@ func getItemCount(k string) (count int, err error) { if len(v) == 2 { return strconv.Atoi(v[0]) } - return + return count, err } func parseKey(k string) (key Key) { @@ -102,7 +102,7 @@ func parseKey(k string) (key Key) { key.Extension = "." + vals[1] key.Name = strings.TrimSuffix(key.Name, key.Extension) } - return + return key } // replayItems - Reads the items from the store and replays.