@@ -34,7 +34,7 @@ void btrfs_init_map_token(struct btrfs_map_token *token, struct extent_buffer *e
3434
3535static inline u8 get_unaligned_le8 (const void * p )
3636{
37- return * (u8 * )p ;
37+ return * (const u8 * )p ;
3838}
3939
4040static inline void put_unaligned_le8 (u8 val , void * p )
@@ -48,8 +48,8 @@ static inline void put_unaligned_le8(u8 val, void *p)
4848 offsetof(type, member), \
4949 sizeof(((type *)0)->member)))
5050
51- #define write_eb_member (eb , ptr , type , member , result ) (\
52- write_extent_buffer(eb, (char *)(result ), \
51+ #define write_eb_member (eb , ptr , type , member , source ) ( \
52+ write_extent_buffer(eb, (const char *)(source ), \
5353 ((unsigned long)(ptr)) + \
5454 offsetof(type, member), \
5555 sizeof(((type *)0)->member)))
@@ -62,7 +62,7 @@ void btrfs_set_token_##bits(struct btrfs_map_token *token, \
6262 u##bits val); \
6363u##bits btrfs_get_##bits(const struct extent_buffer *eb, \
6464 const void *ptr, unsigned long off); \
65- void btrfs_set_##bits(const struct extent_buffer *eb, void *ptr, \
65+ void btrfs_set_##bits(struct extent_buffer *eb, void *ptr, \
6666 unsigned long off, u##bits val);
6767
6868DECLARE_BTRFS_SETGET_BITS (8 )
@@ -77,7 +77,7 @@ static inline u##bits btrfs_##name(const struct extent_buffer *eb, \
7777 _static_assert(sizeof(u##bits) == sizeof(((type *)0))->member); \
7878 return btrfs_get_##bits(eb, s, offsetof(type, member)); \
7979} \
80- static inline void btrfs_set_##name(const struct extent_buffer *eb, type *s, \
80+ static inline void btrfs_set_##name(struct extent_buffer *eb, type *s, \
8181 u##bits val) \
8282{ \
8383 _static_assert(sizeof(u##bits) == sizeof(((type *)0))->member); \
@@ -99,14 +99,16 @@ static inline void btrfs_set_token_##name(struct btrfs_map_token *token,\
9999/*
100100 * MODIFIED:
101101 * - We have eb->data, not eb->folios[0]
102+ * - no const for extent buffer in btrfs_set_*, buffer is local, in kernel
103+ * it's indirection to pages/folios
102104 */
103105#define BTRFS_SETGET_HEADER_FUNCS (name , type , member , bits ) \
104106static inline u##bits btrfs_##name(const struct extent_buffer *eb) \
105107{ \
106- const type *p = (type *)eb->data; \
108+ const type *p = (const type *)eb->data; \
107109 return get_unaligned_le##bits(&p->member); \
108110} \
109- static inline void btrfs_set_##name(const struct extent_buffer *eb, \
111+ static inline void btrfs_set_##name(struct extent_buffer *eb, \
110112 u##bits val) \
111113{ \
112114 type *p = (type *)eb->data; \
@@ -133,8 +135,9 @@ static inline u64 btrfs_device_total_bytes(const struct extent_buffer *eb,
133135/*
134136 * MODIFIED
135137 * - Removed WARN_ON(!IS_ALIGNED(val, eb->fs_info->sectorsize));
138+ * - no const for extent buffer
136139 */
137- static inline void btrfs_set_device_total_bytes (const struct extent_buffer * eb ,
140+ static inline void btrfs_set_device_total_bytes (struct extent_buffer * eb ,
138141 struct btrfs_dev_item * s ,
139142 u64 val )
140143{
@@ -379,9 +382,9 @@ static inline void btrfs_tree_block_key(const struct extent_buffer *eb,
379382 read_eb_member (eb , item , struct btrfs_tree_block_info , key , key );
380383}
381384
382- static inline void btrfs_set_tree_block_key (const struct extent_buffer * eb ,
385+ static inline void btrfs_set_tree_block_key (struct extent_buffer * eb ,
383386 struct btrfs_tree_block_info * item ,
384- struct btrfs_disk_key * key )
387+ const struct btrfs_disk_key * key )
385388{
386389 write_eb_member (eb , item , struct btrfs_tree_block_info , key , key );
387390}
@@ -435,7 +438,7 @@ static inline u64 btrfs_node_blockptr(const struct extent_buffer *eb, int nr)
435438 return btrfs_key_blockptr (eb , (struct btrfs_key_ptr * )ptr );
436439}
437440
438- static inline void btrfs_set_node_blockptr (const struct extent_buffer * eb ,
441+ static inline void btrfs_set_node_blockptr (struct extent_buffer * eb ,
439442 int nr , u64 val )
440443{
441444 unsigned long ptr ;
@@ -454,7 +457,7 @@ static inline u64 btrfs_node_ptr_generation(const struct extent_buffer *eb, int
454457 return btrfs_key_generation (eb , (struct btrfs_key_ptr * )ptr );
455458}
456459
457- static inline void btrfs_set_node_ptr_generation (const struct extent_buffer * eb ,
460+ static inline void btrfs_set_node_ptr_generation (struct extent_buffer * eb ,
458461 int nr , u64 val )
459462{
460463 unsigned long ptr ;
@@ -473,8 +476,8 @@ static inline unsigned long btrfs_node_key_ptr_offset(const struct extent_buffer
473476void btrfs_node_key (const struct extent_buffer * eb ,
474477 struct btrfs_disk_key * disk_key , int nr );
475478
476- static inline void btrfs_set_node_key (const struct extent_buffer * eb ,
477- struct btrfs_disk_key * disk_key , int nr )
479+ static inline void btrfs_set_node_key (struct extent_buffer * eb ,
480+ const struct btrfs_disk_key * disk_key , int nr )
478481{
479482 unsigned long ptr ;
480483
@@ -505,7 +508,7 @@ static inline u32 btrfs_item_##member(const struct extent_buffer *eb, int slot)
505508{ \
506509 return btrfs_raw_item_##member(eb, btrfs_item_nr(eb, slot)); \
507510} \
508- static inline void btrfs_set_item_##member(const struct extent_buffer *eb, \
511+ static inline void btrfs_set_item_##member(struct extent_buffer *eb, \
509512 int slot, u32 val) \
510513{ \
511514 btrfs_set_raw_item_##member(eb, btrfs_item_nr(eb, slot), val); \
@@ -540,7 +543,7 @@ static inline void btrfs_item_key(const struct extent_buffer *eb,
540543}
541544
542545static inline void btrfs_set_item_key (struct extent_buffer * eb ,
543- struct btrfs_disk_key * disk_key , int nr )
546+ const struct btrfs_disk_key * disk_key , int nr )
544547{
545548 struct btrfs_item * item = btrfs_item_nr (eb , nr );
546549
0 commit comments