On 2010-08-26, at 14:16, andreas@xxxxxxxxxx wrote: >>> Usage: e4defrag -r directory...| device... >>> e4defrag -r base_file move_file...<--- new >>> > > The new interface looks nice. As I see it's easy to implement cause only the main-function must be modified. If you have no objections, I will do it myself and send you the patch to review it. > >> I suspect the original idea would work better because it is more >> likely to pack the libs / files into perfectly contiguous block >> ranges. > > I don't know if it makes a difference for the block allocator. Even though you know the size of all files to be moved. > > For a better result, may it be possible to create a base_file whose inode is part of an empty block group? There is a /proc/fs/ext4/*/inode_goal that will cause new inodes allocated in the filesystem to be after the specified goal inode. I suppose it would also be possible to have e4defrag simply take an inode number in the form "<inode_number>" in place of "base_file", as debugfs does. Cheers, Andreas -- To unsubscribe from this list: send the line "unsubscribe linux-ext4" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html