Qu Wenruo fbf48bb0b1 btrfs: track qgroup released data in own variable in insert_prealloc_file_extent
There is a piece of weird code in insert_prealloc_file_extent(), which
looks like:

	ret = btrfs_qgroup_release_data(inode, file_offset, len);
	if (ret < 0)
		return ERR_PTR(ret);
	if (trans) {
		ret = insert_reserved_file_extent(trans, inode,
						  file_offset, &stack_fi,
						  true, ret);
	...
	}
	extent_info.is_new_extent = true;
	extent_info.qgroup_reserved = ret;
	...

Note how the variable @ret is abused here, and if anyone is adding code
just after btrfs_qgroup_release_data() call, it's super easy to
overwrite the @ret and cause tons of qgroup related bugs.

Fix such abuse by introducing new variable @qgroup_released, so that we
won't reuse the existing variable @ret.

Signed-off-by: Qu Wenruo <wqu@suse.com>
Reviewed-by: David Sterba <dsterba@suse.com>
Signed-off-by: David Sterba <dsterba@suse.com>
2021-03-15 16:57:12 +01:00
..
2020-12-21 10:28:02 -08:00
2020-12-17 11:18:00 -08:00
2021-01-15 14:54:24 -08:00
2020-12-17 11:18:00 -08:00
2020-12-10 15:33:14 +01:00
2021-02-09 00:52:19 +01:00
2020-12-17 13:22:17 -08:00
\n
2020-12-17 11:00:37 -08:00
2020-09-10 14:03:31 -07:00
2020-12-18 12:50:18 -08:00
2021-01-04 09:06:42 +09:00
2020-12-16 12:57:51 -08:00
2020-12-15 22:46:19 -08:00
\n
2020-10-15 15:03:10 -07:00
2020-12-19 11:18:38 -08:00
2020-08-04 21:02:38 -04:00
2020-12-16 12:57:51 -08:00
2020-07-31 08:16:01 +02:00
2020-08-07 11:33:24 -07:00
2020-12-17 11:18:00 -08:00
2020-10-23 11:33:41 -07:00
2020-08-19 14:14:19 +02:00
2021-01-25 12:32:26 -08:00
2020-10-23 11:33:41 -07:00
2020-07-31 08:16:00 +02:00
2020-10-24 12:40:18 -07:00
2020-09-26 22:55:05 -04:00
2020-12-01 14:53:39 -07:00
2020-12-01 14:53:39 -07:00
2020-06-09 15:40:50 -07:00
2020-07-31 08:16:01 +02:00