btrfs_set_stack_chunk_num_stripes(chunk, 1);
btrfs_set_stack_chunk_sub_stripes(chunk, 0);
chunk->stripe.devid = super->dev_item.devid;
- chunk->stripe.offset = cpu_to_le64(0);
+ btrfs_set_stack_stripe_offset(&chunk->stripe, 0);
memcpy(chunk->stripe.dev_uuid, super->dev_item.uuid, BTRFS_UUID_SIZE);
btrfs_set_super_sys_array_size(super, sizeof(*key) + sizeof(*chunk));
return 0;
u64 h_byte, h_level, h_gen, h_owner;
// printf("searching %Lu\n", offset + block_off);
- h_byte = le64_to_cpu(header->bytenr);
- h_owner = le64_to_cpu(header->owner);
+ h_byte = btrfs_stack_header_bytenr(header);
+ h_owner = btrfs_stack_header_owner(header);
h_level = header->level;
- h_gen = le64_to_cpu(header->generation);
+ h_gen = btrfs_stack_header_generation(header);
if (h_owner != objectid)
goto next;
btrfs_set_stack_chunk_num_stripes(chunk, 1);
btrfs_set_stack_chunk_sub_stripes(chunk, 0);
chunk->stripe.devid = super->dev_item.devid;
- chunk->stripe.offset = cpu_to_le64(0);
+ btrfs_set_stack_stripe_offset(&chunk->stripe, 0);
memcpy(chunk->stripe.dev_uuid, super->dev_item.uuid, BTRFS_UUID_SIZE);
btrfs_set_super_sys_array_size(super, sizeof(*key) + sizeof(*chunk));
csum_block(buffer, 4096);
s = (char *) &sb->magic;
for (i = 0; i < 8; i++)
putchar(isprint(s[i]) ? s[i] : '.');
- if (sb->magic == cpu_to_le64(BTRFS_MAGIC))
+ if (btrfs_super_magic(sb) == BTRFS_MAGIC)
printf(" [match]\n");
else
printf(" [DON'T MATCH]\n");
BTRFS_SETGET_HEADER_FUNCS(header_nritems, struct btrfs_header, nritems, 32);
BTRFS_SETGET_HEADER_FUNCS(header_flags, struct btrfs_header, flags, 64);
BTRFS_SETGET_HEADER_FUNCS(header_level, struct btrfs_header, level, 8);
+BTRFS_SETGET_STACK_FUNCS(stack_header_bytenr, struct btrfs_header, bytenr, 64);
+BTRFS_SETGET_STACK_FUNCS(stack_header_nritems, struct btrfs_header, nritems,
+ 32);
+BTRFS_SETGET_STACK_FUNCS(stack_header_owner, struct btrfs_header, owner, 64);
+BTRFS_SETGET_STACK_FUNCS(stack_header_generation, struct btrfs_header,
+ generation, 64);
static inline int btrfs_header_flag(struct extent_buffer *eb, u64 flag)
{
cache_generation, 64);
BTRFS_SETGET_STACK_FUNCS(super_uuid_tree_generation, struct btrfs_super_block,
uuid_tree_generation, 64);
+BTRFS_SETGET_STACK_FUNCS(super_magic, struct btrfs_super_block, magic, 64);
static inline int btrfs_super_csum_size(struct btrfs_super_block *s)
{
return -1;
if (btrfs_super_bytenr(&buf) != sb_bytenr ||
- buf.magic != cpu_to_le64(BTRFS_MAGIC))
+ btrfs_super_magic(&buf) != BTRFS_MAGIC)
return -1;
memcpy(sb, &buf, sizeof(*sb));
if (btrfs_super_bytenr(&buf) != bytenr )
continue;
/* if magic is NULL, the device was removed */
- if (buf.magic == 0 && i == 0)
+ if (btrfs_super_magic(&buf) == 0 && i == 0)
return -1;
- if (buf.magic != cpu_to_le64(BTRFS_MAGIC))
+ if (btrfs_super_magic(&buf) != BTRFS_MAGIC)
continue;
if (!fsid_is_initialized) {
btrfs_set_super_bytenr(&super, blocks[0]);
btrfs_set_super_num_devices(&super, 1);
- super.magic = cpu_to_le64(BTRFS_MAGIC);
+ btrfs_set_super_magic(&super, BTRFS_MAGIC);
btrfs_set_super_generation(&super, 1);
btrfs_set_super_root(&super, blocks[1]);
btrfs_set_super_chunk_root(&super, blocks[3]);
ret = 0;
disk_super = (struct btrfs_super_block *)buf;
- if (disk_super->magic != cpu_to_le64(BTRFS_MAGIC))
+ if (btrfs_super_magic(disk_super) != BTRFS_MAGIC)
goto brelse;
if (!memcmp(disk_super->fsid, root->fs_info->super_copy->fsid,
ret = -EIO;
goto error_brelse;
}
- devid = le64_to_cpu(disk_super->dev_item.devid);
+ devid = btrfs_stack_device_id(&disk_super->dev_item);
if (btrfs_super_flags(disk_super) & BTRFS_SUPER_FLAG_METADUMP)
*total_devs = 1;
else