[PATCH v5 06/10] xfs: add XFS_IOC_FREE_EOFBLOCKS ioctl

Brian Foster bfoster at redhat.com
Thu Oct 18 07:16:57 CDT 2012


On 10/17/2012 06:40 PM, Ben Myers wrote:
> Hi Fellas,
> 
> On Tue, Oct 16, 2012 at 12:39:01PM +1100, Dave Chinner wrote:
>> On Tue, Oct 16, 2012 at 10:49:02AM +1100, Dave Chinner wrote:
>>> On Mon, Oct 15, 2012 at 05:46:26PM -0500, Ben Myers wrote:
>>>> Hey Brian,
>>>>
...
>>>> I do think it is preferable to have a test case go in with the code where
>>>> possible.  Since you don't mind waiting a bit, that seems to be the way to go.
>>>> The other option could be to look for a volunteer to work on the test.  ;)
>>>
>>> FWIW, given the background cleanup code can be trivially verified to
>>> work (open, apend, close, repeat, wait 5 minutes) and is the
>>> functionality that is needed in mainline, having something to test
>>> the ioctls should not stop the patchset from being merged.
> 
> Can we be assured that we'll get an xfstest for it eventually?
> 

Absolutely. Getting a command into xfs_io to support such a test is now
the top of my todo list with regard to XFS. :)

> I think we can pull this in if Brian is willing post his test code.  Initially
> it needn't be posted as an xfstest, that's fine.  As it stands today it appears
> that Brian is the only one to ever use the ioctl and there is no way for anyone
> else to test it.  Not an ideal situation.
> 

The impetus for this work was some prototype quota work for the gluster
distributed filesystem. Beyond testing via that, I just had a very
simple/stupid program with the command and data structure bits
copy/pasted in to open a file and invoke an xfsctl() with hardcoded
parameters. I don't consider it post-worthy or very useful, but attached
nonetheless since I have a couple things to deal with before I get a
chance to play with xfs_io.

> I think this is a reasonable request.  Usually it's Christoph who asks for a
> test case.  ;)
> 

Agree.

Brian

>> i.e.:
>>
>> $ for i in `seq 0 512`; do
>>> xfs_io -f -c "pwrite $((i * 4096)) 4096" /mnt/scratch/foo
>>> done
>> $ stat -c %b /mnt/scratch/foo
>> 8192
>> $ sync; stat -c %b /mnt/scratch/foo
>> 8192
>> $ sleep 30; stat -c %b /mnt/scratch/foo
>> 8192
>> $ sleep 300; stat -c %b /mnt/scratch/foo
>> 4104
>>
>> It works. ;)
> 
> Nice!
> 
> Regards,
> Ben
> 

-------------- next part --------------
A non-text attachment was scrubbed...
Name: free_eofblocks.c
Type: text/x-csrc
Size: 1483 bytes
Desc: not available
URL: <http://oss.sgi.com/pipermail/xfs/attachments/20121018/3e93ec5a/attachment-0001.c>


More information about the xfs mailing list