Re: O_TRUNC problem on a full filesystem

Stephen C. Tweedie (sct@redhat.com)
Thu, 24 May 2001 19:15:18 +0100


Hi,

On Thu, May 24, 2001 at 11:24:10AM -0600, Andreas Dilger wrote:

> How have you done the ext3 preallocation code?

Preallocation is currently disabled in ext3. Eventually I'll probably
get it going by adding a journal prepare-commit callback to allow the
filesystem to flush preallocation before committing.

> One way to do it would be
> to only mark the blocks as used in the in-memory copy of the block bitmap
> and not write that to disk (we keep 2 copies of the block bitmap, IIRC).

Indeed; I'd need to keep 3 copies to make that work. The state
machine just gets even uglier. :-) I thought about it and I might
still end up going that route.

> Did you ever benchmark ext2 with and without preallocation to see if it
> made any difference? No point in doing extra work if there is no benefit.

The point is not just performance, but also cpu cost (which
preallocation definitely wins on) and on fragmentation if you have
multiple writers in the same directory.

Cheers,
Stephen
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@vger.kernel.org
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/