diff options
author | Liu Bo <liubo2009@cn.fujitsu.com> | 2012-06-25 21:59:09 -0600 |
---|---|---|
committer | Chris Mason <chris.mason@fusionio.com> | 2012-07-02 15:39:17 -0400 |
commit | 6bf02314d9a5c29f6ec30285b9ad5361c2d4c85a (patch) | |
tree | e9e194f5208d2016e98f94b987f9e56db8afe989 /fs | |
parent | d3a94048c912e18e99a091d5ea2d0a1178152d6f (diff) | |
download | kernel_goldelico_gta04-6bf02314d9a5c29f6ec30285b9ad5361c2d4c85a.zip kernel_goldelico_gta04-6bf02314d9a5c29f6ec30285b9ad5361c2d4c85a.tar.gz kernel_goldelico_gta04-6bf02314d9a5c29f6ec30285b9ad5361c2d4c85a.tar.bz2 |
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')
-rw-r--r-- | fs/btrfs/inode.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index 6971fb5..9f07bd1 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; } |