Hi Aneesh san,
While doing online defragmentation do we move the blocks corresponding to extent index ?
The reason why i am asking this is to understand the
usefulness of doing a ext4migrate followed by defrag. I understand that defragmentation
in general will improve the performance. But with respect to ext4migrate we are not
touching the data blocks. Instead we build the extent map and if that requires to have
an extent index block then we allocate one. I am trying to understand what would be the
performance impact of this and whether doing a defrag really improve the performance.
I think converting a file to extents has the benefit for the performance of
block searching. If we want to improve also the performance of reading
file data, we have to run the defrag after that.
Also looking at the version 0.4 I see that defrag ioctl only work if we have
EXT4_EXTENTS_FL flag set. What are the plans for making defrag work with indirect block
map inode ?
Unfortunately, my defrag doesn't support an indirect block file.
But we can reduce fragments in the file with the defrag just after
ext4migrate.
In my opinion, to keep the ioctl simple and small is very important
for ease of maintenance. So I would rather not support indirect
block files in the ioctl.
Instead, I can add the call of the migration ioctl to my defrag tool in order
to defragment indirect block files. How do you think of it?
Cheers, Takashi
-
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