Hello, > >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. Yes. On the other hand I believe that some people would like to use defragmentation but stay with ext3. For them conversion to extents is no-go. > >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? Yes that could be useful but I don't think it's a complete solution for people that don't want to migrate. Honza -- Jan Kara <jack@xxxxxxx> SuSE CR Labs - 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