• Miao Xie's avatar
    Btrfs: fix orphan backref nodes · 76b9e23d
    Miao Xie authored
    If the root node of a fs/file tree is in the block group that is
    being relocated, but the others are not in the other block groups.
    when we create a snapshot for this tree between the relocation tree
    creation ends and ->create_reloc_tree is set to 0, Btrfs will create
    some backref nodes that are the lowest nodes of the backrefs cache.
    But we forget to add them into ->leaves list of the backref cache
    and deal with them, and at last, they will triggered BUG_ON().
    
      kernel BUG at fs/btrfs/relocation.c:239!
    
    This patch fixes it by adding them into ->leaves list of backref cache.
    Signed-off-by: default avatarMiao Xie <miaox@cn.fujitsu.com>
    Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>
    76b9e23d
relocation.c 103 KB