Git changelog (this is GPL-ed software, distributed without any warranty)

What is it ?

Shake is a defragmenter that runs in userspace, without the need of patching the kernel and while the system is used (for now, on GNU/Linux only).

There is nothing magic in that : it just works by rewriting fragmented files. But it has some heuristics that could make it more efficient than other tools, including defrag and, maybe, xfs_fsr.

As an example, it allows you to write:

find -iname '*.mp3' | sort | shake

to defrag all mp3 in a directory, puting together on the disk those close in lexical order.