Commit graph

2924 commits

Author SHA1 Message Date
Krishna Srinivas
48d3be36da XL/ListObjects: Fix ordering issue during listing if the files were uploaded as multipart uploads. (#1498) (#1506)
i.e if two files "tmp" and "tmp.1" are uploaded as multipart we would list ""tmp.1"" before ""tmp"" as "tmp.1/" < "tmp/"
2016-05-06 10:19:09 -07:00
Harshavardhana
5133ea50bd xl/fs: Make i/o operations atomic. (#1496) 2016-05-05 20:28:22 -07:00
Harshavardhana
17868ccd7f handlers: overhaul entire writErrorResponse, simplify. (#1472) 2016-05-05 20:24:29 -07:00
Harshavardhana
ba5805e60a bucketPolicy: Do not use regexes, just do prefix matches. (#1497)
AWS arn supports wildcards and this is flat namespace, simple
prefix matching is fine.

Fixes #1481
Fixes #1482
2016-05-05 19:58:48 -07:00
Harshavardhana
ca097de96c xl/fs: Add initObjectLayer function. (#1494)
Fixes #1493
2016-05-05 15:00:03 -07:00
Bala FA
658a595d7a xl-erasure: RenameFile should support quorum. (#1487)
Fixes #1463
2016-05-05 13:03:53 -07:00
Krishna Srinivas
247e835d7b object: move go-routine listing from posix to objectLayer. (#1491) 2016-05-05 12:51:56 -07:00
Harshavardhana
46680788f9 xl/fs: cleanup '/.minio/tmp' directory on each initialization. (#1490) 2016-05-05 01:54:43 -07:00
Harshavardhana
ad40036cba posix: filepath shouldn't be used anymore use path.Join (#1486) 2016-05-05 01:39:26 -07:00
Harshavardhana
82fbe908a3 object: DeleteBucket should return proper error for BucketNotEmpty. (#1489)
Fixes #1488
2016-05-05 01:35:21 -07:00
Harshavardhana
f145e1042f quick/config: No need to use Data() with type assertion. (#1480)
Since input to quick.New() is a pointer the unmarshalled value
internally already has the value, subsequent type assertions
are not needed.

Thanks to Bala for finding this behavior.

Fixes #1475
2016-05-04 20:22:15 -07:00
Rajiv Makhijani
9dccbd6478 New Dockerfile for building & running minio inside Docker (inc. autobuild support) (#1473) (#1485) 2016-05-04 17:07:19 -07:00
karthic rao
82113b747c Resource matching fix to overcome issues with regular expression based match (#1476) 2016-05-04 16:56:57 -07:00
Rajiv Makhijani
a5959789d5 Make minimum file space percent a constant (#1484) 2016-05-04 15:39:06 -07:00
Harshavardhana
6988ed9257 xl/getObjectInfo: Returns back proper size, modTime and md5Sum. (#1479)
Fixes #1469
2016-05-04 15:28:58 -07:00
Rajiv Makhijani
321aefa026 Add Response for PostPolicyBucketHandler (#1477) (#1483) 2016-05-04 15:24:10 -07:00
Harshavardhana
dd417e5476 fs: Handle cases of PutObject for an existing prefix. (#1478) 2016-05-04 12:18:40 -07:00
Bala FA
da3a53376c server: save and compare multiple disks are used (#1474)
When server is run with multiple disks which uses xl interface where
order and count of disks are important, this patch saves such disks
configuration and compares in next run if there is a mismatch.

Fixes #1458
2016-05-04 12:18:20 -07:00
Harshavardhana
e4d89d8156 xl/deleteObject: Support deleting special multipart object. (#1470)
Fixes #1452
2016-05-03 17:52:54 -07:00
Harshavardhana
d0e854afb7 xl/fs: Bring in ".minio/tmp" directory support. (#1464)
All transactions happen through this directory inside ".minio/temp".
Adding this allows us to remove any temporary files which were not
committed before.

Fixes #1462
Fixes #1444
2016-05-03 16:10:24 -07:00
Harshavardhana
6f1811ee4d config: Migration should save region properly. (#1468)
Fixes #1466
2016-05-03 15:17:58 -07:00
Yurii
bba5468368 minio: Replace 'bucket already exists' error by 'bucket already owned by you'. (#1465)
S3 API returns BucketAlreadyExists error when some another user has such bucket.
If user that creates the bucket already has it, s3 returns BucketAlreadyOwnedByYou.
As minio has only one user, it should behave accordingly.
Otherwise it causes failures in the applications that ignore creation of already existing bucket in the account, but fail when bucket name is used by someone else.
2016-05-03 03:19:04 -07:00
Harshavardhana
7ae40eb1bb minhttp: Remove probe usage, move to golang error. (#1459)
Fixes #1454
2016-05-03 01:07:34 -07:00
Harshavardhana
ad8e27a963 xl: Rename 'xl.json' to 'file.json' (#1461)
Fixes #1460
2016-05-02 17:42:01 -07:00
Harshavardhana
ac7a7cec20 bucket-policy: Delete policy should remove policy properly. (#1456) 2016-05-02 16:58:10 -07:00
Harshavardhana
afd59c45dc xl/fs: Move few functions into common code. (#1453)
- PutObject()
- PutObjectPart()
- NewMultipartUpload()
- AbortMultipartUpload()

Implementations across both FS and XL object layer
share common implementation.
2016-05-02 16:57:31 -07:00
Harshavardhana
3bf3d18f1f rpc/client: Implement RenameFile properly. (#1443) 2016-05-02 03:12:18 -07:00
Harshavardhana
8102a4712a xl/metadata: Keep the json erasure tag consistent. (#1447)
Currently the on-disk json has "Erasure" we should
keep it consistent name and move to lower case instead.
2016-05-02 01:13:07 -07:00
karthic rao
2393a3a0be XL non-recursive fix (#1450) 2016-05-01 23:16:44 -07:00
Harshavardhana
d006129fb5 xl/vol: Add healing and quorum support for StatVol, MakeVol.
Fixes #1437
2016-05-01 18:42:00 -07:00
Harshavardhana
7caa82f32f xl/fs: Rename minioMetaVolume to minioMetaBucket. (#1442) 2016-05-01 18:13:10 -07:00
Krishna Srinivas
286de4de2c XL - fixes mostly related to multipart listing. (#1441)
* XL/Multipart: Use json.NewDecoder to decode read stream.

* XL/Multipart: fix recursive and non-recursive listing.

* XL/Multipart: Create object part with md5sum later using RenameFile.

* XL/Multipart: ListObjectParts should list parts in order.

previously: uploadID.10.md5sum < uploadID.2.md5sum
fix       : uploadID.00010.md5sum > uploadID.00002.md5sum

* XL/Multipart: Keep the size of each part in the multipart metadata file to avoid stats on the parts.

* XL/Multipart: fix listing bug which was showing size of the multipart uploaded objects as 0.
2016-05-01 17:52:16 -07:00
Harshavardhana
ba7a55c321 xl: ReedSolomon code fix small file erasure bug. (#1431)
For files less than 'dataBlocks', erasure encoding would fail
with short data due to a bug in the implementation itself.

Relax the error return, even a single byte can be properly
erasure coded without issues.

Fixes #1413
2016-05-01 15:30:40 -07:00
Harshavardhana
e05aa762a9 fs: Create object part with md5sum later using RenameFile. (#1440)
Fixes #1340.
2016-05-01 14:50:30 -07:00
Krishna Srinivas
0c27d8e5b1 XL/Multipart: maintain the parts info in multipart.json after complete-multipart-upload. (#1436) 2016-05-01 01:25:48 -07:00
Harshavardhana
443ec37765 xl: Add disk usages properly for ListVols() and StatVol(). (#1435) 2016-04-30 23:34:43 -07:00
Bala FA
d5df8b8b8d xl: remove unused err return in listFileVersions() (#1434) 2016-04-30 03:21:54 -07:00
Harshavardhana
ac2933c799 windows: Enable erasure test for windows. (#1432)
Fixes #1363
2016-04-30 02:52:23 -07:00
Bala FA
84afec9ae0 xl: fix DeleteFile() removing meta data files without updating it (#1433)
Fixes #1428 #1427
2016-04-30 02:52:15 -07:00
Harshavardhana
27c50a70cc obj: support object names with curly braces. (#1429)
Example files like

```
/usr/share/mozilla/extensions/{ec8030f7-c20a-464f-9b0e-13a3a9e97384}/ubufox@ubuntu.com.xpi
Song's Son.ogg
```

Should be supported.
2016-04-29 20:19:08 -07:00
Bala FA
a978975eea xl: add quorum support for DeleteFile() (#1426)
Fixes #1396
2016-04-29 18:43:18 -07:00
Harshavardhana
dc45ea3946 log: Fix file logging, enable it properly. (#1424)
Fixes #1419
2016-04-29 17:54:02 -07:00
Harshavardhana
9eb56f0676 xl/healFile: Handle errors and continue (#1425)
Fixes #1354
2016-04-29 17:52:49 -07:00
Harshavardhana
10a010c1ad xl/fs: Object layer - keep common functions into single place. (#1423) 2016-04-29 17:52:17 -07:00
Harshavardhana
a9935f886c vendor: update reedsolomon package with new perm improvements. (#1422) 2016-04-29 14:59:03 -07:00
Harshavardhana
4e34e03dd4 xl/fs: Split object layer into interface. (#1415) 2016-04-29 14:24:10 -07:00
nomadlogic
4d1b3d5e9a docs: FreeBSD minio source intructions (#1421)
* Modifications of documentation for using and building minio server on FreeBSD.

- update example of enabling compression to use lz4 vs gzip and provide
  explanation of benefits of lz4

- provide walkthrough of building minio server on FreeBSD with binary
  golang and gmake

* Fixing markdown syntax for code blocks so we render correctly.

* typo fix

* reword compression enablement docs for easier reading
2016-04-29 13:35:20 -07:00
Krishna Srinivas
7066ce5160 XL/Multipart: rename the parts instead of concatenating. (#1416) 2016-04-29 12:17:48 -07:00
Krishna Srinivas
39df425b2a lock: bug fixes. (#1420)
* release Lock on map before trying to Lock NS
* delete NS lock from map if no more refs.
* refactor to avoid repetition of code.
2016-04-29 11:39:20 -07:00
Harshavardhana
984903cce1 server: Add global namespace lock. (#1398)
Fixes #1393
2016-04-29 01:29:09 -07:00