diff options
author | David Sterba <dsterba@suse.com> | 2016-08-31 20:16:35 +0200 |
---|---|---|
committer | David Sterba <dsterba@suse.com> | 2016-09-21 14:12:38 +0200 |
commit | b318553f33dc59b6afdc7d264dcfbfe835ccc3d4 (patch) | |
tree | 0fe836d65af75642fb3950545e9846c1e100f953 | |
parent | 976f6adfb5bfe71acbb15a200262cef8f07d77b3 (diff) |
btrfs-progs: mkfs: check for sane sectorsize earlier
Signed-off-by: David Sterba <dsterba@suse.com>
-rw-r--r-- | mkfs.c | 6 | ||||
-rw-r--r-- | utils.c | 1 |
2 files changed, 6 insertions, 1 deletions
@@ -1636,6 +1636,12 @@ int main(int argc, char **argv) features)) exit(1); + if (sectorsize < sizeof(struct btrfs_super_block)) { + error("sectorsize smaller than superblock: %u < %zu", + sectorsize, sizeof(struct btrfs_super_block)); + exit(1); + } + /* Check device/block_count after the nodesize is determined */ if (block_count && block_count < btrfs_min_dev_size(nodesize)) { error("size %llu is too small to make a usable filesystem", @@ -1420,7 +1420,6 @@ int make_btrfs(int fd, struct btrfs_mkfs_config *cfg, } /* and write out the super block */ - BUG_ON(sizeof(super) > cfg->sectorsize); memset(buf->data, 0, BTRFS_SUPER_INFO_SIZE); memcpy(buf->data, &super, sizeof(super)); buf->len = BTRFS_SUPER_INFO_SIZE; |