• J
    Btrfs: drop dir i_size when adding new names on replay · d555438b
    Josef Bacik 提交于
    So if we have dir_index items in the log that means we also have the inode item
    as well, which means that the inode's i_size is correct.  However when we
    process dir_index'es we call btrfs_add_link() which will increase the
    directory's i_size for the new entry.  To fix this we need to just set the dir
    items i_size to 0, and then as we find dir_index items we adjust the i_size.
    btrfs_add_link() will do it for new entries, and if the entry already exists we
    can just add the name_len to the i_size ourselves.  Thanks,
    Signed-off-by: NJosef Bacik <jbacik@fusionio.com>
    Signed-off-by: NChris Mason <chris.mason@fusionio.com>
    d555438b
tree-log.c 109.1 KB