<snip>
Saying that XFS and ext4 have 'in kernel defraggers' is not quite correct. You might as well say that Reiser has them too and even the old bekeley FFS had them - just using 'cylinder groups' kept fragmentation down. There in the kernel is code that re-packs small files into avilable space or occassionally moves blocks. Its not a new idea. I'd hardly call it a defragger if it is an intrinsic part of the way the FS works.
As such, a defrag "product" or "tool" would take effort and give little benefit.
In the case of ext4, the "EXT4_IOC_MOVE_EXT" ioctl was written with the primary goal of supporting online defrag. That initially went into ext4 around 2.6.29 or 2.6.30. Akira Fujita (and team) was the author and I'm pretty sure his only goal was adding the necessary kernel support to allow ext4 defrag to work. The userspace tool to invoke it is e4defrag and Akira Fujita (and team) also wrote it. Not yet in OS 11.2 I don't believe, but I assume it will be part of 11.3. So the above kernel/userspace pair really is a ext4 defrag tool, not just the inherent way the kernel allocates blocks. xfs has a similar tool, xfs_fsr, which I know less about but I'm pretty sure it too is a true defrag tool and not just an inherent part of the xfs filesystem driver. fyi: As I separately posted, I'm part of a project that is using EXT4_IOC_MOVE_EXT for something other than defrag, but I follow the defrag effort because we need the underlying kernel features for our project. (OHSM). Greg -- To unsubscribe, e-mail: opensuse+unsubscribe@opensuse.org For additional commands, e-mail: opensuse+help@opensuse.org