Shake 0.30 (Default branch) |
|
|
Shake is a defragmenter that runs in user-space while the system is in use (for now, on GNU/Linux only), without the need to patch the kernel, and without the need to patch the kernel. Unlike xfs_fsr, it only uses functions common to all filesystems. It aims to evaluate the cost of fragmentation based on criteria such as fragment number, distance from "friends" (by default, a group of files used at the same time), file age (rewriting old files allow the filesystem to reclaim free space), file size, and number of "crumbs" (very small fragments that force the head to move repetetively). A Python module that parses the output of the verbose mode is included.
License: GNU General Public License v3
Changes:
The size unit was changed to kilobytes.
Unnecessary get_ptime() calls were removed. The
code was cleaned up. A workaround against ld
behavior was added. A signal handler that tries to
keep files as safe as it can was added. A Debian
package was added. Support for posix_fadvise() was
added. A crash on files ending with a hole was
fixed. A new build system is featured.
|