Btrfs: fix tracking of orphan inode count
authorFilipe David Borba Manana <fdmanana@gmail.com>
Sun, 22 Sep 2013 20:54:55 +0000 (21:54 +0100)
committerChris Mason <chris.mason@fusionio.com>
Tue, 12 Nov 2013 02:53:01 +0000 (21:53 -0500)
commit703c88e035242202e3ab48fcbbbe0a7bc62fb7bb
tree06ea46ed4a0492754e8b0be82f43b60b2322c1f8
parentfe09e16cc8d444ecc52f6f9a651946f16fffa4e1
Btrfs: fix tracking of orphan inode count

In inode.c:btrfs_orphan_add() if we failed to insert the orphan
item, we would return without decrementing the orphan count that
we just incremented before attempting the insertion, leaving the
orphan inode count wrong.

In inode.c:btrfs_orphan_del(), we were decrementing the inode
orphan count if the bit BTRFS_INODE_ORPHAN_META_RESERVED was set,
which is logically wrong because it should be decremented if the
bit BTRFS_INODE_HAS_ORPHAN_ITEM was set - after all we increment
the count when we set the bit BTRFS_INODE_HAS_ORPHAN_ITEM elsewhere.

Signed-off-by: Filipe David Borba Manana <fdmanana@gmail.com>
Signed-off-by: Josef Bacik <jbacik@fusionio.com>
Signed-off-by: Chris Mason <chris.mason@fusionio.com>
fs/btrfs/inode.c