Harshavardhana
e9647b5f12
API/CopyObject: Refactor the code and handle if-modified-since as well. ( #2183 )
...
This completes the S3 spec behavior for CopyObject API as reported
by `s3verify`.
2016-07-11 19:24:34 -07:00
Krishnan Parthasarathi
bef72f26db
xl: Make locking more granular for PutObjectPart requests ( #2168 )
2016-07-11 17:24:49 -07:00
Harshavardhana
ede4dd0f9c
server: update command should check for 3s from 1ms. ( #2175 )
...
Programmer error :-)
2016-07-11 16:22:10 -07:00
Bala FA
bfc59b7d50
tests: improve unit tests for xl-v1-metadata. ( #2172 )
...
Fixes #2124
2016-07-11 11:42:01 -07:00
Remco Verhoef
a162198623
implemented systemd script ( #2167 )
2016-07-11 03:55:40 -07:00
Harshavardhana
de468f92ec
posix: ReadAll should handle the case when parent is not a dir. ( #2163 )
...
It can happen so that a read request can come for a file which
already has a parent i.e a file.
This fix handles this scenario - fixes #2047
2016-07-11 00:15:37 -07:00
Harshavardhana
d676e660c9
API/CopyObject: If-None-Match should return Precondition failed. ( #2164 )
2016-07-10 17:32:59 -07:00
Krishna Srinivas
aa7079fc7b
XL/GetObject: If quorum not available during GetObject appropriate error should be returned. ( #2135 )
2016-07-10 17:12:22 -07:00
Harshavardhana
bdff0848ed
server: Implement --ignore-disks for ignoring disks from healing. ( #2158 )
...
By default server heals/creates missing directories and re-populates
`format.json`, in some scenarios when disk is down for maintainenance
it would be beneficial for users to ignore such disks rather than
mistakenly using `root` partition.
Fixes #2128
2016-07-10 14:38:15 -07:00
Bala FA
0793237d94
tests: Move signature calculation in separate function. ( #2160 )
...
Previously newTestRequest() creates request object and returns
signature v4 signed request. In TestCopyObject(), its required to add
headers later to the request and sign the request.
This patch introduces two new functions
* signRequest(): signs request using given access/secret keys.
* newTestSignedRequest(): returns new request object signed with given
access/secret keys.
Fixes #2097
2016-07-10 11:10:59 -07:00
Bala FA
2a95eabb8a
benchmarks: add parallel benchmarks for PutObject/GetObject. ( #2159 )
...
Fixes #2092
2016-07-10 11:08:45 -07:00
Krishnan Parthasarathi
bc8720406d
Added specific error for InvalidObjectName ( #2157 )
2016-07-09 17:11:08 -07:00
Krishna Srinivas
ae80f8ca35
ObjectLayer/GetObject: Should return the right error value. Fix done in FS and XL. ( #2133 )
...
fixes #2117
2016-07-09 13:01:32 -07:00
Harshavardhana
5102a5877e
API/handler: CopyObject make it behave in accordance with S3 spec. ( #2155 )
...
Fixes bugs found while running s3verify tool - fixes #2152
2016-07-09 12:13:40 -07:00
karthic rao
3341fe9b28
organizing the benchmarks in the right test files ( #2154 )
2016-07-09 00:45:49 -07:00
Harshavardhana
c0c8a8430e
XL/PutObject: Add single putObject and multipart caching. ( #2115 )
...
- Additionally adds test cases as well for object cache.
- Adds auto-expiry with expiration and cleanup time interval.
Fixes #2080
Fixes #2091
2016-07-08 20:34:27 -07:00
karthic rao
b0c180b77c
Test for ObjectLayer.GetObject() ( #2153 )
2016-07-08 18:26:04 -07:00
karthic rao
778b870b77
placing the http range error in objct-api-errors. ( #2150 )
2016-07-08 17:22:55 -07:00
Harshavardhana
cb415ef12e
Merge pull request #2149 from harshavardhana/hash-order
...
XL/metadata: use new hashOrder algorithm for newXLMeta. (#2147 )
2016-07-08 15:57:16 -07:00
Harshavardhana
6266328a85
XL/metadata: use new hashOrder algorithm for newXLMeta. ( #2147 )
2016-07-08 15:39:21 -07:00
frankw
63b3f1dcfd
Use new algorithm to get fixed random order of disks ( #2147 )
2016-07-08 15:38:47 -07:00
Anis Elleuch
5ff1203fc0
Add PutObjectPart benchmark ( #2145 )
2016-07-08 14:28:06 -07:00
Harshavardhana
c3ab8bbd51
Turning off OSX builds for now.
2016-07-08 11:22:25 -07:00
Harshavardhana
a4a55bf134
tests: Fix erasure-readfile test formatting.
2016-07-08 11:05:30 -07:00
Harshavardhana
ec35330ebb
XL/fs: GetObject should validate all its inputs. ( #2142 )
...
Fixes #2141
Fixes #2139
2016-07-08 07:46:49 -07:00
Harshavardhana
ca1b1921c4
XL: Implement ignore errors. ( #2136 )
...
Each metadata ops have a list of errors which can be
ignored, this is essentially needed when
- disks are not found
- disks are found but cannot be accessed (permission denied)
- disks are there but fresh disks were added
This is needed since we don't have healing code in place where
it would have healed the fresh disks added.
Fixes #2072
2016-07-07 22:10:27 -07:00
Harshavardhana
4c21d6d09d
tests: Remove racey failedDisks behavior in RenameObject tests. ( #2138 )
...
Additionally also initialize namespace lock only once per test
run, there is no reason to initialize it multiple times to avoid
races.
Fixes #2137
2016-07-07 19:50:44 -07:00
Bala FA
5ec7734d88
FS: Check offset is within object size in GetObject() ( #2123 )
...
Fixes #2118
2016-07-07 19:49:45 -07:00
karthic rao
2c837128ef
Object layer tests revamp for individual execution ( #2134 )
2016-07-07 15:05:51 -07:00
Bala FA
282044d454
http: handle possible range requests properly. ( #2122 )
...
Previously range string is not validated against various combination
of values. This patch fixes the issue.
Fixes #2098
2016-07-07 15:05:18 -07:00
Harshavardhana
8e53064bb4
XL/format: Initialize missing meta volume. ( #2131 )
...
Fixes #2127
2016-07-07 15:01:54 -07:00
Krishna Srinivas
f55093cdd6
multipart: During multipart list the listing go-routine should be saved to the List-pool. ( #2130 )
2016-07-07 09:06:35 -07:00
Harshavardhana
ddf3245677
xl/fs: offset and length cannot be negative. ( #2121 )
...
Fixes #2119
2016-07-07 01:30:34 -07:00
Harshavardhana
169c72cdab
vendor: Bring new updates from blake2b-simd repo. ( #2094 )
...
This vendorization is needed to bring in new improvements
and support for AVX2 and SSE.
Fixes #2081
2016-07-06 18:24:31 -07:00
Nick Craig-Wood
8c767218a4
URL Encode X-Amz-Copy-Source as per the spec ( #2114 )
...
The documents for COPY state that the X-Amz-Copy-Source must be URL encoded.
http://docs.aws.amazon.com/AmazonS3/latest/API/RESTObjectCOPY.html
2016-07-06 15:42:17 -07:00
Bala FA
a51bb1d728
http: handle request range like Amazon S3. ( #2112 )
...
Fixes #2098
2016-07-06 12:50:24 -07:00
Krishna Srinivas
26b7d79a85
XL/ObjectCache: DeleteObject() should delete the object from the object cache. ( #2113 )
...
fixes #2103
2016-07-06 10:25:42 -07:00
Krishna Srinivas
01cbacd803
object-cache: use golang bytes.Buffer and bytes.NewReader instead of custom implementation. ( #2108 )
2016-07-06 01:29:49 -07:00
Harshavardhana
7bde27032d
signv4: Validate preSigned payload properly. ( #2106 )
...
We need to only validate presigned payload only
if the payload is requested for, with default payload
i.e 'UNSIGNED-PAYLOAD' we don't need to validate.
Fixes #2105
2016-07-05 21:00:20 -07:00
Bala FA
44ae7a037b
fix: allocate buffer to required size than readSizeV1 ( #2095 )
...
Refer #2077
2016-07-05 20:59:54 -07:00
karthic rao
a35341448f
XL: Cache: Purging partially cached content upon erasureReadFile failure ( #2104 )
2016-07-05 12:48:54 -07:00
Krishna Srinivas
d6dfcd0ba7
unit-tests: Unit tests for functions in erasure-readfile.go ( #2090 )
2016-07-05 11:41:25 -07:00
Harshavardhana
8ddf52021a
server: Bring in s3 compatibility fixes. ( #2099 )
...
This patch fixes majority of discrepant messages and responses
previously reported.
There are few discrepancies observed
- S3 is not honoring 'If-Modified-Since' header.
- We do not implement object policy, S3 returns a different response in this category.
- Adding new headers causes signature mismatch, but Minio server is fine for example
TestCopyObject() to be fixed by moving the signature logic out.
Relevant bug - https://github.com/minio/minio/issues/2097
Fixes #1955
2016-07-05 01:06:30 -07:00
Harshavardhana
8a028a9efb
handler/PUT: Handle signature verification through a custom reader. ( #2066 )
...
Change brings in a new signVerifyReader which provides a io.Reader
compatible reader, additionally implements Verify() function.
Verify() function validates the signature present in the incoming
request. This approach is choosen to avoid complexities involved
in using io.Pipe().
Thanks to Krishna for his inputs on this.
Fixes #2058
Fixes #2054
Fixes #2087
2016-07-05 01:04:50 -07:00
Bala FA
0540863663
fix: use readSizeV1 wherever applicable. ( #2093 )
2016-07-04 19:21:15 -07:00
Harshavardhana
4cfbdb1bf0
server: Remove deadcode/deprecated code. ( #2088 )
2016-07-04 14:46:38 -07:00
Krishna Srinivas
1ec86dac2c
server-tests: unify XL and FS tests into common code. server_test.go contains common test code. server_xl_test.go contains XL tests specific to XL. ( #2089 )
2016-07-04 13:18:41 -07:00
Krishna Srinivas
7a8b8cd0a1
tree-walk: unify FS and XL tree-walk with functional approach. ( #2027 )
2016-07-04 01:49:27 -07:00
karthic rao
a8a3e95835
Api/Bucket-Policy: Handler tests ( #2074 )
2016-07-03 22:35:30 -07:00
Bala FA
1ad5fb8f76
posix: checkDiskFree() also checks free inodes. ( #2086 )
...
Previously checkDiskFree() checks for free available space. This
patch enables checkDiskFree() also checks for free inodes in linux and
free clusters in windows.
Fixes #2075
2016-07-03 22:34:45 -07:00