diff options
author | Nikolay Borisov <nborisov@suse.com> | 2018-01-29 14:53:01 +0100 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2018-02-02 16:25:14 +0100 |
commit | 952bd3db0dada9994fa7edd891178075abcc045d (patch) | |
tree | 3921acea6d28b5eccb54fc01d6ee70a7e901f0d6 /fs/btrfs/backref.c | |
parent | Btrfs: fix unexpected -EEXIST when creating new inode (diff) | |
download | linux-952bd3db0dada9994fa7edd891178075abcc045d.tar.xz linux-952bd3db0dada9994fa7edd891178075abcc045d.zip |
btrfs: Ignore errors from btrfs_qgroup_trace_extent_post
Running generic/019 with qgroups on the scratch device enabled is almost
guaranteed to trigger the BUG_ON in btrfs_free_tree_block. It's supposed
to trigger only on -ENOMEM, in reality, however, it's possible to get
-EIO from btrfs_qgroup_trace_extent_post. This function just finds the
roots of the extent being tracked and sets the qrecord->old_roots list.
If this operation fails nothing critical happens except the quota
accounting can be considered wrong. In such case just set the
INCONSISTENT flag for the quota and print a warning, rather than killing
off the system. Additionally, it's possible to trigger a BUG_ON in
btrfs_truncate_inode_items as well.
Signed-off-by: Nikolay Borisov <nborisov@suse.com>
Reviewed-by: Qu Wenruo <wqu@suse.com>
[ error message adjustments ]
Signed-off-by: David Sterba <dsterba@suse.com>
Diffstat (limited to 'fs/btrfs/backref.c')
0 files changed, 0 insertions, 0 deletions