xfs
[Top] [All Lists]

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

To: Ben Myers <bpm@xxxxxxx>
Subject: Re: [PATCH v5 06/10] xfs: add XFS_IOC_FREE_EOFBLOCKS ioctl
From: Brian Foster <bfoster@xxxxxxxxxx>
Date: Thu, 18 Oct 2012 08:16:57 -0400
Cc: Dave Chinner <david@xxxxxxxxxxxxx>, xfs@xxxxxxxxxxx
In-reply-to: <20121017224004.GG1377@xxxxxxx>
References: <1349446636-8611-1-git-send-email-bfoster@xxxxxxxxxx> <1349446636-8611-7-git-send-email-bfoster@xxxxxxxxxx> <20121011141335.GY13214@xxxxxxx> <507749A2.4020206@xxxxxxxxxx> <20121015224626.GU24986@xxxxxxx> <20121015234902.GH2739@dastard> <20121016013901.GI2739@dastard> <20121017224004.GG1377@xxxxxxx>
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:15.0) Gecko/20120911 Thunderbird/15.0.1
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
> 

Attachment: free_eofblocks.c
Description: Text Data

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