a0d0454 gfs2_edit savemeta: speed up is_block_in_per_node()

Authored and Committed by andyp 8 years ago
    gfs2_edit savemeta: speed up is_block_in_per_node()
    
    Previously is_block_in_per_node() called lgfs2_inode_read() and
    do_dinode_extended() for each block and savemeta was spending the vast
    majority of its time in this function according to perf. This patch
    speeds up the lookups by keeping a tree of per_node block addresses
    which can be quickly consulted. In my tests with a full 700G filesystem
    this patch cuts the run time in half.
    
    Resolves: rhbz#1162216
    Signed-off-by: Andrew Price <anprice@redhat.com>
    
        
file modified
+72 -4