[Top] [All Lists]


To: Joe Hsu <nagual.hsu@xxxxxxxxx>
Subject: Re: about XFS_IOC_RESVSP
From: Eric Sandeen <sandeen@xxxxxxxxxxx>
Date: Fri, 22 May 2009 10:49:14 -0500
Cc: xfs@xxxxxxxxxxx
In-reply-to: <7fe205990905220716v7d06b9bch40fe6136af17e345@xxxxxxxxxxxxxx>
References: <7fe205990905220716v7d06b9bch40fe6136af17e345@xxxxxxxxxxxxxx>
User-agent: Thunderbird (X11/20090320)
Joe Hsu wrote:
>         I pre-allocate blocks for a file. Then I use "open" and "write" system
> calls to generate the content for that file. After the file is really
> written to the disk,
> I want to set all the extent(s) of that file unwritten. Then I will
> write new content to
> the same file. Is that possible? That means:
> I want to dis-care the content just written and use the same allocated blocks.
> In another words, I want to restore the state of the file to the state
> when it was
> first pre-allocated.
>         Why am I doing this? Why not just over-write it? When doing
> partial over-writing,
> some blocks may be read for partial update before they are written
> out. This hurts
> some IO performance and If I can, I would prefer to dis-care old
> content of the file and
> use same (pre)allocated blocks. (In my case, I am doing intensive IO.)
>         Any one can give me some hints? Thanks.

Do you really need the exact same blocks?  What if you just truncate to
0 & re-allocate?


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