diff --git a/fs/btrfs/inode.c b/fs/btrfs/inode.c index b88f6221b48bcda92c66b6e5ebcd1e08ab7924ea..8dba152883d300fa1c0d6092c9700757aa1df4aa 100644 --- a/fs/btrfs/inode.c +++ b/fs/btrfs/inode.c @@ -4926,7 +4926,8 @@ void btrfs_invalidate_inodes(struct btrfs_root *root) struct inode *inode; u64 objectid = 0; - WARN_ON(btrfs_root_refs(&root->root_item) != 0); + if (!test_bit(BTRFS_FS_STATE_ERROR, &root->fs_info->fs_state)) + WARN_ON(btrfs_root_refs(&root->root_item) != 0); spin_lock(&root->inode_lock); again: