Commit 55fae08a authored by Filipe Manana's avatar Filipe Manana Committed by David Sterba
Browse files

btrfs: unfold transaction aborts when writing dirty block groups



We have a single transaction abort call that can be due to an error from
one of two calls to update_block_group_item(). Unfold the transaction
abort calls so that if they happen we know which update_block_group_item()
call failed.

Signed-off-by: default avatarFilipe Manana <fdmanana@suse.com>
Reviewed-by: default avatarDavid Sterba <dsterba@suse.com>
Signed-off-by: default avatarDavid Sterba <dsterba@suse.com>
parent 3a074cc6
Loading
Loading
Loading
Loading
+4 −2
Original line number Diff line number Diff line
@@ -3644,9 +3644,11 @@ int btrfs_write_dirty_block_groups(struct btrfs_trans_handle *trans)
				wait_event(cur_trans->writer_wait,
				   atomic_read(&cur_trans->num_writers) == 1);
				ret = update_block_group_item(trans, path, cache);
			}
				if (ret)
					btrfs_abort_transaction(trans, ret);
			} else if (ret) {
				btrfs_abort_transaction(trans, ret);
			}
		}

		/* If its not on the io list, we need to put the block group */