minio/cmd
Andreas Auernhammer d4b822d697
pkg/etag: add new package for S3 ETag handling (#11577)
This commit adds a new package `etag` for dealing
with S3 ETags.

Even though ETag is often viewed as MD5 checksum of
an object, handling S3 ETags correctly is a surprisingly
complex task. While it is true that the ETag corresponds
to the MD5 for the most basic S3 API operations, there are
many exceptions in case of multipart uploads or encryption.

In worse, some S3 clients expect very specific behavior when
it comes to ETags. For example, some clients expect that the
ETag is a double-quoted string and fail otherwise.
Non-AWS compliant ETag handling has been a source of many bugs
in the past.

Therefore, this commit adds a dedicated `etag` package that provides
functionality for parsing, generating and converting S3 ETags.
Further, this commit removes the ETag computation from the `hash`
package. Instead, the `hash` package (i.e. `hash.Reader`) should
focus only on computing and verifying the content-sha256.

One core feature of this commit is to provide a mechanism to
communicate a computed ETag from a low-level `io.Reader` to
a high-level `io.Reader`.

This problem occurs when an S3 server receives a request and
has to compute the ETag of the content. However, the server
may also wrap the initial body with several other `io.Reader`,
e.g. when encrypting or compressing the content:
```
   reader := Encrypt(Compress(ETag(content)))
```
In such a case, the ETag should be accessible by the high-level
`io.Reader`.

The `etag` provides a mechanism to wrap `io.Reader` implementations
such that the `ETag` can be accessed by a type-check.
This technique is applied to the PUT, COPY and Upload handlers.
2021-02-23 12:31:53 -08:00
..
config LDAP config: fix substitution variables (#11586) 2021-02-22 13:20:36 -08:00
crypto crypto: add support for decrypting SSE-KMS metadata (#11415) 2021-02-03 15:19:08 -08:00
gateway pkg/etag: add new package for S3 ETag handling (#11577) 2021-02-23 12:31:53 -08:00
http turn off http2 for TLS setups for now (#11523) 2021-02-11 15:53:04 -08:00
jwt fix: send valid claims in AuditLogs for browser requests (#9713) 2020-05-27 12:38:44 -07:00
logger fix: rename crawler as scanner in config (#11549) 2021-02-17 12:04:11 -08:00
rest fix: align atomic variables for 32bit arch (#11475) 2021-02-08 08:51:12 -08:00
testdata fix: enable xl.json to xl.meta only if legacy drive is found (#11255) 2021-01-11 02:27:04 -08:00
acl-handlers.go audit: per object send pool number, set number and servers per operation (#11233) 2021-01-26 13:21:51 -08:00
admin-bucket-handlers.go fix: replication regression due to proxying requests (#11356) 2021-01-27 11:22:34 -08:00
admin-handlers_test.go rename last remaining Zone->Pool 2021-01-26 20:47:42 -08:00
admin-handlers-config-kv.go audit: per object send pool number, set number and servers per operation (#11233) 2021-01-26 13:21:51 -08:00
admin-handlers-users.go fix: allow accountInfo with creds with parentUsers (#11568) 2021-02-17 20:57:17 -08:00
admin-handlers.go metrics: Add the number of requests in the waiting queue (#11580) 2021-02-20 00:21:55 -08:00
admin-heal-ops.go fix: faster healing when disk is replaced. (#11520) 2021-02-18 11:06:54 -08:00
admin-router.go fix: support IAM policy handling for wildcard actions (#11530) 2021-02-12 23:05:09 -08:00
admin-server-info.go remove network calls for getLocalDisks (#11603) 2021-02-22 13:19:44 -08:00
api-datatypes.go fix: avoid sending errors on missing objects on locked buckets (#10994) 2020-11-28 21:15:45 -08:00
api-errors_test.go Move etcd, logger, crypto into their own packages (#8366) 2019-10-08 11:17:56 +05:30
api-errors.go fix: LoginSTS should be an inline implementation (#11337) 2021-01-25 10:15:03 -08:00
api-headers_test.go Replace Minio refs in docs with MinIO and links (#7494) 2019-04-09 11:39:42 -07:00
api-headers.go lifecycle:Fix args passed to determine expiry header (#11567) 2021-02-17 19:25:19 -08:00
api-resources_test.go Increase maximum 1000 List keys to 10000 (#8444) 2019-10-28 10:36:15 -07:00
api-resources.go listV2: Continuation and NextContinuation tokens are encoded with base64 (#8337) 2019-10-02 01:39:29 +05:30
api-response_test.go fix: obtain correct location string with DNS style buckets (#10060) 2020-07-16 13:28:29 -07:00
api-response.go fix: replication metadata comparsion and other fixes (#11410) 2021-02-03 20:41:33 -08:00
api-router.go feat: Small object optimization read data in single bulk call (#11207) 2021-01-03 11:27:57 -08:00
api-utils_test.go Make Encoding URL more compliant to S3 spec (#7360) 2019-04-12 12:02:37 -07:00
api-utils.go Make Encoding URL more compliant to S3 spec (#7360) 2019-04-12 12:02:37 -07:00
auth-handler_test.go Profiling does not required object layer to be initialized (#11133) 2020-12-18 11:51:15 -08:00
auth-handler.go pkg/etag: add new package for S3 ETag handling (#11577) 2021-02-23 12:31:53 -08:00
background-heal-ops.go honor maxWait heal config when maxIO hits (#11338) 2021-01-25 07:53:12 -08:00
background-newdisks-heal-ops_gen_test.go add '.healing.bin' for tracking currently healing disk (#10573) 2020-09-28 19:39:32 -07:00
background-newdisks-heal-ops_gen.go add '.healing.bin' for tracking currently healing disk (#10573) 2020-09-28 19:39:32 -07:00
background-newdisks-heal-ops.go fix: faster healing when disk is replaced. (#11520) 2021-02-18 11:06:54 -08:00
benchmark-utils_test.go avoid a crash in crawler when lifecycle is not initialized (#11170) 2020-12-26 22:58:06 -08:00
bitrot_test.go fix: readData in bulk call using messagepack byte wrappers (#11228) 2021-01-07 19:27:31 -08:00
bitrot-streaming.go fix: trigger heal if one of the parts are not found (#11358) 2021-01-27 10:21:14 -08:00
bitrot-whole.go fix: ignore faulty drives and continue (#10511) 2020-09-18 12:09:05 -07:00
bitrot.go fix: readData in bulk call using messagepack byte wrappers (#11228) 2021-01-07 19:27:31 -08:00
bootstrap-peer-server.go rename server sets to server pools 2020-12-01 13:50:33 -08:00
bucket-encryption_test.go Add support for bucket encryption feature (#8890) 2020-02-05 15:12:34 +05:30
bucket-encryption-handlers.go audit: per object send pool number, set number and servers per operation (#11233) 2021-01-26 13:21:51 -08:00
bucket-encryption.go remove safeMode behavior in startup (#10645) 2020-10-09 09:59:52 -07:00
bucket-handlers_test.go avoid a crash in crawler when lifecycle is not initialized (#11170) 2020-12-26 22:58:06 -08:00
bucket-handlers.go pkg/etag: add new package for S3 ETag handling (#11577) 2021-02-23 12:31:53 -08:00
bucket-lifecycle-handlers_test.go feat: Add notification support for bucketCreates and removal (#10075) 2020-07-20 12:52:49 -07:00
bucket-lifecycle-handlers.go audit: per object send pool number, set number and servers per operation (#11233) 2021-01-26 13:21:51 -08:00
bucket-lifecycle.go pkg/etag: add new package for S3 ETag handling (#11577) 2021-02-23 12:31:53 -08:00
bucket-listobjects-handlers.go fix: metacache should only rename entries during cleanup (#11503) 2021-02-11 10:22:03 -08:00
bucket-metadata_gen_test.go migrate all bucket metadata into a single file (#9586) 2020-05-19 13:53:54 -07:00
bucket-metadata_gen.go Encrypt remote target if kms is configured (#11034) 2020-12-21 16:21:33 -08:00
bucket-metadata-sys.go tests: Fix occasional data race (#11223) 2021-01-05 10:45:26 -08:00
bucket-metadata.go Encrypt remote target if kms is configured (#11034) 2020-12-21 16:21:33 -08:00
bucket-notification-handlers.go audit: per object send pool number, set number and servers per operation (#11233) 2021-01-26 13:21:51 -08:00
bucket-object-lock.go Ignore ObjectNotFound errors in delete api while enforcing locking (#11114) 2020-12-15 11:15:49 -08:00
bucket-policy-handlers_test.go feat: Add notification support for bucketCreates and removal (#10075) 2020-07-20 12:52:49 -07:00
bucket-policy-handlers.go audit: per object send pool number, set number and servers per operation (#11233) 2021-01-26 13:21:51 -08:00
bucket-policy.go support 'ldap:user' variable replacement properly (#10391) 2020-09-01 12:26:22 +05:30
bucket-quota.go remove safeMode behavior in startup (#10645) 2020-10-09 09:59:52 -07:00
bucket-replication.go fix: ETag mismatch for large upload in replica (#11587) 2021-02-20 00:22:17 -08:00
bucket-targets.go honor region specified for remote targets (#11480) 2021-02-08 08:54:27 -08:00
bucket-versioning-handler.go audit: per object send pool number, set number and servers per operation (#11233) 2021-01-26 13:21:51 -08:00
bucket-versioning.go tests: Fix occasional data race (#11223) 2021-01-05 10:45:26 -08:00
build-constants.go Add support for minioreleaser a fork for goreleaser (#9890) 2020-06-22 08:26:40 -07:00
common-main.go fix: rename crawler as scanner in config (#11549) 2021-02-17 12:04:11 -08:00
config-common.go pkg/etag: add new package for S3 ETag handling (#11577) 2021-02-23 12:31:53 -08:00
config-current_test.go Revert "Support variable server sets (#10314)" 2020-12-01 12:02:29 -08:00
config-current.go fix: rename crawler as scanner in config (#11549) 2021-02-17 12:04:11 -08:00
config-dir.go fix: unwrapping issues with os.Is* functions (#10949) 2020-11-23 08:36:49 -08:00
config-encrypted_test.go Config migration should handle plain-text (#8506) 2019-11-11 12:01:21 -08:00
config-encrypted.go feat: migrate to ROOT_USER/PASSWORD from ACCESS/SECRET_KEY (#11185) 2021-01-05 10:22:57 -08:00
config-migrate_test.go Revert "Support variable server sets (#10314)" 2020-12-01 12:02:29 -08:00
config-migrate.go Revert "Support variable server sets (#10314)" 2020-12-01 12:02:29 -08:00
config-versions.go Migrate config to KV data format (#8392) 2019-10-22 22:59:13 -07:00
config.go Revert "Support variable server sets (#10314)" 2020-12-01 12:02:29 -08:00
consolelogger.go tracing: NumSubscribers() to use atomic instead of mutex (#11219) 2021-01-04 09:40:30 -08:00
copy-part-range_test.go Replace Minio refs in docs with MinIO and links (#7494) 2019-04-09 11:39:42 -07:00
copy-part-range.go Support bucket versioning (#9377) 2020-06-12 20:04:01 -07:00
crossdomain-xml-handler_test.go Replace Minio refs in docs with MinIO and links (#7494) 2019-04-09 11:39:42 -07:00
crossdomain-xml-handler.go Replace Minio refs in docs with MinIO and links (#7494) 2019-04-09 11:39:42 -07:00
data-scanner.go pkg/etag: add new package for S3 ETag handling (#11577) 2021-02-23 12:31:53 -08:00
data-update-tracker_test.go avoid a crash in crawler when lifecycle is not initialized (#11170) 2020-12-26 22:58:06 -08:00
data-update-tracker.go fix: enhance logging in crawler use console.Debug instead of logger.Info (#11179) 2020-12-29 01:57:28 -08:00
data-usage_test.go crawler: Stream bucket usage cache data (#11068) 2020-12-10 13:03:22 -08:00
data-usage-cache_gen_test.go fix: preserve cache calculated previously while moving from v2 to v3 (#11269) 2021-01-13 09:58:08 -08:00
data-usage-cache_gen.go fix: crawler to skip healing the drives in a set being healed (#11274) 2021-01-19 02:40:52 -08:00
data-usage-cache.go pkg/etag: add new package for S3 ETag handling (#11577) 2021-02-23 12:31:53 -08:00
data-usage.go pkg/etag: add new package for S3 ETag handling (#11577) 2021-02-23 12:31:53 -08:00
disk-cache_test.go fix: save ModTime properly in disk cache (#11522) 2021-02-11 19:25:47 -08:00
disk-cache-backend.go fix: reduce crawler memory usage by orders of magnitude (#11556) 2021-02-17 15:34:42 -08:00
disk-cache-check-support_other.go Use registry to check Atime support on Windows (#9741) 2020-05-30 09:47:42 -07:00
disk-cache-check-support_windows.go Use registry to check Atime support on Windows (#9741) 2020-05-30 09:47:42 -07:00
disk-cache-stats.go Updated Prometheus metrics (#11141) 2021-01-18 20:35:38 -08:00
disk-cache-utils_test.go cache: Only start at high watermark (#10403) 2020-09-02 17:48:44 -07:00
disk-cache-utils.go crypto: add support for decrypting SSE-KMS metadata (#11415) 2021-02-03 15:19:08 -08:00
disk-cache.go pkg/etag: add new package for S3 ETag handling (#11577) 2021-02-23 12:31:53 -08:00
dummy-data-generator_test.go avoid a crash in crawler when lifecycle is not initialized (#11170) 2020-12-26 22:58:06 -08:00
dummy-handlers.go audit: per object send pool number, set number and servers per operation (#11233) 2021-01-26 13:21:51 -08:00
dynamic-timeouts_test.go Tweaks to dynamic locks (#10508) 2020-09-18 09:18:18 -07:00
dynamic-timeouts.go Tweaks to dynamic locks (#10508) 2020-09-18 09:18:18 -07:00
encryption-v1_test.go crypto: add support for decrypting SSE-KMS metadata (#11415) 2021-02-03 15:19:08 -08:00
encryption-v1.go crypto: add support for decrypting SSE-KMS metadata (#11415) 2021-02-03 15:19:08 -08:00
endpoint_test.go rename last remaining Zone->Pool 2021-01-26 20:47:42 -08:00
endpoint-ellipses_test.go fix: make sure to use uniform drive count calculation (#10208) 2020-08-05 13:31:12 -07:00
endpoint-ellipses.go rename last remaining Zone->Pool 2021-01-26 20:47:42 -08:00
endpoint.go rename last remaining Zone->Pool 2021-01-26 20:47:42 -08:00
erasure_test.go Add storage layer contexts (#10321) 2020-09-04 09:45:06 -07:00
erasure-bucket.go fix: remove the requirement for healing buckets in ListBucketsHeal (#11098) 2020-12-14 12:07:07 -08:00
erasure-coding.go add ruleguard support, fix all the reported issues (#10335) 2020-08-24 12:11:20 -07:00
erasure-common_test.go fix: optimize parentDirIsObject by moving isObject to storage layer (#11291) 2021-01-18 12:25:22 -08:00
erasure-common.go fix: crawler to skip healing the drives in a set being healed (#11274) 2021-01-19 02:40:52 -08:00
erasure-decode_test.go fix: trigger heal if one of the parts are not found (#11358) 2021-01-27 10:21:14 -08:00
erasure-decode.go fix: trigger heal if one of the parts are not found (#11358) 2021-01-27 10:21:14 -08:00
erasure-encode_test.go ListObjects Metadata Caching (#10648) 2020-10-28 09:18:35 -07:00
erasure-encode.go Support bucket versioning (#9377) 2020-06-12 20:04:01 -07:00
erasure-errors.go Support bucket versioning (#9377) 2020-06-12 20:04:01 -07:00
erasure-heal_test.go fix: readData in bulk call using messagepack byte wrappers (#11228) 2021-01-07 19:27:31 -08:00
erasure-healing_test.go rename last remaining Zone->Pool 2021-01-26 20:47:42 -08:00
erasure-healing-common_test.go fix: readData in bulk call using messagepack byte wrappers (#11228) 2021-01-07 19:27:31 -08:00
erasure-healing-common.go fix: IAM store fallback to list users and policies from disk (#10787) 2020-11-02 17:52:13 -08:00
erasure-healing.go xl: Make it clear when to create delete marker for a non existant object (#11423) 2021-02-03 10:33:43 -08:00
erasure-lowlevel-heal.go fix: trigger heal if one of the parts are not found (#11358) 2021-01-27 10:21:14 -08:00
erasure-metadata_test.go fix: add more protection distribution to match EcIndex (#10772) 2020-10-28 00:09:15 -07:00
erasure-metadata-utils_test.go rename last remaining Zone->Pool 2021-01-26 20:47:42 -08:00
erasure-metadata-utils.go fix: healBucket across sets should capture results properly (#11341) 2021-01-25 09:45:09 -08:00
erasure-metadata.go ilm: Remove object in HEAD/GET if having an applicable ILM rule (#11296) 2021-02-01 09:52:11 -08:00
erasure-multipart.go fix: metacache should only rename entries during cleanup (#11503) 2021-02-11 10:22:03 -08:00
erasure-object_test.go Support variable server pools (#11256) 2021-01-16 12:08:02 -08:00
erasure-object.go Don't autoheal if disks are healing (#11558) 2021-02-17 10:18:12 -08:00
erasure-server-pool.go fix: rename crawler as scanner in config (#11549) 2021-02-17 12:04:11 -08:00
erasure-sets_test.go fix: allow expansion with newer constraints for older setups (#11372) 2021-01-29 11:40:55 -08:00
erasure-sets.go fix: make sure to convert the error properly in HealBucket() (#11610) 2021-02-23 09:23:11 -08:00
erasure-utils.go do not use large buffers if not necessary (#11220) 2021-01-04 18:51:52 -08:00
erasure.go fix: CrawlAndGetDataUsage close pipe() before using a new one (#11600) 2021-02-22 10:04:32 -08:00
etcd.go fix: etcd import paths again depend on v3.4.14 release (#11020) 2020-12-03 11:35:18 -08:00
fallocate_linux_test.go Replace Minio refs in docs with MinIO and links (#7494) 2019-04-09 11:39:42 -07:00
fallocate_linux.go Replace Minio refs in docs with MinIO and links (#7494) 2019-04-09 11:39:42 -07:00
fallocate.go Replace Minio refs in docs with MinIO and links (#7494) 2019-04-09 11:39:42 -07:00
format-disk-cache_test.go Return appropriate errors API versions changes across REST APIs (#8480) 2019-11-04 09:30:59 -08:00
format-disk-cache.go fix: unwrapping issues with os.Is* functions (#10949) 2020-11-23 08:36:49 -08:00
format-erasure_test.go fix: allow expansion with newer constraints for older setups (#11372) 2021-01-29 11:40:55 -08:00
format-erasure.go fix: allow expansion with newer constraints for older setups (#11372) 2021-01-29 11:40:55 -08:00
format-fs_test.go Return appropriate errors API versions changes across REST APIs (#8480) 2019-11-04 09:30:59 -08:00
format-fs.go fix: unwrapping issues with os.Is* functions (#10949) 2020-11-23 08:36:49 -08:00
format-meta.go Fix writing 'format.json' and make it atomic (#8296) 2019-09-24 18:47:26 -07:00
fs-tree-walk-pool_test.go fix: use internode data for DisksInfo, VolsInfo in message pack (#10821) 2020-11-04 10:10:54 -08:00
fs-tree-walk-pool.go fix: use internode data for DisksInfo, VolsInfo in message pack (#10821) 2020-11-04 10:10:54 -08:00
fs-v1_test.go Support bucket versioning (#9377) 2020-06-12 20:04:01 -07:00
fs-v1-helpers_test.go fix: use buffers only when necessary for io.Copy() (#11229) 2021-01-06 09:36:55 -08:00
fs-v1-helpers.go fix: use buffers only when necessary for io.Copy() (#11229) 2021-01-06 09:36:55 -08:00
fs-v1-metadata_test.go Support bucket versioning (#9377) 2020-06-12 20:04:01 -07:00
fs-v1-metadata.go fix: allow CopyObject/PutObjecTags on pre-existing content (#10485) 2020-09-15 09:18:41 -07:00
fs-v1-multipart_test.go fix: dangling objects on actual namespace (#10822) 2020-11-05 11:48:55 -08:00
fs-v1-multipart.go fix: improper ticker usage in goroutines (#11468) 2021-02-05 19:23:48 -08:00
fs-v1-rwpool_test.go Support bucket versioning (#9377) 2020-06-12 20:04:01 -07:00
fs-v1-rwpool.go fix: unwrapping issues with os.Is* functions (#10949) 2020-11-23 08:36:49 -08:00
fs-v1.go read-health check endpoint returns success if cluster can serve read requests (#11310) 2021-02-09 01:00:44 -08:00
gateway-common_test.go Replace Minio refs in docs with MinIO and links (#7494) 2019-04-09 11:39:42 -07:00
gateway-common.go Updated Prometheus metrics (#11141) 2021-01-18 20:35:38 -08:00
gateway-env.go Replace Minio refs in docs with MinIO and links (#7494) 2019-04-09 11:39:42 -07:00
gateway-interface.go Use constants for gateway names to avoid bugs caused by spelling. (#10355) 2020-08-26 08:52:46 -07:00
gateway-main_test.go [Bugfix] duplicating flag registration (#7853) 2019-07-03 14:31:19 -07:00
gateway-main.go validate storage class across pools when setting config (#11320) 2021-01-22 12:09:24 -08:00
gateway-metrics.go Updated Prometheus metrics (#11141) 2021-01-18 20:35:38 -08:00
gateway-startup-msg_test.go Replace Minio refs in docs with MinIO and links (#7494) 2019-04-09 11:39:42 -07:00
gateway-startup-msg.go fix: server/gateway banner formatting (#11230) 2021-01-06 10:38:07 -08:00
gateway-unsupported.go read-health check endpoint returns success if cluster can serve read requests (#11310) 2021-02-09 01:00:44 -08:00
generic-handlers_test.go refactor cmd/crypto code for SSE handling and parsing (#11045) 2020-12-22 09:19:32 -08:00
generic-handlers.go read-health check endpoint returns success if cluster can serve read requests (#11310) 2021-02-09 01:00:44 -08:00
global-heal.go heal: Use healDeleteDangling global const in self healing (#11579) 2021-02-18 15:16:20 -08:00
globals.go initialize forwarder after init() to avoid crashes (#11330) 2021-01-22 15:37:41 -08:00
handler-api.go metrics: Add the number of requests in the waiting queue (#11580) 2021-02-20 00:21:55 -08:00
handler-utils_test.go fix: replication metadata comparsion and other fixes (#11410) 2021-02-03 20:41:33 -08:00
handler-utils.go Change the default object content-type to binary/octet-stream (#11508) 2021-02-10 08:56:37 -08:00
hasher.go Replace Minio refs in docs with MinIO and links (#7494) 2019-04-09 11:39:42 -07:00
healthcheck-handler.go read-health check endpoint returns success if cluster can serve read requests (#11310) 2021-02-09 01:00:44 -08:00
healthcheck-router.go read-health check endpoint returns success if cluster can serve read requests (#11310) 2021-02-09 01:00:44 -08:00
healthinfo_linux.go fix: osinfos incomplete in case of warnings (#11505) 2021-02-12 17:57:57 -08:00
healthinfo_nonlinux.go Rename OBD to Health (#10842) 2020-11-20 12:52:53 -08:00
healthinfo.go Remove Connections from SysProcess struct (#11373) 2021-02-05 21:32:28 -08:00
http-stats.go metrics: Add the number of requests in the waiting queue (#11580) 2021-02-20 00:21:55 -08:00
http-tracer.go add audit/admin trace support for browser requests (#10947) 2020-11-20 22:52:17 -08:00
httprange_test.go Replace Minio refs in docs with MinIO and links (#7494) 2019-04-09 11:39:42 -07:00
httprange.go Cache only the range requested for range GETs (#8599) 2019-12-08 13:58:04 -08:00
iam-etcd-store.go fix: load credentials from etcd directly when possible (#11339) 2021-01-25 20:01:49 -08:00
iam-object-store.go fix: load credentials from etcd directly when possible (#11339) 2021-01-25 20:01:49 -08:00
iam.go fix: allow accountInfo with creds with parentUsers (#11568) 2021-02-17 20:57:17 -08:00
jwt_test.go jwt: Simplify JWT parsing (#8802) 2020-01-31 08:29:22 +05:30
jwt.go initialize IAM as soon as object layer is initialized (#10700) 2020-10-19 09:54:40 -07:00
leak-detect_test.go
listen-notification-handlers.go Send bucket name to peers when bucket notification is enabled (#11351) 2021-01-26 13:48:28 -08:00
local-locker.go fix: improper ticker usage in goroutines (#11468) 2021-02-05 19:23:48 -08:00
lock-rest-client_test.go re-use remote transports in Peer,Storage,Locker clients (#10788) 2020-11-02 07:43:11 -08:00
lock-rest-client.go Don't mark remotes online when shutting down (#11368) 2021-01-28 13:38:12 -08:00
lock-rest-server-common_test.go fix: add lock ownership to expire locks (#10571) 2020-09-25 19:21:52 -07:00
lock-rest-server-common.go fix: expire locks only on participating lockers (#11335) 2021-01-25 10:01:27 -08:00
lock-rest-server.go isServerResolvable its sufficient to check server is reachable (#11609) 2021-02-22 16:29:53 -08:00
main.go fix: [fs] CompleteMultipart use trie structure for partMatch (#10522) 2020-09-21 01:18:13 -07:00
metacache_gen_test.go ListObjects Metadata Caching (#10648) 2020-10-28 09:18:35 -07:00
metacache_gen.go metacache: Allow prefix filtering (#10920) 2020-11-18 10:44:18 -08:00
metacache_test.go metacache: Add option for life extension (#10837) 2020-11-05 11:49:56 -08:00
metacache-bucket_gen_test.go ListObjects Metadata Caching (#10648) 2020-10-28 09:18:35 -07:00
metacache-bucket_gen.go ListObjects Metadata Caching (#10648) 2020-10-28 09:18:35 -07:00
metacache-bucket_test.go Don't copy interesting ids, clean up logging (#11102) 2020-12-14 13:13:33 -08:00
metacache-bucket.go pkg/etag: add new package for S3 ETag handling (#11577) 2021-02-23 12:31:53 -08:00
metacache-entries_test.go ListObjects Metadata Caching (#10648) 2020-10-28 09:18:35 -07:00
metacache-entries.go fix: metacache should only rename entries during cleanup (#11503) 2021-02-11 10:22:03 -08:00
metacache-manager.go fix: metacache should only rename entries during cleanup (#11503) 2021-02-11 10:22:03 -08:00
metacache-marker.go ListObjects Metadata Caching (#10648) 2020-10-28 09:18:35 -07:00
metacache-server-pool.go fix: reduce crawler memory usage by orders of magnitude (#11556) 2021-02-17 15:34:42 -08:00
metacache-set.go pkg/etag: add new package for S3 ETag handling (#11577) 2021-02-23 12:31:53 -08:00
metacache-stream_test.go avoid a crash in crawler when lifecycle is not initialized (#11170) 2020-12-26 22:58:06 -08:00
metacache-stream.go fix: re-use bytes.Buffer using sync.Pool (#11156) 2020-12-22 23:22:37 -08:00
metacache-walk.go fix: faster healing when disk is replaced. (#11520) 2021-02-18 11:06:54 -08:00
metacache.go fix: rename crawler as scanner in config (#11549) 2021-02-17 12:04:11 -08:00
metrics-router.go Updated Prometheus metrics (#11141) 2021-01-18 20:35:38 -08:00
metrics-v2.go metrics: Add the number of requests in the waiting queue (#11580) 2021-02-20 00:21:55 -08:00
metrics.go fix: rename crawler as scanner in config (#11549) 2021-02-17 12:04:11 -08:00
namespace-lock_test.go validate storage class across pools when setting config (#11320) 2021-01-22 12:09:24 -08:00
namespace-lock.go fix: refactor locks to apply them uniquely per node (#11052) 2020-12-10 07:28:37 -08:00
naughty-disk_test.go xl: Make it clear when to create delete marker for a non existant object (#11423) 2021-02-03 10:33:43 -08:00
net_test.go update for smartos build (solaris too) (#10378) 2020-08-31 10:19:25 -07:00
net.go update x/net/http2 to address few bugs (#11144) 2020-12-21 21:42:38 -08:00
notification-summary.go fix: disk usage capacity metric reporting (#11435) 2021-02-04 12:26:58 -08:00
notification.go fix: log notification errors only once (#11350) 2021-01-28 13:40:31 -08:00
object_api_suite_test.go validate storage class across pools when setting config (#11320) 2021-01-22 12:09:24 -08:00
object-api-common.go fix: use buffers only when necessary for io.Copy() (#11229) 2021-01-06 09:36:55 -08:00
object-api-datatypes.go fix: replication metadata comparsion and other fixes (#11410) 2021-02-03 20:41:33 -08:00
object-api-deleteobject_test.go avoid a crash in crawler when lifecycle is not initialized (#11170) 2020-12-26 22:58:06 -08:00
object-api-errors.go fix: avoid sending errors on missing objects on locked buckets (#10994) 2020-11-28 21:15:45 -08:00
object-api-getobject_test.go Support variable server pools (#11256) 2021-01-16 12:08:02 -08:00
object-api-getobjectinfo_test.go Support bucket versioning (#9377) 2020-06-12 20:04:01 -07:00
object-api-input-checks.go fix: cleanup old directory handling code (#10633) 2020-10-06 12:03:57 -07:00
object-api-interface.go read-health check endpoint returns success if cluster can serve read requests (#11310) 2021-02-09 01:00:44 -08:00
object-api-listobjects_test.go listing with prefix prefixed with '/' should be ignored (#11268) 2021-01-13 09:44:11 -08:00
object-api-multipart_test.go Allow Compression + encryption (#11103) 2021-01-05 20:08:35 -08:00
object-api-options.go fix: replication regression due to proxying requests (#11356) 2021-01-27 11:22:34 -08:00
object-api-putobject_test.go Support variable server pools (#11256) 2021-01-16 12:08:02 -08:00
object-api-utils_test.go validate storage class across pools when setting config (#11320) 2021-01-22 12:09:24 -08:00
object-api-utils.go fix: save ModTime properly in disk cache (#11522) 2021-02-11 19:25:47 -08:00
object-handlers_test.go validate storage class across pools when setting config (#11320) 2021-01-22 12:09:24 -08:00
object-handlers-common_test.go Replace Minio refs in docs with MinIO and links (#7494) 2019-04-09 11:39:42 -07:00
object-handlers-common.go avoid notification for non-existent delete objects (#11514) 2021-02-10 22:00:42 -08:00
object-handlers.go pkg/etag: add new package for S3 ETag handling (#11577) 2021-02-23 12:31:53 -08:00
os-dirent_fileino.go allow large buffer to list more entries per directory (#9785) 2020-06-09 09:44:50 -07:00
os-dirent_ino.go add ruleguard support, fix all the reported issues (#10335) 2020-08-24 12:11:20 -07:00
os-dirent_namelen_bsd.go allow large buffer to list more entries per directory (#9785) 2020-06-09 09:44:50 -07:00
os-dirent_namelen_linux.go allow large buffer to list more entries per directory (#9785) 2020-06-09 09:44:50 -07:00
os-readdir_other.go fix: Bring support for symlink on regular files on NAS (#11383) 2021-02-20 00:30:12 -08:00
os-readdir_test.go fix: Bring support for symlink on regular files on NAS (#11383) 2021-02-20 00:30:12 -08:00
os-readdir_unix.go fix: Bring support for symlink on regular files on NAS (#11383) 2021-02-20 00:30:12 -08:00
os-readdir_windows.go fix: Bring support for symlink on regular files on NAS (#11383) 2021-02-20 00:30:12 -08:00
os-reliable_test.go Support bucket versioning (#9377) 2020-06-12 20:04:01 -07:00
os-reliable.go fix: unwrapping issues with os.Is* functions (#10949) 2020-11-23 08:36:49 -08:00
peer-rest-client.go Don't mark remotes online when shutting down (#11368) 2021-01-28 13:38:12 -08:00
peer-rest-common.go validate storage class across pools when setting config (#11320) 2021-01-22 12:09:24 -08:00
peer-rest-server.go validate storage class across pools when setting config (#11320) 2021-01-22 12:09:24 -08:00
policy_test.go Move dependency from minio-go v6 to v7 (#10042) 2020-07-14 09:38:05 -07:00
post-policy_test.go Allow region errors to be dynamic (#10323) 2020-08-23 22:06:22 -07:00
postpolicyform_test.go Move dependency from minio-go v6 to v7 (#10042) 2020-07-14 09:38:05 -07:00
postpolicyform.go Remove unusued params and functions (#8399) 2019-10-15 18:35:41 -07:00
prepare-storage.go isServerResolvable its sufficient to check server is reachable (#11609) 2021-02-22 16:29:53 -08:00
routers.go handlers: Avoid initializing a struct in each handler call (#11217) 2021-01-04 09:54:22 -08:00
server_test.go Support for "directory" objects (#10499) 2020-09-19 08:39:41 -07:00
server-main_test.go rename last remaining Zone->Pool 2021-01-26 20:47:42 -08:00
server-main.go fix: make sure to convert the error properly in HealBucket() (#11610) 2021-02-23 09:23:11 -08:00
server-rlimit.go add '.healing.bin' for tracking currently healing disk (#10573) 2020-09-28 19:39:32 -07:00
server-startup-msg_test.go admin: ServerInfo returns info without object layer initialized (#11142) 2020-12-21 09:35:19 -08:00
server-startup-msg.go fix: server/gateway banner formatting (#11230) 2021-01-06 10:38:07 -08:00
service.go fix: heal bucket metadata right before healing bucket (#11097) 2020-12-13 11:57:08 -08:00
setup-type.go Support bucket versioning (#9377) 2020-06-12 20:04:01 -07:00
signals.go remove safeMode behavior in startup (#10645) 2020-10-09 09:59:52 -07:00
signature-v2_test.go Migrate config to KV data format (#8392) 2019-10-22 22:59:13 -07:00
signature-v2.go Copy metadata before spawning goroutine + prealloc maps (#10458) 2020-09-10 11:37:22 -07:00
signature-v4_test.go Allow region errors to be dynamic (#10323) 2020-08-23 22:06:22 -07:00
signature-v4-parser_test.go add ruleguard support, fix all the reported issues (#10335) 2020-08-24 12:11:20 -07:00
signature-v4-parser.go Allow region errors to be dynamic (#10323) 2020-08-23 22:06:22 -07:00
signature-v4-utils_test.go refactor cmd/crypto code for SSE handling and parsing (#11045) 2020-12-22 09:19:32 -08:00
signature-v4-utils.go initialize IAM as soon as object layer is initialized (#10700) 2020-10-19 09:54:40 -07:00
signature-v4.go Adds "x-amz-usr-agent" and "x-id" params to be used in authentication of presignedURL (#10792) 2020-12-02 02:02:49 -08:00
storage-datatypes_gen_test.go fix: use internode data for DisksInfo, VolsInfo in message pack (#10821) 2020-11-04 10:10:54 -08:00
storage-datatypes_gen.go ilm: Remove object in HEAD/GET if having an applicable ILM rule (#11296) 2021-02-01 09:52:11 -08:00
storage-datatypes_test.go feat: Small object optimization read data in single bulk call (#11207) 2021-01-03 11:27:57 -08:00
storage-datatypes.go fix: metacache should only rename entries during cleanup (#11503) 2021-02-11 10:22:03 -08:00
storage-errors.go fix: read metadata in O_DIRECT if configured and supported (#11594) 2021-02-22 01:36:17 -08:00
storage-interface.go xl: Make it clear when to create delete marker for a non existant object (#11423) 2021-02-03 10:33:43 -08:00
storage-rest_test.go rename last remaining Zone->Pool 2021-01-26 20:47:42 -08:00
storage-rest-client.go fix: CrawlAndGetDataUsage close pipe() before using a new one (#11600) 2021-02-22 10:04:32 -08:00
storage-rest-common.go fix: faster healing when disk is replaced. (#11520) 2021-02-18 11:06:54 -08:00
storage-rest-server.go xl: Make it clear when to create delete marker for a non existant object (#11423) 2021-02-03 10:33:43 -08:00
streaming-signature-v4_test.go add ruleguard support, fix all the reported issues (#10335) 2020-08-24 12:11:20 -07:00
streaming-signature-v4.go re-implement data usage crawler to be more efficient (#9075) 2020-03-18 16:19:29 -07:00
sts-datatypes.go Fix LDAP responseXML to be named appropriately (#8285) 2019-09-24 03:51:16 +05:30
sts-errors.go add ruleguard support, fix all the reported issues (#10335) 2020-08-24 12:11:20 -07:00
sts-handlers.go Return group DN instead of group name in LDAP STS (#11501) 2021-02-10 16:52:49 -08:00
test-utils_test.go pkg/etag: add new package for S3 ETag handling (#11577) 2021-02-23 12:31:53 -08:00
tree-walk_test.go Add storage layer contexts (#10321) 2020-09-04 09:45:06 -07:00
tree-walk.go heal: Remove empty directories (#11354) 2021-01-27 02:19:28 -08:00
typed-errors.go fix: optimize IAM users load, add fallback (#9809) 2020-06-11 14:11:30 -07:00
update_test.go add ruleguard support, fix all the reported issues (#10335) 2020-08-24 12:11:20 -07:00
update-notifier_test.go Refactor config and split them in packages (#8351) 2019-10-04 23:05:33 +05:30
update-notifier.go Refactor config and split them in packages (#8351) 2019-10-04 23:05:33 +05:30
update.go fix: unwrapping issues with os.Is* functions (#10949) 2020-11-23 08:36:49 -08:00
utils_test.go fix: allow updated domain names in federation (#11365) 2021-01-28 11:44:48 -08:00
utils.go fix: avoid timed value for network calls (#11531) 2021-02-12 18:17:52 -08:00
version_test.go Replace Minio refs in docs with MinIO and links (#7494) 2019-04-09 11:39:42 -07:00
web-handler-context_test.go Pass on web-handler arguments properly to log entries (#7894) 2019-07-11 22:37:13 +01:00
web-handler-context.go use GlobalContext whenever possible (#9280) 2020-04-09 09:30:02 -07:00
web-handlers_test.go rename server sets to server pools 2020-12-01 13:50:33 -08:00
web-handlers.go pkg/etag: add new package for S3 ETag handling (#11577) 2021-02-23 12:31:53 -08:00
web-router.go audit: per object send pool number, set number and servers per operation (#11233) 2021-01-26 13:21:51 -08:00
xl-storage_test.go fix: check for O_DIRECT support for reads and writes (#11331) 2021-01-22 15:38:21 -08:00
xl-storage_unix_test.go Add storage layer contexts (#10321) 2020-09-04 09:45:06 -07:00
xl-storage_windows_test.go ListObjects Metadata Caching (#10648) 2020-10-28 09:18:35 -07:00
xl-storage-disk-id-check.go xl: Make it clear when to create delete marker for a non existant object (#11423) 2021-02-03 10:33:43 -08:00
xl-storage-errors_test.go Support bucket versioning (#9377) 2020-06-12 20:04:01 -07:00
xl-storage-errors.go fix: unwrapping issues with os.Is* functions (#10949) 2020-11-23 08:36:49 -08:00
xl-storage-format_test.go Support bucket versioning (#9377) 2020-06-12 20:04:01 -07:00
xl-storage-format-utils.go Show Delete replication status header (#10946) 2020-11-21 23:48:50 -08:00
xl-storage-format-v1_gen_test.go Support bucket versioning (#9377) 2020-06-12 20:04:01 -07:00
xl-storage-format-v1_gen.go Support bucket versioning (#9377) 2020-06-12 20:04:01 -07:00
xl-storage-format-v1.go fix possible crashes on deleteMarker replication (#11308) 2021-01-20 13:12:12 -08:00
xl-storage-format-v2_gen_test.go Support bucket versioning (#9377) 2020-06-12 20:04:01 -07:00
xl-storage-format-v2_gen.go Revert "Revert "Add delete marker replication support (#10396)"" 2020-11-19 18:43:58 -08:00
xl-storage-format-v2.go fix: deletion of delete marker regression (#11465) 2021-02-05 15:06:23 -08:00
xl-storage.go fix: for containers use root-disk detection cleverly (#11593) 2021-02-22 10:32:21 -08:00