On Tue, Jul 25, 2006 at 11:08:07AM -0700, Heilige Gheist wrote:
> > OK. Are you certain you need this feature? (can you describe your
> > usage a bit?) You can get large contiguous chunks of disk space via
> > large direct writes for example, or preallocation, so maybe you could
> > attack the issue from a different angle to solve it?
> The application is reading and writing sparse file of 0.5-1GB, with
> heavy skew toward read. The data is written in clusters of various
> size, depending on data stream type. The filesystem is constantly being
> updated with new data, older files are removed, the filesystem gets
> fragmented and we're down to the allocation extent size in terms of
> available contiguous disk space.
> When you speak of pre-allocation, do you suggest using XFS_IOC_RESVSP
> ioctl interface to explicitly reserve blocks in advance?
Yes, thats the one.
> Can it guarantee contiguous chunk allocation?
No, but it does the best it can under the circumstances,
which is usually pretty good.
> management, isn't it? Basically you pay for unfragmented contiguous
> block layout with extra disk space reserved for unwritten data.
But its not really "extra" if you know you're going to use it,
> If so, why offer custom extent size in the first place?
Its a different concept, solving different problems really. One is
at the extent level, the other is at (typically large) ranges of bytes
that can be more than an extent. One is a "harder" guarantee than the
the other of getting contiguous space, as they call into the allocator
in different ways.
> > > Do I have to have non-realtime regular section?
> > Yes. All metadata is stored there.
> Is there any way I can do sizing of the meta-data?
I'm not sure what you're asking there...?