All notable changes to this project will be documented in this file.
The format is based on Keep a Changelog and this project adheres to Semantic Versioning.
- Update to latest minio.
- go.mod has had 'go mod tidy' run on it.
- Compatability with latest minio.
- Compatability with go v1.13.
- Added go.mod for module support.
- Empty files can be uploaded to S3 again, without causing a memory leak.
- Bad S3 credentials now immediately return an error from NewS3Accessor(), instead of allowing you to proceed to an un-usable mount.
- Critical fix for potential silent errors when reading from an overloaded Ceph storage system.
- On failure to read from remote object store, now retries 20 times with delays, instead of just once.
- Can now read from directories when multiplexing with non-existent ones.
- Can list directory contents with >1000 entries.
- Backwards incompatible API changes: RemoteAccessor DeleteIncompleteUpload now returns an error. RemoteAccessor OpenFile() now takes an offset to open and seek in 1 call. RemoteAccessor Seek() now takes a path and returns a ReadCloser, since the implementation may be the same as OpenFile().
- Makefile includes improved way of linting.
- Code delinted.
- Improved logging for errors.
- Tests work under MacOS
- When using a shared cache directory, files cached by a prior process are now actually used, instead of reading from remote again.
- Compiles against latest minio-go.
- Possible fix for "too many open files" when using cached mounts.
- Compiles against latest minio-go.
- Remote reads that work but then stop working due to "connection reset by peer" now result in retries for 10mins instead of a failing instantly.
- Slow reads with unix tools like cat or cp.
- Remote servers that work but then stop working due to "connection reset by peer" now result in retries for 10mins instead of a fixed number of retries.
- The logs for successful calls now note if there had been problems, with a "previous_err" and a number of retries.
- Data race conditions have been eliminated.
- "Too many open files" problem after many reads/writes.
- "Cached size differs" problem while doing multithreaded writes to the same file.
- Written to file seeming to not exist afterwards.
- V2 signatures are now used for compatibility with Ceph + latest version of minio-go.
- Non-existent remote directories can now be mounted and accessed without error.
- Serial writes when not cached are now implemented.
- RemoteAccessor public interface gains 3 new methods that must be implemented: UploadData(), DeleteIncompleteUpload() and ErrorIsNoQuota().
- Failed uploads no longer leave behind incomplete upload parts.
- Memory used for caches is freed on Flush() to avoid other calls running out of memory.
- First semver release of muxfys