Re: [PATCH v1] nfs: Don't increment lock sequence ID after NFS4ERR_MOVED

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



> On Jan 25, 2017, at 2:58 PM, Chuck Lever <chuck.lever@xxxxxxxxxx> wrote:
> 
>> 
>> On Jan 24, 2017, at 3:23 PM, Trond Myklebust <trondmy@xxxxxxxxxxxxxxx> wrote:
>> 
>> On Tue, 2017-01-24 at 14:15 -0500, J. Bruce Fields wrote:
>>> On Tue, Jan 24, 2017 at 02:06:16PM -0500, Chuck Lever wrote:
>>>> 
>>>>> On Jan 23, 2017, at 11:49 AM, bfields@xxxxxxxxxxxx wrote:
>>>>> 
>>>>> On Mon, Jan 23, 2017 at 10:01:27AM -0500, Chuck Lever wrote:
>>>>>> 
>>>>>>> On Jan 22, 2017, at 2:04 PM, Chuck Lever <chuck.lever@oracle.
>>>>>>> com> wrote:
>>>>>>> 
>>>>>>> Xuan Qi reports that the Linux NFSv4 client failed to lock a
>>>>>>> file
>>>>>>> that was migrated. The steps he observed on the wire:
>>>>>>> 
>>>>>>> 1. The client sent a LOCK request
>>>>>>> 2. The server replied NFS4ERR_MOVED
>>>>>>> 3. The client switched to the destination server
>>>>>>> 4. The client sent the LOCK request again with a bumped
>>>>>>> ย lock sequence ID
>>>>>>> 5. The server rejected the LOCK request with
>>>>>>> NFS4ERR_BAD_SEQID
>>>>>> 
>>>>>> The list of steps could be more clear:
>>>>>> 
>>>>>> 1. The client sent a LOCK request to the source server
>>>>>> 2. The source server replied NFS4ERR_MOVED
>>>>>> 3. The client switched to the destination server
>>>>>> 4. The client sent the same LOCK request to the destination
>>>>>> ย  server with a bumped lock sequence ID
>>>>>> 5. The destination server rejected the LOCK request with
>>>>>> ย  NFS4ERR_BAD_SEQID
>>>>>> 
>>>>>> 
>>>>>>> RFC 3530 section 8.1.5 provides a list of NFS errors which do
>>>>>>> not
>>>>>>> bump a lock sequence ID.
>>>>>>> 
>>>>>>> However, RFC 3530 is now obsoleted by RFC 7530. In RFC 7530
>>>>>>> section
>>>>>>> 9.1.7, this list has been updated by the addition of
>>>>>>> NFS4ERR_MOVED.
>>>>> 
>>>>> I guess we figured the backwards-incompatible change was OK since
>>>>> essentially the Solaris server is the first we know of to be
>>>>> making real
>>>>> use of NFS4ERR_MOVED?
>>>>> 
>>>>> And probably it's required for the their implementation because
>>>>> the old
>>>>> server no longer has the ability to update the state once it's
>>>>> reached
>>>>> the point of returning ERR_MOVED.
>>>>> 
>>>>> OK, makes sense to me, I think.
>>>> 
>>>> Hi Bruce-
>>>> 
>>>> Does this mean you will take this patch, or should
>>>> I just add your Reviewed-by: ?
>>> 
>>> I can take it if nobody objects.ย ย Mind if I append the above to the
>>> changelog?ย ย (Just want to document why we think the apparently
>>> backwards-incompatible change is OK.)
>>> 
>> I've already added it to my linux-next branch as a stable patch.
> 
> This patch alone might not be enough.
> 
> Our test results show that even with this patch applied, the Linux
> client still increments the lock sequence ID after NFS4ERR_MOVED.

Looks like nfs_increment_seqid() also needs to be updated?

--
Chuck Lever



--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html



[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux