[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <20070828194628.GV5377@schatzie.adilger.int>
Date: Tue, 28 Aug 2007 13:46:28 -0600
From: Andreas Dilger <adilger@...sterfs.com>
To: Eric Sandeen <sandeen@...hat.com>
Cc: ext4 development <linux-ext4@...r.kernel.org>
Subject: Re: [PATCH V2] fix mballoc oopses on mkdir
On Aug 28, 2007 00:25 -0500, Eric Sandeen wrote:
> Tried out Ted's git tree + all pending patches today, and
> immediately oopsed on a mkdir thanks to this in
> ext4_mb_new_group_pa()
>
> BUG_ON(!S_ISREG(ac->ac_inode->i_mode));
Ah, yes. We never enable mballoc on the MDS (metadata server), and the
OST (object storage target) never creates directories with extents
(it is usually less efficient because of fragmented allocation of the
directory blocks). We don't have any > 32-bit block support so that
isn't an issue as yet.
We might consider:
(a) disabling extents on directories unless the fs is huge (say > 2^30 blocks)
and likely to have directories with blocks > 2^32
(b) preallocating 4 blocks to each directory (wasteful of space for small
dirs), but would be good for larger directories
(c) make a decision when a file grows past EXT4_NDIR_BLOCKS logical blocks
whether it should be block mapped or extent mapped based on sequential
vs random block layout
Some combination of the above.
> (there are 54 BUGs and BUG_ONs in this file...!)
Yes, we like lots of assertions in our code, because it is exceedingly
complex to debug otherwise.
Cheers, Andreas
--
Andreas Dilger
Principal Software Engineer
Cluster File Systems, Inc.
-
To unsubscribe from this list: send the line "unsubscribe linux-ext4" in
the body of a message to majordomo@...r.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Powered by blists - more mailing lists