* posix: Avoid using getAllVolumeInfo() in getVolumeDir()
This is necessary compromise to avoid significant slowness this
causes under load. The compromise is also substantial in a way
so that to avoid penalizing common cases v/s special cases.
For buckets with Caps on Unixes, we filter buckets based on the
latest anyways, so this is completely acceptable.
* XL/fs: Change the usage of verification of existance of buckets.
Optimize calling isBucketExists, it is not needed for all call
paths. isBucketExist should be called only for calls which use
temporary volume location for operations, for the rest rely on
the errors returned on their original call path.
Remove usage of filtering as well across all volume names.
This patch brings in the removal of debug logging altogether, instead
we bring in the functionality of being able to trace the errors properly
pointing back to the origination of the problem.
To enable tracing you need to enable "MINIO_TRACE" set to "1" or "true"
environment variable which would print back traces whenever there is an
error which is unhandled or at the handler layer.
By default this tracing is turned off and only user level logging is
provided.
When a disk is removed while an operation is going on
(eg. single/multipart put object, list/multipart list objects etc),
its required to ignore errDiskNotFound error and continue the
operation.
Fixes#1552
All transactions happen through this directory inside ".minio/temp".
Adding this allows us to remove any temporary files which were not
committed before.
Fixes#1462Fixes#1444
- PutObject()
- PutObjectPart()
- NewMultipartUpload()
- AbortMultipartUpload()
Implementations across both FS and XL object layer
share common implementation.