[PATCH v2 04/10] btrfs-progs: mkfs: set nritems based on root items written
From: Josef Bacik <josef@toxicpanda.com>
Date: 2021-08-23 20:15:05
Subsystem:
the rest · Maintainer:
Linus Torvalds
From: Josef Bacik <josef@toxicpanda.com>
Date: 2021-08-23 20:15:05
Subsystem:
the rest · Maintainer:
Linus Torvalds
For the root tree we were just hard setting the nritems to 4, which will change when we move to extent tree v2. Instead set the nritems after we've added all the root items we need to the root tree. Reviewed-by: Qu Wenruo <redacted> Signed-off-by: Josef Bacik <josef@toxicpanda.com> --- mkfs/common.c | 3 ++- 1 file changed, 2 insertions(+), 1 deletion(-)
diff --git a/mkfs/common.c b/mkfs/common.c
index 8718969d..339c5556 100644
--- a/mkfs/common.c
+++ b/mkfs/common.c@@ -106,6 +106,8 @@ static int btrfs_create_tree_root(int fd, struct btrfs_mkfs_config *cfg, itemoff -= sizeof(root_item); } + btrfs_set_header_nritems(buf, nritems); + /* generate checksum */ csum_tree_block_size(buf, btrfs_csum_type_size(cfg->csum_type), 0, cfg->csum_type);
@@ -233,7 +235,6 @@ int make_btrfs(int fd, struct btrfs_mkfs_config *cfg) memset(buf->data, 0, cfg->nodesize); buf->len = cfg->nodesize; btrfs_set_header_bytenr(buf, cfg->blocks[MKFS_ROOT_TREE]); - btrfs_set_header_nritems(buf, 4); btrfs_set_header_generation(buf, 1); btrfs_set_header_backref_rev(buf, BTRFS_MIXED_BACKREF_REV); btrfs_set_header_owner(buf, BTRFS_ROOT_TREE_OBJECTID);
--
2.26.3