[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20111119042220.GF4130@thunk.org>
Date: Fri, 18 Nov 2011 23:22:20 -0500
From: Ted Ts'o <tytso@....edu>
To: Robin Dong <hao.bigrat@...il.com>
Cc: linux-ext4@...r.kernel.org, Robin Dong <sanbai@...bao.com>
Subject: Re: [PATCH 0/9 v2 bigalloc] ext4: change unit of extent's ee_block
and ee_len from block to cluster for bigalloc
On Fri, Nov 18, 2011 at 06:42:55PM +0800, Robin Dong wrote:
> From: Robin Dong <sanbai@...bao.com>
>
> This patch series change ee_block and ee_len (of extent) 's unit
> from "block" to "cluster", since it could reduce the space occupied
> by meta data.
>
> This patch series should be used after Ted's bigalloc-patchs and it
> now can't support:
> 1. delay allocation
> 2. 1k/2k blocksize
It *can't* support delayed allocation or sub-4k block sizes? That's
only with your modified bigalloc enabled, I presume, right?
If we are going to support this modified bigalloc, I think it only
makes sense to do it as new file system feature, so we can support
both extents which are denominated in blocks, as well as extents which
are denominated in clusters.
But it may be that we're better off biting the bullet and supporting
at 2nd extent format, which looks like this:
struct ext4_extent2 {
__le64 ee_block; /* first logical block extent covers */
__le64 ee_start; /* starting physical block */
__le32 ee_len; /* number of blocks covered by extent */
__le32 ee_flags; /* flags and future extension */
};
This is 24 bytes, which means we can only fit two extents in the inode
(12 bytes header, plus two 24 byte extents). But it expands the size
of files we can support, as well as supporting larger volumes.
Yes, using units of clusters could support this as well, but the fact
that it is required that sparse blocks have to get zeroed out to the
nearest cluster binary means that it's only going to work for clusters
sizes of 128k at most, since the requirements that clusters get
zero'ed out when doing a partial write is going to get pretty onerous
much beyond that size.
- Ted
--
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