From: Robin Dong <sanbai@xxxxxxxxxx>
Using mkfs.btrfs like:
mkfs.btrfs -b 1048576 /dev/sda
will report error:
mkfs.btrfs: volumes.c:796: btrfs_alloc_chunk: Assertion `!(ret)' failed.
Aborted
because the length of dev_extent is 4MB.
But if we use mkfs.btrfs with 8MB total bytes, the newly mounted btrfs filesystem
would not contain even one empty file. So 12MB will be good min value for block_count.
Signed-off-by: Robin Dong <sanbai@xxxxxxxxxx>
---
mkfs.c | 6 +++++-
1 files changed, 5 insertions(+), 1 deletions(-)
diff --git a/mkfs.c b/mkfs.c
index bb01f64..23bde2d 100644
--- a/mkfs.c
+++ b/mkfs.c
@@ -1330,7 +1330,11 @@ int main(int ac, char **av)
&dev_block_count, &mixed, nodiscard);
if (block_count == 0)
block_count = dev_block_count;
- else if (block_count > dev_block_count) {
+ else if (block_count < 3 * BTRFS_MKFS_SYSTEM_GROUP_SIZE) {
+ fprintf(stderr, "Illegal total number of bytes %u\n",
+ block_count);
+ exit(1);
+ } else if (block_count > dev_block_count) {
fprintf(stderr, "%s is smaller than requested size\n", file);
exit(1);
}
--
1.7.3.2
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html