diff options
Diffstat (limited to 'fs/btrfs/mkfs.c')
| -rw-r--r-- | fs/btrfs/mkfs.c | 36 | 
1 files changed, 21 insertions, 15 deletions
diff --git a/fs/btrfs/mkfs.c b/fs/btrfs/mkfs.c index 5290423343f..0f77babcd30 100644 --- a/fs/btrfs/mkfs.c +++ b/fs/btrfs/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;  |