mirror of https://gitee.com/openkylin/linux.git
btrfs: extent_io: Introduce needed structure for recoding set/clear bits
Add a new structure, extent_change_set, to record how many bytes are changed in one set/clear_extent_bits() operation, with detailed changed ranges info. This provides the needed facilities for later qgroup reserve framework. Signed-off-by: Qu Wenruo <quwenruo@cn.fujitsu.com> Signed-off-by: Chris Mason <clm@fb.com>
This commit is contained in:
parent
a408365c62
commit
ac46777213
|
@ -2,6 +2,7 @@
|
||||||
#define __EXTENTIO__
|
#define __EXTENTIO__
|
||||||
|
|
||||||
#include <linux/rbtree.h>
|
#include <linux/rbtree.h>
|
||||||
|
#include "ulist.h"
|
||||||
|
|
||||||
/* bits for the extent state */
|
/* bits for the extent state */
|
||||||
#define EXTENT_DIRTY (1U << 0)
|
#define EXTENT_DIRTY (1U << 0)
|
||||||
|
@ -161,6 +162,17 @@ struct extent_buffer {
|
||||||
#endif
|
#endif
|
||||||
};
|
};
|
||||||
|
|
||||||
|
/*
|
||||||
|
* Structure to record how many bytes and which ranges are set/cleared
|
||||||
|
*/
|
||||||
|
struct extent_changeset {
|
||||||
|
/* How many bytes are set/cleared in this operation */
|
||||||
|
u64 bytes_changed;
|
||||||
|
|
||||||
|
/* Changed ranges */
|
||||||
|
struct ulist *range_changed;
|
||||||
|
};
|
||||||
|
|
||||||
static inline void extent_set_compress_type(unsigned long *bio_flags,
|
static inline void extent_set_compress_type(unsigned long *bio_flags,
|
||||||
int compress_type)
|
int compress_type)
|
||||||
{
|
{
|
||||||
|
|
Loading…
Reference in New Issue