David Sterba | 2 Sep 07:25 2012
Picon

Re: Tail packing

On Fri, Aug 31, 2012 at 04:40:36PM +0200, Ben Wreder wrote:
> The disk format description implies that btrfs should be able to
> support tail packing. I just did some experimentation, and while small
> files are packed, it seems that files occupying more than one block
> are not. For example, a lot of 32769-byte files will end up taking
> over 36KB on average (a small excess due to the metadata itself).
> 
> So just to confirm - btrfs does not currently support tail-packing, is that correct?

Currently it's not the reiserfs-style tail packing. The feature is
advertised as "Space-efficient packing of small files", as Josef
replied, if a file fits into a leaf block, it's stored into the metadata
blocks. The limit is 3916 bytes for 4k blocks, without compression. If
compression is on, the 'small file' size limit is even higher for
moderately compressible files. An example where this could apply is a
maildir, and IIRC this was why reiserfs was chosen on mail servers.

> If so, is it a planned feature?

Not that I'm aware of, everybody seems to be fine with the current
state. I think it is possible to implement the tail-packing in a
non-intrusive way, but I'm not sure if the data-space savings would balance
the additional metadata consumption plus the overhead for b-tree
access/COW/locking when using the inline data.

david
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo <at> vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html
(Continue reading)

Li Zefan | 3 Sep 03:23 2012

Re: Tail packing

On 2012/9/2 13:25, David Sterba wrote:
> On Fri, Aug 31, 2012 at 04:40:36PM +0200, Ben Wreder wrote:
>> The disk format description implies that btrfs should be able to
>> support tail packing. I just did some experimentation, and while small
>> files are packed, it seems that files occupying more than one block
>> are not. For example, a lot of 32769-byte files will end up taking
>> over 36KB on average (a small excess due to the metadata itself).
>>
>> So just to confirm - btrfs does not currently support tail-packing, is that correct?
> 
> Currently it's not the reiserfs-style tail packing. The feature is
> advertised as "Space-efficient packing of small files", as Josef
> replied, if a file fits into a leaf block, it's stored into the metadata
> blocks. The limit is 3916 bytes for 4k blocks, without compression. If
> compression is on, the 'small file' size limit is even higher for
> moderately compressible files.

If the actual size of the file is > 3916 bytes, no matter how compressible it is,
it won't be inlined.

> An example where this could apply is a
> maildir, and IIRC this was why reiserfs was chosen on mail servers.
> 

--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo <at> vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html

(Continue reading)

David Sterba | 3 Sep 18:49 2012
Picon

Re: Tail packing

On Mon, Sep 03, 2012 at 09:23:10AM +0800, Li Zefan wrote:
> If the actual size of the file is > 3916 bytes, no matter how compressible it is,
> it won't be inlined.

You're right, sorry for misinformation.
--
To unsubscribe from this list: send the line "unsubscribe linux-btrfs" in
the body of a message to majordomo <at> vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Gmane