Harshavardhana
623e0f9243
XL: listOnlineDisks should use modTime instead of version. ( #2166 )
...
This change is needed to make reading from objects future proof
in-terms of handling online disks. Our current counter is not
based on affirmative knowledge and relies on arithmetic sequence
which can lead to bugs.
Using modTime simplifies the understanding of `xl.json` and future
tooling / debugging of the format.
9 years ago
Krishnan Parthasarathi
bef72f26db
xl: Make locking more granular for PutObjectPart requests ( #2168 )
9 years ago
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
9 years ago
Krishna Srinivas
aa7079fc7b
XL/GetObject: If quorum not available during GetObject appropriate error should be returned. ( #2135 )
9 years ago
Harshavardhana
6266328a85
XL/metadata: use new hashOrder algorithm for newXLMeta. ( #2147 )
9 years ago
frankw
63b3f1dcfd
Use new algorithm to get fixed random order of disks ( #2147 )
9 years ago
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
9 years ago
Harshavardhana
ae936a0147
XL: Relax write quorum further to N/2 + 1. ( #2018 )
...
This changes behavior in some parts of the code
as well address it.
Fixes #2016
9 years ago
Harshavardhana
e8990e42c2
XL: Make allocations simpler avoid redundant allocs. ( #1961 )
...
- Reduce 10MiB buffers for loopy calls to use 128KiB.
- start using 128KiB buffer where needed.
9 years ago
Harshavardhana
50d25ca94a
XL: Change AppendFile() to return only error ( #1932 )
...
AppendFile ensures that it appends the entire buffer. Returns
an error otherwise, this patch removes the necessity for the
caller to look for 'n' return on short writes.
Ref #1893
9 years ago
Harshavardhana
e1aad066c6
XL: CompleteMultipart should ignore last part is 0bytes. ( #1931 )
...
Fixes #1917
9 years ago
Harshavardhana
8c0942bf0d
XL: Remove usage of reduceErr and make it isQuorum verification. ( #1909 )
...
Fixes #1908
9 years ago
Bala FA
61598ed02f
posix: return errFaultyDisk on I/O errors. ( #1885 )
...
When I/O error is occured more than allowed limit, posix returns
errFaultyDisk.
Fixes #1884
9 years ago
Harshavardhana
82fd907933
XL/PutObject: Handle all pending cases of DiskNotFound.
9 years ago
Harshavardhana
fb95c1fad3
XL: Bring in some modularity into format verification and healing. ( #1832 )
9 years ago
Harshavardhana
ae311aa53b
XL: Cleanup, comments and all the updated functions. ( #1830 )
9 years ago
Harshavardhana
c493ab5d0d
XL: Bring in sha512 checksum support. ( #1797 )
9 years ago
Harshavardhana
445dc22118
XL: Cleanup and add more comments. ( #1807 )
9 years ago
Harshavardhana
a4a0ea605b
XL: Fix GetObject erasure decode issues. ( #1793 )
9 years ago
Harshavardhana
5e8de786b3
XL: Truly use unique id's in temp directory. ( #1790 )
...
This also helps in avoiding cleaning up directories after.
Additionally this patch also fixes the problem of Range offsets.
9 years ago
Harshavardhana
feb337098d
XL: bring in new storage API. ( #1780 )
...
Fixes #1771
9 years ago
Harshavardhana
d65101a8c8
XL: Implement strided erasure distribution. ( #1772 )
...
Strided erasure distribution uses a new randomized
block distribution for each Put operation. This
information is captured inside `xl.json` for subsequent
Get operations.
9 years ago
Harshavardhana
b2293c2bf4
XL: Rename, cleanup and add more comments. ( #1769 )
...
- xl-v1-bucket.go - removes a whole bunch of code.
- {xl-v1,fs-v1}-metadata.go - add a lot of comments and rename functions
appropriately.
9 years ago
Harshavardhana
553fdb9211
XL: Bring in support for object versions written during writeQuorum. ( #1762 )
...
Erasure is initialized as needed depending on the quorum and onlineDisks.
This way we can manage the quorum at the object layer.
9 years ago
Harshavardhana
a9e778f460
XL/fs: initObjectLayer should cleanup tmpMetaPrefix in parallel. ( #1752 )
...
Fixes #1747
9 years ago
Harshavardhana
ee6645f421
XL: Add additional PartNumber variable as part of `xl.json` ( #1750 )
...
This is needed for verification of incoming parts and to
support variadic part uploads. Which should be sorted
properly.
Fixes #1740
9 years ago
Harshavardhana
1e393c6c5b
XL: Add new metadata for checksum. ( #1743 )
9 years ago
Harshavardhana
a00a5c6e7e
XL: Multipart update uploads.json properly. ( #1741 )
9 years ago
Harshavardhana
293d246f95
XL/FS: Rewrite in new format.
9 years ago
Harshavardhana
4e34e03dd4
xl/fs: Split object layer into interface. ( #1415 )
9 years ago
Harshavardhana
a1a667ae5d
xl: Change fileMetadata to xlMetadata. ( #1404 )
...
Finalized backend format
```
{
"version": "1.0.0",
"stat": {
"size": 24256,
"modTime": "2016-04-28T00:11:37.843Z"
},
"erasure": {
"data": 5,
"parity": 5,
"blockSize": 4194304
],
"minio": {
"release": "RELEASE.2016-04-28T00-09-47Z"
}
}
```
9 years ago
Krishna Srinivas
8c85815106
xl: refactor functions to xl-v1-common.go xl-v1-utils.go. ( #1357 )
9 years ago
Krishna Srinivas
becc814531
Xl layer selfheal quorum2
...
* xl/selfheal: selfheal based on read quorum on GET
* xl: getReadableDisks() also returns whether self-heal is needed so that this info can be used by ReadFile/SelfHeal/StatFile.
* xl: trigger selfheal from StatFile.
9 years ago
Harshavardhana
9bd9441107
xl: Simplify reading metadata and add a new fileMetadata type. ( #1346 )
9 years ago