]> git.baikalelectronics.ru Git - kernel.git/commit
btrfs: qgroup: Return actually freed bytes for qgroup release or free data
authorQu Wenruo <quwenruo@cn.fujitsu.com>
Mon, 27 Feb 2017 07:10:36 +0000 (15:10 +0800)
committerDavid Sterba <dsterba@suse.com>
Thu, 29 Jun 2017 18:17:02 +0000 (20:17 +0200)
commitc8b91e550b7d0404d40fc1724ffd5fd8b4fe0120
tree5befa521d84f3ec6158acae1c3cc07253cb2cf5b
parentc8c6f4333d75a95e9fcc16627b7c36163157f792
btrfs: qgroup: Return actually freed bytes for qgroup release or free data

btrfs_qgroup_release/free_data() only returns 0 or a negative error
number (ENOMEM is the only possible error).

This is normally good enough, but sometimes we need the exact byte
count it freed/released.

Change it to return actually released/freed bytenr number instead of 0
for success.
And slightly modify related extent_changeset structure, since in btrfs
one no-hole data extent won't be larger than 128M, so "unsigned int"
is large enough for the use case.

Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com>
Signed-off-by: David Sterba <dsterba@suse.com>
fs/btrfs/extent-tree.c
fs/btrfs/extent_io.h
fs/btrfs/qgroup.c