summaryrefslogtreecommitdiff
path: root/mkfs.c
diff options
context:
space:
mode:
Diffstat (limited to 'mkfs.c')
-rw-r--r--mkfs.c36
1 files changed, 21 insertions, 15 deletions
diff --git a/mkfs.c b/mkfs.c
index 52904233..0f77babc 100644
--- a/mkfs.c
+++ b/mkfs.c
@@ -14,7 +14,7 @@ int mkfs(int fd)
{
struct ctree_root_info info[2];
struct leaf empty_leaf;
- struct item item;
+ struct btrfs_item item;
struct extent_item extent_item;
int ret;
@@ -45,31 +45,37 @@ int mkfs(int fd)
btrfs_set_header_nritems(&empty_leaf.header, 3);
/* item1, reserve blocks 0-16 */
- item.key.objectid = cpu_to_le64(0);
- item.key.offset = cpu_to_le64(17);
- item.key.flags = cpu_to_le32(0);
- item.offset = LEAF_DATA_SIZE - sizeof(struct extent_item);
- item.size = sizeof(struct extent_item);
+ btrfs_set_key_objectid(&item.key, 0);
+ btrfs_set_key_offset(&item.key, 17);
+ btrfs_set_key_flags(&item.key, 0);
+ btrfs_set_item_offset(&item,
+ LEAF_DATA_SIZE - sizeof(struct extent_item));
+ btrfs_set_item_size(&item, sizeof(struct extent_item));
extent_item.refs = 1;
extent_item.owner = 0;
memcpy(empty_leaf.items, &item, sizeof(item));
- memcpy(empty_leaf.data + item.offset, &extent_item, item.size);
+ memcpy(empty_leaf.data + btrfs_item_offset(&item), &extent_item,
+ btrfs_item_size(&item));
/* item2, give block 17 to the root */
- item.key.objectid = cpu_to_le64(17);
- item.key.offset = cpu_to_le64(1);
- item.offset = LEAF_DATA_SIZE - sizeof(struct extent_item) * 2;
+ btrfs_set_key_objectid(&item.key, 17);
+ btrfs_set_key_offset(&item.key, 1);
+ btrfs_set_item_offset(&item,
+ LEAF_DATA_SIZE - sizeof(struct extent_item) * 2);
extent_item.owner = 1;
memcpy(empty_leaf.items + 1, &item, sizeof(item));
- memcpy(empty_leaf.data + item.offset, &extent_item, item.size);
+ memcpy(empty_leaf.data + btrfs_item_offset(&item), &extent_item,
+ btrfs_item_size(&item));
/* item3, give block 18 for the extent root */
- item.key.objectid = cpu_to_le64(18);
- item.key.offset = cpu_to_le64(1);
- item.offset = LEAF_DATA_SIZE - sizeof(struct extent_item) * 3;
+ btrfs_set_key_objectid(&item.key, 18);
+ btrfs_set_key_offset(&item.key, 1);
+ btrfs_set_item_offset(&item,
+ LEAF_DATA_SIZE - sizeof(struct extent_item) * 3);
extent_item.owner = 2;
memcpy(empty_leaf.items + 2, &item, sizeof(item));
- memcpy(empty_leaf.data + item.offset, &extent_item, item.size);
+ memcpy(empty_leaf.data + btrfs_item_offset(&item), &extent_item,
+ btrfs_item_size(&item));
ret = pwrite(fd, &empty_leaf, sizeof(empty_leaf), 18 * CTREE_BLOCKSIZE);
if (ret != sizeof(empty_leaf))
return -1;