xfs
[Top] [All Lists]

Re: [RFC, PATCH 0/2] fiemap: filesystem free space mapping

To: Dave Chinner <david@xxxxxxxxxxxxx>, Chris Mason <chris.mason@xxxxxxxxxxxx>, Christoph Hellwig <hch@xxxxxxxxxxxxx>, "linux-fsdevel@xxxxxxxxxxxxxxx" <linux-fsdevel@xxxxxxxxxxxxxxx>, "xfs@xxxxxxxxxxx" <xfs@xxxxxxxxxxx>
Subject: Re: [RFC, PATCH 0/2] fiemap: filesystem free space mapping
From: Jie Liu <jeff.liu@xxxxxxxxxx>
Date: Wed, 24 Oct 2012 20:32:12 +0800
In-reply-to: <20121024114711.GB11262@shiny>
References: <1350537079-16246-1-git-send-email-david@xxxxxxxxxxxxx> <20121023123044.GG7341@xxxxxxxxxxxxx> <20121023215313.GQ4291@dastard> <20121024114711.GB11262@shiny>
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:14.0) Gecko/20120714 Thunderbird/14.0
On 10/24/12 19:47, Chris Mason wrote:
> On Tue, Oct 23, 2012 at 03:53:13PM -0600, Dave Chinner wrote:
>> On Tue, Oct 23, 2012 at 08:30:44AM -0400, Christoph Hellwig wrote:
>>> On Thu, Oct 18, 2012 at 04:11:17PM +1100, Dave Chinner wrote:
>>>> So, I was bored a few days ago, and I was sick of having to run
>>>> xfs_db incorrectly report free space extents when the filesytem is
>>>> mounted, so I decided to extend fiemap to export freespace mappings
>>>> to userspace so I could get the information coherently through the
>>>> mounted filesystem.
>>>>
>>>> Yes, this could probably be considered interface abuse but, well, it
>>>> was simple to do because extent mapping is exactly what fiemap is
>>>> designed to do. Hence I didn't have to write new walkers/formatters
>>>> and I was using code I knew worked correctly.
>>> I think the right way to handle this is to introduce a new ioctl which
>>> uses the same structures.  That way we have a reasonable interface,
>>> without issue like which file does it need to be called on because the
>>> VFS glue can turn it into a superblock op.
>> A VFS level ioctl or an XFS ioctl?
>>
>> I thought about a new ioctl, but then what's the point of having an
>> extensible fiemap interface if we create new ioctls with an
>> identical interface for doing something that the existing ioctl is
>> perfectly capable of doing?  I'd still need special flags to control
>> the ioctl behaviour even though it uses struct fiemap and plumbing,
>> so it seemed pointless to introduce a new ioctl....
Hi Dave,

I am writing XFS shrinkfs feature, and I really need an approach to get
the free space of an XFS file system since
xfs_db can not fetch agf->agf_freeblks and agf_btreeblks against a
mounted partition to calculate it out for
online shrink operation that just as what's you have mentioned above.

So currently I add a new ioctl for this purpose, that's would be fine if
we can have a fiemap interface to do it so that
I can kill this new ioctl to avoid duplicate efforts.

Thanks,
-Jeff
> This brings us one step close to the norton disk doctor defrag display.
> I'm all for it in the main fiemap call, it makes much more sense for the
> users I think.
>
> -chris
>
> _______________________________________________
> xfs mailing list
> xfs@xxxxxxxxxxx
> http://oss.sgi.com/mailman/listinfo/xfs

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