Lines Matching +full:32 +full:- +full:bits

1 /* SPDX-License-Identifier: GPL-2.0 */
58 #define DECLARE_BTRFS_SETGET_BITS(bits) \ argument
59 u##bits btrfs_get_token_##bits(struct btrfs_map_token *token, \
61 void btrfs_set_token_##bits(struct btrfs_map_token *token, \
63 u##bits val); \
64 u##bits btrfs_get_##bits(const struct extent_buffer *eb, \
66 void btrfs_set_##bits(const struct extent_buffer *eb, void *ptr, \
67 unsigned long off, u##bits val);
71 DECLARE_BTRFS_SETGET_BITS(32)
74 #define BTRFS_SETGET_FUNCS(name, type, member, bits) \ argument
75 static inline u##bits btrfs_##name(const struct extent_buffer *eb, \
78 static_assert(sizeof(u##bits) == sizeof_field(type, member)); \
79 return btrfs_get_##bits(eb, s, offsetof(type, member)); \
82 u##bits val) \
84 static_assert(sizeof(u##bits) == sizeof_field(type, member)); \
85 btrfs_set_##bits(eb, s, offsetof(type, member), val); \
87 static inline u##bits btrfs_token_##name(struct btrfs_map_token *token, \
90 static_assert(sizeof(u##bits) == sizeof_field(type, member)); \
91 return btrfs_get_token_##bits(token, s, offsetof(type, member));\
94 type *s, u##bits val) \
96 static_assert(sizeof(u##bits) == sizeof_field(type, member)); \
97 btrfs_set_token_##bits(token, s, offsetof(type, member), val); \
100 #define BTRFS_SETGET_HEADER_FUNCS(name, type, member, bits) \ argument
101 static inline u##bits btrfs_##name(const struct extent_buffer *eb) \
103 const type *p = folio_address(eb->folios[0]) + \
104 offset_in_page(eb->start); \
105 return get_unaligned_le##bits(&p->member); \
108 u##bits val) \
110 type *p = folio_address(eb->folios[0]) + offset_in_page(eb->start); \
111 put_unaligned_le##bits(val, &p->member); \
114 #define BTRFS_SETGET_STACK_FUNCS(name, type, member, bits) \ argument
115 static inline u##bits btrfs_##name(const type *s) \
117 return get_unaligned_le##bits(&s->member); \
119 static inline void btrfs_set_##name(type *s, u##bits val) \
121 put_unaligned_le##bits(val, &s->member); \
135 WARN_ON(!IS_ALIGNED(val, eb->fs_info->sectorsize)); in btrfs_set_device_total_bytes()
141 BTRFS_SETGET_FUNCS(device_io_align, struct btrfs_dev_item, io_align, 32);
142 BTRFS_SETGET_FUNCS(device_io_width, struct btrfs_dev_item, io_width, 32);
144 BTRFS_SETGET_FUNCS(device_sector_size, struct btrfs_dev_item, sector_size, 32);
146 BTRFS_SETGET_FUNCS(device_group, struct btrfs_dev_item, dev_group, 32);
157 io_align, 32);
159 io_width, 32);
161 sector_size, 32);
163 BTRFS_SETGET_STACK_FUNCS(stack_device_group, struct btrfs_dev_item, dev_group, 32);
184 BTRFS_SETGET_FUNCS(chunk_io_align, struct btrfs_chunk, io_align, 32);
185 BTRFS_SETGET_FUNCS(chunk_io_width, struct btrfs_chunk, io_width, 32);
186 BTRFS_SETGET_FUNCS(chunk_sector_size, struct btrfs_chunk, sector_size, 32);
202 BTRFS_SETGET_STACK_FUNCS(stack_chunk_io_align, struct btrfs_chunk, io_align, 32);
203 BTRFS_SETGET_STACK_FUNCS(stack_chunk_io_width, struct btrfs_chunk, io_width, 32);
205 sector_size, 32);
269 extent_count, 32);
270 BTRFS_SETGET_FUNCS(free_space_flags, struct btrfs_free_space_info, flags, 32);
292 BTRFS_SETGET_FUNCS(inode_nlink, struct btrfs_inode_item, nlink, 32);
293 BTRFS_SETGET_FUNCS(inode_uid, struct btrfs_inode_item, uid, 32);
294 BTRFS_SETGET_FUNCS(inode_gid, struct btrfs_inode_item, gid, 32);
295 BTRFS_SETGET_FUNCS(inode_mode, struct btrfs_inode_item, mode, 32);
308 BTRFS_SETGET_STACK_FUNCS(stack_inode_nlink, struct btrfs_inode_item, nlink, 32);
309 BTRFS_SETGET_STACK_FUNCS(stack_inode_uid, struct btrfs_inode_item, uid, 32);
310 BTRFS_SETGET_STACK_FUNCS(stack_inode_gid, struct btrfs_inode_item, gid, 32);
311 BTRFS_SETGET_STACK_FUNCS(stack_inode_mode, struct btrfs_inode_item, mode, 32);
315 BTRFS_SETGET_FUNCS(timespec_nsec, struct btrfs_timespec, nsec, 32);
317 BTRFS_SETGET_STACK_FUNCS(stack_timespec_nsec, struct btrfs_timespec, nsec, 32);
364 BTRFS_SETGET_FUNCS(extent_data_ref_count, struct btrfs_extent_data_ref, count, 32);
366 BTRFS_SETGET_FUNCS(shared_data_ref_count, struct btrfs_shared_data_ref, count, 32);
457 BTRFS_SETGET_FUNCS(raw_item_offset, struct btrfs_item, offset, 32);
458 BTRFS_SETGET_FUNCS(raw_item_size, struct btrfs_item, size, 32);
459 BTRFS_SETGET_STACK_FUNCS(stack_item_offset, struct btrfs_item, offset, 32);
460 BTRFS_SETGET_STACK_FUNCS(stack_item_size, struct btrfs_item, size, 32);
486 struct btrfs_item *item = btrfs_item_nr(token->eb, slot); \
492 struct btrfs_item *item = btrfs_item_nr(token->eb, slot); \
594 * Optimized helpers for little-endian architectures where CPU and on-disk
640 cpu->offset = le64_to_cpu(disk->offset); in btrfs_disk_key_to_cpu()
641 cpu->type = disk->type; in btrfs_disk_key_to_cpu()
642 cpu->objectid = le64_to_cpu(disk->objectid); in btrfs_disk_key_to_cpu()
648 disk->offset = cpu_to_le64(cpu->offset); in btrfs_cpu_key_to_disk()
649 disk->type = cpu->type; in btrfs_cpu_key_to_disk()
650 disk->objectid = cpu_to_le64(cpu->objectid); in btrfs_cpu_key_to_disk()
687 BTRFS_SETGET_HEADER_FUNCS(header_nritems, struct btrfs_header, nritems, 32);
693 BTRFS_SETGET_STACK_FUNCS(stack_header_nritems, struct btrfs_header, nritems, 32);
738 BTRFS_SETGET_FUNCS(disk_root_refs, struct btrfs_root_item, refs, 32);
747 BTRFS_SETGET_STACK_FUNCS(root_refs, struct btrfs_root_item, refs, 32);
861 struct btrfs_super_block, sys_chunk_array_size, 32);
878 sectorsize, 32);
880 nodesize, 32);
882 stripesize, 32);