diff options
Diffstat (limited to 'fs/btrfs/relocation.c')
| -rw-r--r-- | fs/btrfs/relocation.c | 4 | 
1 files changed, 3 insertions, 1 deletions
diff --git a/fs/btrfs/relocation.c b/fs/btrfs/relocation.c index 017281dbb2a..646ee21bb03 100644 --- a/fs/btrfs/relocation.c +++ b/fs/btrfs/relocation.c @@ -1279,7 +1279,9 @@ static int __update_reloc_root(struct btrfs_root *root, int del)  		if (rb_node)  			backref_tree_panic(rb_node, -EEXIST, node->bytenr);  	} else { +		spin_lock(&root->fs_info->trans_lock);  		list_del_init(&root->root_list); +		spin_unlock(&root->fs_info->trans_lock);  		kfree(node);  	}  	return 0; @@ -3811,7 +3813,7 @@ restart:  		ret = btrfs_block_rsv_check(rc->extent_root, rc->block_rsv, 5);  		if (ret < 0) { -			if (ret != -EAGAIN) { +			if (ret != -ENOSPC) {  				err = ret;  				WARN_ON(1);  				break;  |