Shake is a filesystem defragmenter that runs in userspace. Contrary to xfs_fsr, it uses functions common to all filesystems and can be used to selectively defragment files. For best results, mount your partitions with the user_xattr option.