• Josef Bacik's avatar
    Btrfs: account for orphan inodes properly during cleanup · 925396ec
    Josef Bacik authored
    Dave sent me a panic where we were doing the orphan cleanup and panic'ed
    trying to release our reservation from the orphan block rsv.  The reason for
    this is because our orphan block rsv had been free'd out from underneath us
    because the transaction commit found that there were no orphan inodes
    according to its count and decided to free it.  This is incorrect so make
    sure we inc the orphan inodes count so the accounting is all done properly.
    This would also cause the warning in the orphan commit code normally if you
    had any orphans to cleanup as they would only decrement the orphan count so
    you'd get a negative orphan count which could cause problems during runtime.
    Thanks,
    Signed-off-by: default avatarJosef Bacik <jbacik@fusionio.com>
    925396ec
inode.c 214 KB