• Josef Bacik's avatar
    Btrfs: don't save the inode cache if we are deleting this root · d132a538
    Josef Bacik authored
    With xfstest 254 I can panic the box every time with the inode number caching
    stuff on.  This is because we clean the inodes out when we delete the subvolume,
    but then we write out the inode cache which adds an inode to the subvolume inode
    tree, and then when it gets evicted again the root gets added back on the dead
    roots list and is deleted again, so we have a double free.  To stop this from
    happening just return 0 if refs is 0 (and we're not the tree root since tree
    root always has refs of 0).  With this fix 254 no longer panics.  Thanks,
    Signed-off-by: default avatarJosef Bacik <josef@redhat.com>
    Tested-by: default avatarDavid Sterba <dsterba@suse.cz>
    Signed-off-by: default avatarChris Mason <chris.mason@oracle.com>