Commit ac467772 authored by Qu Wenruo's avatar Qu Wenruo Committed by Chris Mason

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: default avatarQu Wenruo <quwenruo@cn.fujitsu.com>
Signed-off-by: default avatarChris Mason <clm@fb.com>
parent a408365c
...@@ -2,6 +2,7 @@ ...@@ -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 { ...@@ -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)
{ {
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment