[Top] [All Lists]

Re: Is persistant preallocation possible?

To: Eric Sandeen <sandeen@xxxxxxxxxxx>
Subject: Re: Is persistant preallocation possible?
From: Roger Willcocks <roger@xxxxxxxxxxxxxxxx>
Date: Tue, 25 May 2010 13:33:07 +0100
Cc: Nathan Scott <nathans@xxxxxxxxxx>, Jeff Zheng <Jeff.Zheng@xxxxxxxxxx>, xfs@xxxxxxxxxxx
In-reply-to: <4BFB41D8.3020402@xxxxxxxxxxx>
References: <1374176788.272721274754374474.JavaMail.root@xxxxxxxxxxxxxxxxxx> <4BFB41D8.3020402@xxxxxxxxxxx>
On Mon, 2010-05-24 at 22:19 -0500, Eric Sandeen wrote:
> Nathan Scott wrote:
> > ----- "Jeff Zheng" <Jeff.Zheng@xxxxxxxxxx> wrote:
> > 
> >> Hi,
> >>
> >> We are trying to control where the files are being allocated on the
> >> disks, and we tried xfs preallocation. What we found is that each time
> >> the file being reopened the location of the pre-allocated space could
> >> change (not all the time). Is there a way to do persistent
> >> preallocation in xfs, like the same file will always be on the same
> >> location on the disk given that the requested size doesn’t change?
> >>
> > 
> > Sounds like you are truncating the file (on open?), and hence discarding
> > the preallocation.  XFS preallocation is persistent already, so I think
> > something you are doing must be discarding those preallocated extents.
> > 
> > Could you post a test program, or sequence of xfs_io commands, that would
> > demonstrate the problem?
> > 
> > cheers.
> > 
> ... maybe you mean that truncating / pre-allocating the same space repeatedly
> on the same filename ends up with blocks mapped in different locations...?
> That's entirely expected... nothing about the preallocation interface lets
> you "control *where* files are being allocated" as you said above...

Way back when I wrote some code to do just this, but I've never had the
time to wrap it all up. The basic idea is to add another argument to
preallocate, as a hint where to try first. The allocator then uses the
'extend file' path, with the hint taking the place of the current eof.

See http://oss.sgi.com/archives/xfs/2006-07/msg01005.html

for my original patches. I'd still like to have these pushed through -
what would it take?

Roger Willcocks <roger@xxxxxxxxxxxxxxxx>

<Prev in Thread] Current Thread [Next in Thread>