Hi, Is there any technical article explaining how defragmentation works in linux filesystems, say btrfs or ext4 ? Do they recreate the file data blocks and change the root pointer to the new extent ? Or do they do some kind of moving blocks around ? Or is it based on some other strategy ? Partial defragmentation (based on either byte offset or extents) is also supported by any of the file systems ? Is there a standard way to trigger a defragmentation operation (an ioctl ?) that my filesystem could implement so that any user space tool that work with other fs will work with mine too ? (Like, how FIEBMAP ioctl can help in giving the extent information for a file from the userspace) I googled a bit to find any articles explaining this. But could not get anything the design. So links to any documentation, article explaining the linux filesystems' way of defragmenting are welcome. Thanks. -- Sankar P http://psankar.blogspot.com -- To unsubscribe from this list: send the line "unsubscribe linux-fsdevel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html