[<prev] [next>] [<thread-prev] [day] [month] [year] [list]
Message-ID: <20210727165315.GU5047@suse.cz>
Date: Tue, 27 Jul 2021 18:53:16 +0200
From: David Sterba <dsterba@...e.cz>
To: Matthew Wilcox <willy@...radead.org>
Cc: Christoph Hellwig <hch@....de>,
Andreas Gruenbacher <agruenba@...hat.com>,
Gao Xiang <hsiangkao@...ux.alibaba.com>,
"Darrick J . Wong" <djwong@...nel.org>,
Huang Jianan <huangjianan@...o.com>,
linux-erofs@...ts.ozlabs.org, linux-fsdevel@...r.kernel.org,
linux-kernel@...r.kernel.org,
Andreas Gruenbacher <andreas.gruenbacher@...il.com>
Subject: Re: [PATCH v7] iomap: make inline data support more flexible
On Tue, Jul 27, 2021 at 02:35:46PM +0100, Matthew Wilcox wrote:
> On Tue, Jul 27, 2021 at 10:20:42AM +0200, David Sterba wrote:
> > On Mon, Jul 26, 2021 at 02:17:02PM +0200, Christoph Hellwig wrote:
> > > > Subject: iomap: Support tail packing
> > >
> > > I can't say I like this "tail packing" language here when we have the
> > > perfectly fine inline wording. Same for various comments in the actual
> > > code.
> >
> > Yes please, don't call it tail-packing when it's an inline extent, we'll
> > use that for btrfs eventually and conflating the two terms has been
> > cofusing users. Except reiserfs, no linux filesystem does tail-packing.
>
> Hmm ... I see what reiserfs does as packing tails of multiple files into
> one block. What gfs2 (and ext4) do is inline data. Erofs packs the
> tail of a single file into the same block as the inode. If I understand
> what btrfs does correctly, it stores data in the btree. But (like
> gfs2/ext4), it's only for the entire-file-is-small case, not for
> its-just-ten-bytes-into-the-last-block case.
>
> So what would you call what erofs is doing if not tail-packing?
That indeed sounds like tail-packing and I was not aware of that, the
docs I found were not clear what exactly was going on with the data
stored inline.
> Wikipedia calls it https://en.wikipedia.org/wiki/Block_suballocation
> which doesn't quite fit. We need a phrase which means "this isn't
> just for small files but for small tails of large files".
So that's more generic than what we now have as inline files, so in the
interface everybody sets 0 as start of the range while erofs can also
set start of the last partial block.
Powered by blists - more mailing lists