summaryrefslogtreecommitdiffstats
path: root/fs/btrfs
diff options
context:
space:
mode:
authorLiu Bo <liubo2009@cn.fujitsu.com>2012-06-25 21:59:09 -0600
committerChris Mason <chris.mason@fusionio.com>2012-07-02 15:39:17 -0400
commit6bf02314d9a5c29f6ec30285b9ad5361c2d4c85a (patch)
treee9e194f5208d2016e98f94b987f9e56db8afe989 /fs/btrfs
parentd3a94048c912e18e99a091d5ea2d0a1178152d6f (diff)
downloadlinux-6bf02314d9a5c29f6ec30285b9ad5361c2d4c85a.tar.gz
linux-6bf02314d9a5c29f6ec30285b9ad5361c2d4c85a.tar.bz2
linux-6bf02314d9a5c29f6ec30285b9ad5361c2d4c85a.zip
Btrfs: fix wrong check during log recovery
When we're evicting an inode during log recovery, we need to ensure that the inode is not in orphan state any more, which means inode's run_time flags has _no_ BTRFS_INODE_HAS_ORPHAN_ITEM. Thus, the BUG_ON was triggered because of a wrong check for the flags. Reviewed-by: David Sterba <dsterba@suse.cz> Signed-off-by: Liu Bo <liubo2009@cn.fujitsu.com> Signed-off-by: Josef Bacik <jbacik@fusionio.com>
Diffstat (limited to 'fs/btrfs')
-rw-r--r--fs/btrfs/inode.c2
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c
index 6971fb5fc859..9f07bd121f66 100644
--- a/fs/btrfs/inode.c
+++ b/fs/btrfs/inode.c
@@ -3754,7 +3754,7 @@ void btrfs_evict_inode(struct inode *inode)
btrfs_wait_ordered_range(inode, 0, (u64)-1);
if (root->fs_info->log_root_recovering) {
- BUG_ON(!test_bit(BTRFS_INODE_HAS_ORPHAN_ITEM,
+ BUG_ON(test_bit(BTRFS_INODE_HAS_ORPHAN_ITEM,
&BTRFS_I(inode)->runtime_flags));
goto no_delete;
}