btrfs-progs: error if device for mkfs is too small
Eric pointed out that mkfs abort if specified volume is too small: # truncate --size=2m testfile # ./mkfs.btrfs testfile : SMALL VOLUME: forcing mixed metadata/data groups mkfs.btrfs: volumes.c:852: btrfs_alloc_chunk: Assertion `!(ret)' failed. Aborted (core dumped) As the first step to fix problems around there, let mkfs to report error if the size of target volume is less than the size of the first system block group, BTRFS_MKFS_SYSTEM_GROUP_SIZE (= 4MB). Reported-by: Eric Sandeen <sandeen@redhat.com> Signed-off-by: Hidetoshi Seto <seto.hidetoshi@jp.fujitsu.com> Signed-off-by: David Sterba <dsterba@suse.cz> Signed-off-by: Chris Mason <chris.mason@fusionio.com>
This commit is contained in:
parent
7c9074422a
commit
f9d102efdc
5
mkfs.c
5
mkfs.c
|
@ -1513,6 +1513,11 @@ int main(int ac, char **av)
|
|||
dev_block_count = block_count;
|
||||
}
|
||||
|
||||
/* To create the first block group and chunk 0 in make_btrfs */
|
||||
if (dev_block_count < BTRFS_MKFS_SYSTEM_GROUP_SIZE) {
|
||||
fprintf(stderr, "device is too small to make filesystem\n");
|
||||
exit(1);
|
||||
}
|
||||
|
||||
blocks[0] = BTRFS_SUPER_INFO_OFFSET;
|
||||
for (i = 1; i < 7; i++) {
|
||||
|
|
Loading…
Reference in New Issue