Releases: 45Drives/autotier
Releases · 45Drives/autotier
Autotier 1.2.0
Autotier 1.2.0-1
- Switch from unique config parser class to lib45d ConfigParser.
- Use lib45d Bytes and Quota classes to clean up math while tiering.
- Make CLI commands more reliable with lib45d Unix domain socket classes in place of FIFOs.
- Fixed bug where statfs() improperly reported fs size and usage.
- Fix deadlock issue while tiering files.
- Overhauled tiering algorithm to better fill high priority tiers.
- Fixed reporting in statfs() and df.
- Made file creation and opening more reliable.
- Tiering triggered by being over quota in release() now happens asynchronously.
- Accounts for files being opened by more than one process while preventing movement across tiers.
- Fix abort on unmount from rocksdb being opened in main thread by deferring opening to fuse init method.
Autotier 1.1.6
autotier 1.1.6-1
- On file conflict, only one file is renamed now, and a bug was fixed where the conflicting file's path was wrong in the database.
Autotier 1.1.6-2
- First build with auto-packaging
Autotier 1.1.6-3
- Add postinst script to add autotier group
autotier 1.1.5 (preview)
autotier 1.1.5
- No longer reports 'cannot open directory' if missing from one of the tiers.
- On file name conflict while moving files between tiers, both files are
renamed with '.autotier_conflict' and '.autotier_conflict_orig' appended. - Added
autotier-init-dirs
script to clone directories only across each
tier for if data is already present before setting up autotier. - Ensures that every call to open() contains a file mode, fixing a fatal
bug in Ubuntu.
autotier 1.1.4 (preview)
autotier 1.1.4
- Tiering of files is automatically triggered if tier is over quota after
writing to a file. To disable, added config optionStrict Period = true
. - Added disabling of tier period by setting to a negative number so a cron
job forautotier oneshot
can be used to trigger tiering. autotier config
now dumps configuration values from memory of mounted
filesystem rather than just printing contents of file.- Implemented parallel moving of files while tiering with one thread per
tier for maximum concurrency. - Fix bug where readdir was still showing backend autotier files.
- Tiering of files is automatically triggered if tier is out of space, and
write() call blocks until tiering is done and the write is tried again. - Added Copy Buffer Size configration parameter to specify block size
while moving files between tiers.
autotier 1.1.3 (preview)
autotier 1.1.3
- Create autotier group during install.
- Set ownership of run path and pipes to root:autotier to allow for
members of autotier group to execute CLI commands. - Report mountpoint in autotier status.
autotier 1.1.2
- Fix bug where CLI tool does not exit after catching error.
autotier 1.1.1 (preview)
autotier 1.1.1
- Fix bug while renaming directories in Ubuntu.
autotier 1.1.0 (preview)
autotier 1.1.0
- Split binaries into autotierfs and autotier, the first being the
filesystem and the second being the CLI tool.
autotier 1.0.4 (preview)
autotier 1.0.4
- Fix renaming directories containing files.
- Pass std::string instead of const char * to Metadata::update().
- Add global mutex lock to guard writing to database.
- Optional old_key argument for Metadata::update() to delete old DB entry
atomically. - Break out fuse methods into separate files and put in fuse_ops namespace.
- Use std::execution::par for sorting vector of files.
autotier 1.0.3
- Overhaul packaging using Docker.
- Rewrite popularity calculation method to be period length agnostic.
- Implement unordered map to store paths to open files, removing lsof dependency.
autotier 1.0.2-beta
autotier 1.0.2-beta1
- Store fuse "global" data in fuse_context->private_data.
- Fix crash from AdHoc worker thread calling exit() on errors.
autotier 1.0.1-beta
autotier 1.0.1-beta1
- Use file handles for everything by setting nullpath_ok in fuse config.
- Rewrite readdir and implement opendir and releasedir to use fi->fh.
- Keep track of live tier usage based on file size inside tier.
- Fix bug where tier worker thread doesn't exit on unmount.
- Fix bug where ownership and permissions aren't properly copied.
- Implement extended attribute methods.