Harshavardhana
b2ec7da9f9
Merge pull request #1314 from minio/split-fs
...
Split fs code into storage layer and object layer.
9 years ago
Harshavardhana
be002ac01e
fs/object: Fix issues from review comments.
9 years ago
Krishna Srinivas
149c6ca094
listMultipart: bugfixes. ( #1318 )
9 years ago
Harshavardhana
8457af5708
fs: Add proper volume and path validation.
9 years ago
Krishna Srinivas
caa35f68fa
listMultipart: implement support for marker. ( #1313 )
9 years ago
Harshavardhana
30b0b4deba
storage/server/client: Enable storage server, enable client storage.
9 years ago
Krishna Srinivas
01a439f95b
refactor: add multipart code to the object layer.
9 years ago
Krishna Srinivas
3c48537f20
refactor: refactor code to separate fs into object-layer and fs layer. ( #1305 )
9 years ago
karthic rao
188bb92d8a
bucket-policy parset tests, and bug fixes ( #1317 )
9 years ago
Harshavardhana
6b3fc03701
docker: Update docker document
9 years ago
Harshavardhana
8112291d43
Add FreeBSD binary link and make a release
9 years ago
Harshavardhana
93666827f4
release: Add freebsd/amd64 build and remove zip, tgz. ( #1316 )
9 years ago
GarimaKapoor
ac30bef72a
Revised Docker.md ( #1311 )
9 years ago
Bala FA
bea6f33b08
backend/fs: remove timer channel from scanMultipartDir() ( #1310 )
...
Previously scanMultipartDir() returns object info channel and timer
channel where timer channel is used to check whether object info
channel is alive or not. This causes a race condition that timeout
may occur while object info channel in use.
This patch fixes the issue by removing timer channel and uses object
info channel directly where each object info has End bool field
indicates whether received object info is end or not.
9 years ago
Michael Werle
9fb1c79456
Improved Docker examples ( #1308 )
...
- Fixed a bug in the persistent docker command ("server" in place of "export")
- Added example of how to set consistent keys with ephemeral data, particularly useful for testing.
9 years ago
Harshavardhana
6b5699b15f
config: console logging should be enabled by default. ( #1307 )
9 years ago
Harshavardhana
33cd910d3a
backend/fs: More cleanup and start using checkBuckeArg. ( #1306 )
...
backend/fs: More cleanup and start using checkBucketArg.
9 years ago
Bala FA
6af761c86c
enhance multipart functions to use fsDirent ( #1304 )
...
* backend/fs: scanMulitpartDir returns directories only for recursive listing
* backend/fs: enhance multipart functions to use fsDirent
9 years ago
Matthew Buckett
bedd867c0b
The fs command doesn't work any more, using server
...
Also there's no /export/data folder which stops minio starting so using /export instead.
9 years ago
Harshavardhana
37330bda98
Merge pull request #1302 from harshavardhana/web-api
...
web: Change /rpc to /webrpc
9 years ago
Harshavardhana
8603185f2f
browser: Add new ui-assets.go
9 years ago
Harshavardhana
fbd02d530d
web: Change /rpc to /webrpc
9 years ago
Harshavardhana
bad2f2afbb
storage: Add storage interface.
9 years ago
Harshavardhana
b182e94acc
signature: Handle presigned payload if set.
...
Validate payload with incoming content.
Fixes #1288
9 years ago
Anand Babu (AB) Periasamy
4e6c4da518
Update README.md
9 years ago
Donald Guy
e8cd1aad8d
accessPolicy: prevent backdoor ListBucket via brute-force 404s, per docs + small fixes
...
* accessPolicy: copy object should require PutObject
* accessPolicy: cite mpu perms doc only for relevant operations
* accessPolicy: prevent backdoor ListBucket via brute-force 404s, per docs
9 years ago
Donald Guy
8b4a5f07b4
accessPolicy: allow anonymous HEAD for Getable objects
...
* accessPolicy: allow anonymous HEAD for Getable objects
* accessPolicy: allow anonymous HEAD of Listable Buckets
9 years ago
Harshavardhana
ff4e04d942
atomic/fs: use safe package for atomic writes, even in multipart.
9 years ago
Bala FA
dfba4ff397
doc: add multipart documentation about staging files
9 years ago
Harshavardhana
06e3171076
Merge pull request #1290 from balamurugana/devel
...
Refactor multipart upload
9 years ago
Bala FA
2b3a118636
Merge pull request #1 from harshavardhana/devel
...
Fix list objects test and remove all the old unnecessary files.
9 years ago
Harshavardhana
8986a6802a
Fix ListMultipartUploads 'mc ls -I' now works properly.
9 years ago
Harshavardhana
3fcc60de91
Move the files and rename some functions.
...
- Rename dir.go as 'fs-multipart-dir.go'
- Move the push/pop to fs-multipart.go and rename them as save/lookup.
- Rename objectInfo instances in fs-multipart as multipartObjInfo.
9 years ago
Harshavardhana
9632c94e7a
Fix list objects test and remove all the old unnecessary files.
...
- Fix tests for new changes.
- Change Golang err as 'e' for the time being, before we bring in
probe removal change.
- Remove old structs and temporary files.
9 years ago
Bala.FA
083e4e9479
backend/fs: Refactor multipart upload
...
This patch modifies multipart upload related functions as below
* New multipart upload call creates file
EXPORT_DIR/.minio/BUCKET/PATH/TO/OBJECT/UPLOAD_ID.uploadid
* Put object part call creates file
EXPORT_DIR/.minio/BUCKET/PATH/TO/OBJECT/UPLOAD_ID.PART_NUMBER.MD5SUM_STRING
* Abort multipart call removes all files matching
EXPORT_DIR/.minio/BUCKET/PATH/TO/OBJECT/UPLOAD_ID.*
* Complete multipart call does
1. creates a staging file
EXPORT_DIR/.minio/BUCKET/PATH/TO/OBJECT/UPLOAD_ID.complete.TEMP_NAME
then renames to
EXPORT_DIR/.minio/BUCKET/PATH/TO/OBJECT/UPLOAD_ID.complete
2. rename staging file
EXPORT_DIR/.minio/BUCKET/PATH/TO/OBJECT/UPLOAD_ID.complete
to EXPORT_DIR/BUCKET/PATH/TO/OBJECT
9 years ago
Harshavardhana
c69fdf0cf2
listObjects: Cleanup and naming conventions.
...
- Marker should be escaped outside in handlers.
- Delimiter should be handled outside in handlers.
- Add missing comments and change the function names.
- Handle case of 'maxKeys' when its set to '0', its a valid
case and should be treated as such.
9 years ago
Krishna Srinivas
85ab1df5a8
listObjects: do not do stat during readdir()
...
* listObjects: improve response time by not doing stat during readDir() operation.
* listObjects: Add windows support.
* listObjects: Readdir() in batches to conserve memory. Add solaris build.
* listObjects: cleanup code.
9 years ago
Harshavardhana
7623e0f8e8
docker: Fix bug in start.sh arguments.
9 years ago
Anand Babu (AB) Periasamy
9843aa1f7a
Merge pull request #1284 from harshavardhana/list
...
objectAPI: Fix object API interface, remove unnecessary structs.
9 years ago
Harshavardhana
0479d4976b
objectAPI: Fix object API interface, remove unnecessary structs.
...
ObjectAPI changes.
```
ListObjects(bucket, prefix, marker, delimiter string, maxKeys int) (ListObjectsInfo, *probe.Error)
ListMultipartUploads(bucket, objectPrefix, keyMarker, uploadIDMarker, delimiter string, maxUploads int) (ListMultipartsInfo, *probe.Error)
ListObjectParts(bucket, object, uploadID string, partNumberMarker, maxParts int) (ListPartsInfo, *probe.Error)
CompleteMultipartUpload(bucket string, object string, uploadID string, parts []completePart) (ObjectInfo, *probe.Error)
```
9 years ago
Anand Babu (AB) Periasamy
12515eabe2
Merge pull request #1280 from harshavardhana/region
...
signature: No need to validate region for getBucketLocation and listBuckets
9 years ago
Harshavardhana
a6a4e7e297
signature: No need to validate region for getBucketLocation and listBuckets.
...
This type of check is added for making sure that we can support
custom regions.
ListBuckets and GetBucketLocation are always "us-east-1" rest
should look for the configured region.
Fixes #1278
9 years ago
Anand Babu (AB) Periasamy
2c793a2ea7
Merge pull request #1282 from harshavardhana/remove-old-code
...
cleanup: Remove old donut/xl code and erasure implementation.
9 years ago
Anand Babu (AB) Periasamy
2bb262cc56
Merge pull request #1279 from harshavardhana/backend
...
config: Migrate to the new version. Remove backend details.
9 years ago
Harshavardhana
379e0abf03
cleanup: Remove old donut/xl code and erasure implementation.
...
This is a change to bring in 'klauspost/reedsolomon' library
in #1270 patch.
9 years ago
Harshavardhana
484ba91b08
config: Migrate to the new version. Remove backend details.
...
Migrate to new config format v4.
```
{
"version": "4",
"credential": {
"accessKey": "WLGDGYAQYIGI833EV05A",
"secretKey": "BYvgJM101sHngl2uzjXS/OBF/aMxAN06JrJ3qJlF"
},
"region": "us-east-1",
"logger": {
"console": {
"enable": true,
"level": "fatal"
},
"file": {
"enable": false,
"fileName": "",
"level": "error"
},
"syslog": {
"enable": false,
"address": "",
"level": "debug"
}
}
}
```
This patch also updates [minio cli spec](./minio.md)
9 years ago
Harshavardhana
6037fe66e9
minio: Simplify for `gosimple` tool complaints.
9 years ago
Harshavardhana
ba3a5805c1
vendorize: Add updated ui-assets.go.
9 years ago
Anand Babu (AB) Periasamy
33830bfcae
Merge pull request #1273 from harshavardhana/fs-linux
...
fs: Break fs package to top-level and introduce ObjectAPI interface.
9 years ago
Harshavardhana
efc80343e3
fs: Break fs package to top-level and introduce ObjectAPI interface.
...
ObjectAPI interface brings in changes needed for XL ObjectAPI layer.
The new interface for any ObjectAPI layer is as below
```
// ObjectAPI interface.
type ObjectAPI interface {
// Bucket resource API.
DeleteBucket(bucket string) *probe.Error
ListBuckets() ([]BucketInfo, *probe.Error)
MakeBucket(bucket string) *probe.Error
GetBucketInfo(bucket string) (BucketInfo, *probe.Error)
// Bucket query API.
ListObjects(bucket, prefix, marker, delimiter string, maxKeys int) (ListObjectsResult, *probe.Error)
ListMultipartUploads(bucket string, resources BucketMultipartResourcesMetadata) (BucketMultipartResourcesMetadata, *probe.Error)
// Object resource API.
GetObject(bucket, object string, startOffset int64) (io.ReadCloser, *probe.Error)
GetObjectInfo(bucket, object string) (ObjectInfo, *probe.Error)
PutObject(bucket string, object string, size int64, data io.Reader, metadata map[string]string) (ObjectInfo, *probe.Error)
DeleteObject(bucket, object string) *probe.Error
// Object query API.
NewMultipartUpload(bucket, object string) (string, *probe.Error)
PutObjectPart(bucket, object, uploadID string, partID int, size int64, data io.Reader, md5Hex string) (string, *probe.Error)
ListObjectParts(bucket, object string, resources ObjectResourcesMetadata) (ObjectResourcesMetadata, *probe.Error)
CompleteMultipartUpload(bucket string, object string, uploadID string, parts []CompletePart) (ObjectInfo, *probe.Error)
AbortMultipartUpload(bucket, object, uploadID string) *probe.Error
}
```
9 years ago