diff options
author | Qu Wenruo <quwenruo@cn.fujitsu.com> | 2015-10-12 14:53:37 +0800 |
---|---|---|
committer | Chris Mason <clm@fb.com> | 2015-10-21 18:37:44 -0700 |
commit | d38ed27f0442c8cd520e093081127949d4bcf9bc (patch) | |
tree | d8fdb42478d6badd99db87c2a4551616ab3c8923 /fs/btrfs/extent_io.h | |
parent | ac46777213e00e26b9210060586f473368c54da2 (diff) | |
download | linux-d38ed27f0442c8cd520e093081127949d4bcf9bc.tar.gz linux-d38ed27f0442c8cd520e093081127949d4bcf9bc.tar.bz2 linux-d38ed27f0442c8cd520e093081127949d4bcf9bc.zip |
btrfs: extent_io: Introduce new function set_record_extent_bits
Introduce new function set_record_extent_bits(), which will not only set
given bits, but also record how many bytes are changed, and detailed
range info.
This is quite important for later qgroup reserve framework.
The number of bytes will be used to do qgroup reserve, and detailed
range info will be used to cleanup for EQUOT case.
Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com>
Signed-off-by: Chris Mason <clm@fb.com>
Diffstat (limited to 'fs/btrfs/extent_io.h')
-rw-r--r-- | fs/btrfs/extent_io.h | 3 |
1 files changed, 3 insertions, 0 deletions
diff --git a/fs/btrfs/extent_io.h b/fs/btrfs/extent_io.h index 3107a6eb8e78..4a7c9d9fbb4f 100644 --- a/fs/btrfs/extent_io.h +++ b/fs/btrfs/extent_io.h @@ -227,6 +227,9 @@ int clear_extent_bit(struct extent_io_tree *tree, u64 start, u64 end, struct extent_state **cached, gfp_t mask); int set_extent_bits(struct extent_io_tree *tree, u64 start, u64 end, unsigned bits, gfp_t mask); +int set_record_extent_bits(struct extent_io_tree *tree, u64 start, u64 end, + unsigned bits, gfp_t mask, + struct extent_changeset *changeset); int set_extent_bit(struct extent_io_tree *tree, u64 start, u64 end, unsigned bits, u64 *failed_start, struct extent_state **cached_state, gfp_t mask); |