Re: [RFC] delayed allocation for ext4

From: David Chinner
Date: Fri Dec 22 2006 - 22:31:51 EST


On Fri, Dec 22, 2006 at 11:20:08PM +0300, Alex Tomas wrote:
>
> Good day,
>
> probably the previous set of patches (including mballoc/lg)
> is too large. so, I reworked delayed allocation a bit so
> that it can be used on top of regular balloc, though it
> still can be used with extents-enabled files only.
>
> this time series contains just 3 patches:
>
> - booked-page-flag.patch
> adds PG_booked bit to page->flags. it's used in delayed
> allocation to mark space is already reserved for page
> (including possible metadata)

So that mean's we'll have 2 separate mechanisms for marking
pages as delalloc. XFS uses the BH_delay flag to indicate
that a buffer (block) attached to the page is using delalloc.

FWIW, how does this mechanism deal with block size < page size?
Don't you have to track delalloc on a block basis rather than
a page basis?

> - ext4-block-reservation.patch
> this is scalable free space management. every time we
> delay allocation of some page, a space (including metadata)
> should be reserved
>
> - ext4-delayed-allocation.patch
> delayed allocation itself, enabled by "delalloc" mount option.
> extents support is also required. currently it works only
> with blocksize=pagesize.

Ah, that's why you can get away with a page flag - you've ignored
the partial page delay state problem. Any plans to use the
existing method in the future so we will be able to use ext4 delalloc
on machines with a page size larger than 4k?

Cheers,

Dave.
--
Dave Chinner
Principal Engineer
SGI Australian Software Group
-
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/