From: Eric Sandeen <sandeen@sandeen.net>
To: ext4 development <linux-ext4@vger.kernel.org>
Subject: mkfs'ing a 48-bit fs... or not.
Date: Mon, 03 Oct 2011 16:55:11 -0500 [thread overview]
Message-ID: <4E8A2F3F.30700@sandeen.net> (raw)
Has anyone tried mke2fs at its limits? The latest git tree seems to fail in several ways.
(Richard Jones reported the initial failure)
# truncate --size 1152921504606846976 reallybigfile
# mke2fs -t ext4 reallybigfile
first,
Warning: the fs_type huge is not defined in mke2fs.conf
(when types "big" and "huge" got added, they never got a mke2fs.conf update?)
Then, I got:
reallybigfile: Not enough space to build proposed filesystem while setting up superblock
because:
fs->group_desc_count = (blk_t) ext2fs_div64_ceil(
ext2fs_blocks_count(super) - super->s_first_data_block,
EXT2_BLOCKS_PER_GROUP(super));
if (fs->group_desc_count == 0) {
retval = EXT2_ET_TOOSMALL;
The div64_ceil returns > 2^32 (2^33, actually), and the cast to blk_t
(which should be dgrp_t?) turns that into a 0.
Trying it with "-O bigalloc" (which should be automatic at this size,
I think?) just goes away for a very long time, I'm not sure what it's
thinking about, or if it's in a loop somewhere (looking now).
I also came across this in ext2fs_initialize() in the bigalloc case:
if (super->s_clusters_per_group > EXT2_MAX_CLUSTERS_PER_GROUP(super))
super->s_blocks_per_group = EXT2_MAX_CLUSTERS_PER_GROUP(super);
super->s_blocks_per_group = EXT2FS_C2B(fs,
super->s_clusters_per_group);
which seems to be incorrect; I doubt that you meant to set s_blocks_per_group under
a conditional, and then unconditionally set it immediately after. I assume
that should be super->s_clusters_per_group in the first case? I'll send a patch,
assuming so.
TBH I've kind of lost the thread on bigalloc, so just putting this out there for
now while I look into things a bit more.
-Eric
next reply other threads:[~2011-10-03 21:55 UTC|newest]
Thread overview: 11+ messages / expand[flat|nested] mbox.gz Atom feed top
2011-10-03 21:55 Eric Sandeen [this message]
2011-10-04 4:00 ` mkfs'ing a 48-bit fs... or not Ted Ts'o
2011-10-04 4:26 ` [PATCH 1/2] Add "big" and "huge" types to mke2fs.conf Theodore Ts'o
2011-10-04 4:27 ` [PATCH 2/2] libext2fs: fix bad cast which causes problems for file systems > 512EB Theodore Ts'o
2011-10-04 11:47 ` Eric Sandeen
2011-10-04 18:05 ` Ted Ts'o
2011-10-04 18:15 ` Eric Sandeen
2011-10-04 5:31 ` mkfs'ing a 48-bit fs... or not Andreas Dilger
2011-10-04 4:03 ` Eric Sandeen
2011-10-04 4:28 ` Ted Ts'o
2011-10-04 7:06 ` Richard W.M. Jones
Reply instructions:
You may reply publicly to this message via plain-text email
using any one of the following methods:
* Save the following mbox file, import it into your mail client,
and reply-to-all from there: mbox
Avoid top-posting and favor interleaved quoting:
https://en.wikipedia.org/wiki/Posting_style#Interleaved_style
* Reply using the --to, --cc, and --in-reply-to
switches of git-send-email(1):
git send-email \
--in-reply-to=4E8A2F3F.30700@sandeen.net \
--to=sandeen@sandeen.net \
--cc=linux-ext4@vger.kernel.org \
/path/to/YOUR_REPLY
https://kernel.org/pub/software/scm/git/docs/git-send-email.html
* If your mail client supports setting the In-Reply-To header
via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line
before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.