xfs
[Top] [All Lists]

Re: [PATCH] xfs: fix assertion failure at xfs_setattr_nonsize

To: Christoph Hellwig <hch@xxxxxxxxxxxxx>
Subject: Re: [PATCH] xfs: fix assertion failure at xfs_setattr_nonsize
From: Jeff Liu <jeff.liu@xxxxxxxxxx>
Date: Fri, 22 Nov 2013 23:56:13 +0800
Cc: "xfs@xxxxxxxxxxx" <xfs@xxxxxxxxxxx>
Delivered-to: xfs@xxxxxxxxxxx
In-reply-to: <20131122153858.GA19801@xxxxxxxxxxxxx>
References: <528F743D.9010800@xxxxxxxxxx> <20131122151735.GA2405@xxxxxxxxxxxxx> <528F796F.6070601@xxxxxxxxxx> <20131122153858.GA19801@xxxxxxxxxxxxx>
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:11.0) Gecko/20120410 Thunderbird/11.0.1
On 11/22/2013 11:38 PM, Christoph Hellwig wrote:

> On Fri, Nov 22, 2013 at 11:34:07PM +0800, Jeff Liu wrote:
>> On 11/22 2013  23:17 PM, Christoph Hellwig wrote:
>>> On Fri, Nov 22, 2013 at 11:11:57PM +0800, Jeff Liu wrote:
>>>> To remain the current semantics under the debug mode, this fix add
>>>> an additional judgement to make this assertion only works for non-CRC
>>>> enabled version.
>>>
>>>>            if (!gid_eq(igid, gid)) {
>>>>                    if (XFS_IS_QUOTA_RUNNING(mp) && XFS_IS_GQUOTA_ON(mp)) {
>>>> -                          ASSERT(!XFS_IS_PQUOTA_ON(mp));
>>>> +#ifdef DEBUG quota
>>>> +                          if (!xfs_sb_version_has_pquotino(&mp->m_sb))
>>>> +                                  ASSERT(!XFS_IS_PQUOTA_ON(mp));
>>>> +#endif
>>>>                            ASSERT(mask & ATTR_GID);
>>>>                            ASSERT(gdqp);
>>>
>>> I'd just kill this assert.
>> I hesitated about killing this assertion or hold the line before, will fix 
>> it soon.
> 
> If we want to keep it maybe write is a little nicer:
> 
>       ASSERT(xfs_sb_version_has_pquotino(&mp->m_sb) ||
>              !XFS_IS_PQUOTA_ON(mp));

Nice point! I'd take this suggestion.

Thanks,
-Jeff

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