Re: [PATCH pynfs 02/17] 4.1 server: service RECLAIM_COMPLETE operations

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

 



On second thought, I’m just going to drop this patch.

I only added it to avoid a NFS4ERR_NOTSUPP when connecting the file layout
MDS to pynfs DSes, but it is harmless and outside the scope of what I’m doing.

Not worth that can of worms.

-dros



On Jun 5, 2014, at 9:18 AM, Weston Andros Adamson <dros@xxxxxxxxxxxxxxx> wrote:

> 
> On Jun 5, 2014, at 9:06 AM, J. Bruce Fields <bfields@xxxxxxxxxxxx> wrote:
> 
>> On Thu, Jun 05, 2014 at 08:58:01AM -0400, Weston Andros Adamson wrote:
>>> Are you saying that the pynfs server supports state recovery? This has not
>>> been my experience. I’ll double check.
>> 
>> If you don't support state recovery, then I think the minimal correct
>> behavior would be to have no grace period at all: return NO_GRACE on
>> *every* reclaim operation and GRACE only on non-reclaims not preceded by
>> a global (one_fs == FALSE) RECLAIM_COMPLETE for that client.
>> 
>> All this does is catch misbehaving clients, and maybe that's not a
>> priority.  But it's easy enough to implement.
> 
> Yeah, that sounds good.
> 
> -dros
> 
>> 
>> —b.
>> 
>>> -dros
>>> 
>>> 
>>> 
>>> On Jun 5, 2014, at 8:22 AM, Trond Myklebust <trondmy@xxxxxxxxx> wrote:
>>> 
>>>> On Wed, Jun 4, 2014 at 10:29 PM, J. Bruce Fields <bfields@xxxxxxxxxxxx> wrote:
>>>>> On Wed, Jun 04, 2014 at 05:01:50PM -0400, Weston Andros Adamson wrote:
>>>>>> Just return ok!
>>>>> 
>>>>> Technically it should record whether or not the reclaim_complete has
>>>>> happened and return a GRACE error on any non-reclaim open performed
>>>>> before the reclaim_complete--but for your purposes you may not care...
>>>>> 
>>>> 
>>>> ...and a NOGRACE error on any reclaim opens performed by that client
>>>> after the reclaim_complete?
>>>> 
>>>>> --b.
>>>>> 
>>>>>> 
>>>>>> Signed-off-by: Weston Andros Adamson <dros@xxxxxxxxxxxxxxx>
>>>>>> ---
>>>>>> nfs4.1/nfs4server.py | 3 +++
>>>>>> 1 file changed, 3 insertions(+)
>>>>>> 
>>>>>> diff --git a/nfs4.1/nfs4server.py b/nfs4.1/nfs4server.py
>>>>>> index 65fb9af..3607dc0 100755
>>>>>> --- a/nfs4.1/nfs4server.py
>>>>>> +++ b/nfs4.1/nfs4server.py
>>>>>> @@ -1809,6 +1809,9 @@ class NFS4Server(rpc.Server):
>>>>>>       with find_state(env, arg.deleg_stateid, allow_0=False) as state:
>>>>>>           state.delegreturn()
>>>>>>       return encode_status(NFS4_OK)
>>>>>> +
>>>>>> +    def op_reclaim_complete(self, arg, env):
>>>>>> +        return encode_status(NFS4_OK)
>>>>>> 
>>>>>>   def op_getdevicelist(self, arg, env): # STUB
>>>>>>       check_session(env)
>>>>>> --
>>>>>> 1.8.5.2 (Apple Git-48)
>>>>>> 
>>>>> --
>>>>> 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
>>> 
> 

--
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