summaryrefslogtreecommitdiff
path: root/c_src/cmd_image.c
diff options
context:
space:
mode:
Diffstat (limited to 'c_src/cmd_image.c')
-rw-r--r--c_src/cmd_image.c5
1 files changed, 4 insertions, 1 deletions
diff --git a/c_src/cmd_image.c b/c_src/cmd_image.c
index d00d85cf..467378b0 100644
--- a/c_src/cmd_image.c
+++ b/c_src/cmd_image.c
@@ -665,7 +665,10 @@ static int image_update(const char *src_path, const char *dst_image,
goto err;
}
- if (ftruncate(dev_opts.bdev->bd_fd, input_bytes)) {
+ u64 metadata_dev_size = max(input_bytes,
+ c->opts.btree_node_size * BCH_MIN_NR_NBUCKETS);
+
+ if (ftruncate(dev_opts.bdev->bd_fd, metadata_dev_size)) {
fprintf(stderr, "ftruncate error: %m");
goto err;
}