Re: [PATCH 0/9 v2 bigalloc] ext4: change unit of extent's ee_block and ee_len from block to cluster for bigalloc

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



On Fri, Nov 18, 2011 at 06:42:55PM +0800, Robin Dong wrote:
> From: Robin Dong <sanbai@xxxxxxxxxx>
> 
> 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@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Reiser Filesystem Development]     [Ceph FS]     [Kernel Newbies]     [Security]     [Netfilter]     [Bugtraq]     [Linux FS]     [Yosemite National Park]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Samba]     [Device Mapper]     [Linux Media]

  Powered by Linux