• Dmitry Monakhov's avatar
    ext4: cleanup ext4_ext_grow_indepth code · 1939dd84
    Dmitry Monakhov authored
    Currently code make an impression what grow procedure is very complicated
    and some mythical paths, blocks are involved. But in fact grow in depth
    it relatively simple procedure:
     1) Just create new meta block and copy root data to that block.
     2) Convert root from extent to index if old depth == 0
     3) Update root block pointer
    
    This patch does:
     - Reorganize code to make it more self explanatory
     - Do not pass path parameter to new_meta_block() in order to
       provoke allocation from inode's group because top-level block
       should site closer to it's inode, but not to leaf data block.
    
       [ This happens anyway, due to logic in mballoc; we should drop
         the path parameter from new_meta_block() entirely.  -- tytso ]
    Signed-off-by: default avatarDmitry Monakhov <dmonakhov@openvz.org>
    Signed-off-by: default avatar"Theodore Ts'o" <tytso@mit.edu>
    1939dd84
extents.c 132 KB