Re: [RFC PATCH 10/11] xfs: update the finobt on inode free

Michael L. Semon
2013-09-08T20:08:07Z

On Sat, Sep 7, 2013 at 8:30 AM, Brian Foster <bfoster@redhat.com> wrote:
> On 09/06/2013 05:24 PM, Dave Chinner wrote:
>> On Fri, Sep 06, 2013 at 07:39:18AM -0400, Brian Foster wrote:
>>> On 09/05/2013 08:28 PM, Dave Chinner wrote:
>>>> On Thu, Sep 05, 2013 at 12:19:12PM -0400, Brian Foster wrote:
>>>>> On 09/04/2013 10:54 PM, Dave Chinner wrote:
>>>>>> On Tue, Sep 03, 2013 at 02:25:07PM -0400, Brian Foster wrote:
>>> ...
>>>>>
> ...
>>>> No worries. BTW, can you post your rudimentary userspace support so
>>>> we can run tests that use this code, too?
>>>>
>>>
>>> Sure. My xfsprogs branch currently is the application of a slightly
>>> older version of this set (pre-cleanups I made to make this post-worthy)
>>> with some hacks to make it apply/compile and a few other patches on top
>>> of that for mkfs, xfs_db and xfs_repair to work through some basic
>>> things I ran into when running xfstests.
>>>
>>> Would you prefer I drop the whole thing on the list?
>>
>> Drop it on the list, maybe just a as tarball rather than a patchset
>> if it's not ready for review yet.
>>
>
> Ok, attached. This applies on top of the following commit in the
> xfsprogs tree:
>
> 982e5c7e xfs_db: add header to freesp -d output
>
> Use the following command to format a finobt enabled fs:
>
> mkfs.xfs -m crc=1,finobt=1 <dev>
>
> ... and otherwise there are a couple random fixes for xfs_db and xfs_repair.
>
> Brian

OK, I gave it a try and messed it up. I have updated numbers that look a
little better, and they'll be posted once I get to a Linux PC.

My merge went badly because it went on top of Dave's latest work and Mark's
v4 dirent work. It's like some of the features2 stuff takes one extra argument
in places.

Also, when patching some code, it looks like some constants have been
updated to use cpu_to_be32(), and I don't know why they've been updated.

So it's not a surprise that I can make a v4-finobt filesystem with -finobt=1,
mount it, get all the v5 warnings from the kernel, but there's not enough
v5 code in use to choke on 256-byte v4 inodes. Afterwards, `xfs_repair -n`
suggests that it will correct some areas from each AG.

It's also not a surprise that I don't know what issues are your fault,
which ones
are my fault, and which ones require Mark to update his v4-dirent patches.
Therefore, there's no conclusion to be placed on your userspace code yet. It's
an RFC, anyway...

My "user commands" benchmark succeeded for the 4 XFS filesystem
variants considered previously.

More later...

Michael