Re: [PATCH] xfs_quota: XFS_XFLAG_PROJINHERIT is only for dirs

Eric Sandeen
2012-10-17T15:53:14Z

On 10/16/12 3:17 PM, Ben Myers wrote:
> Hey Eric,
>
> On Sun, Oct 14, 2012 at 11:14:12AM +1100, Dave Chinner wrote:
>> On Sat, Oct 13, 2012 at 07:05:51PM -0500, Eric Sandeen wrote:
>>> On 10/13/12 6:34 PM, Dave Chinner wrote:
>>>> On Sat, Oct 13, 2012 at 11:52:05AM -0400, Christoph Hellwig wrote:
>>>>> On Fri, Oct 12, 2012 at 11:19:55AM -0500, Eric Sandeen wrote:
>>>>>> xfs_quota has long set XFS_XFLAG_PROJINHERIT on all files,
>>>>>> and tested for presence on all files. However, Dave's semi-recent
>>>>>> xfs_repair update is now flagging this as an error:
>>>>>
>>>>> I think we should rever that part of the repair patch. While there
>>>>> really is not point to have XFS_XFLAG_PROJINHERIT set on non-directory
>>>>> files we have been setting it for year, so repair should cope with that.
>>>>
>>>> Repair does cope with it - it issues a warning and clears the flag.
>>>> It doesn't stop, it simply fixes an inconsistency in the inode flags.
>>>>
>>>> The main problem, by the sounds of it, is that repair issues a
>>>> warning that it is clearing the flags that should not be set. This
>>>> is what makes check_scratch_fs fail because of the extra output.
>>>> That's easy to fix - filter the line from the repair output and be
>>>> done with it. In future (with Eric's patch) this situation won't
>>>> occur.
>>>>
>>>> So, really, I think the only thing that needs modifying to handle
>>>> this situation is a filter update to xfstests...
>>>
>>> I must be missing something; quota will continue to set it and repair
>>> will continue to clear it. One should probably match the other right?
>>> So one or the other should change.
>>
>> Sorry, I wasn't particularly clear - if your patch to quota goes in,
>> the problem goes away in future and we should simply filter the
>> warning in xfstests to handle the present issue....
>
> I think Dave has an interesting idea here.
>
> You already have:
>
> 1) only set XFS_XFLAG_PROJINHERIT on directories in setup_project,
>
> 2) update check_project to print the right warning based upon the above,
>
> Now all you need is:
>
> 3) update _check_scratch_fs to filter
> "directory flags set on non-directory inode %llu"

Well, there is no project ID test which runs _check_scratch_fs anyway.

So at least for today, it's not an issue.

-Eric

> I guess the downside of that is the test might subsequently miss other
> related failure modes of xfs_repair. Maybe it would be better to make
> xfs_repair have a separate error message for this specific case, and
> then filter that out of the test output. How would you know when it's
> ok to remove the filter?
>
> Regards,
> Ben