[Spam-fortigate] Re: NFSv4 client's BUG?

J. Bruce Fields bfields at fieldses.org
Fri Jul 18 13:26:32 EDT 2008


On Thu, Jul 17, 2008 at 04:45:42PM +0800, Wei Yongjun wrote:
> J. Bruce Fields wrote:
>> On Wed, Jul 16, 2008 at 03:05:41PM -0400, Trond Myklebust wrote:
>>   
>>> On Wed, 2008-07-16 at 14:48 -0400, J. Bruce Fields wrote:
>>>     
>>>> On Wed, Jul 16, 2008 at 04:02:32PM +0800, Wei Yongjun wrote:
>>>>       
>>>>> J. Bruce Fields wrote:
>>>>>         
>>>>>> On Mon, Jul 14, 2008 at 10:03:01AM +0800, Wei Yongjun wrote:
>>>>>>             
>>>>>>> J. Bruce Fields wrote:
>>>>>>>             
>>>>>>>> So, is the problem occuring because the client is doing a setattr to
>>>>>>>> modify the size using a sequence id returned from a read delegation?
>>>>>>>>
>>>>>>>>                       
>>>>>>> This happend in special case:
>>>>>>>
>>>>>>> OPEN (OPEN4_SHARE_ACCESS_BOTH)    --->                        
>>>>>>>              <---      OPEN Reply OK
>>>>>>> SETATTR (size=0)                  --->
>>>>>>> OPEN (OPEN4_SHARE_ACCESS_READ)    --->
>>>>>>>                                     <---      SETATTR Reply NFSERR_OPENMODE
>>>>>>>                                     <---      OPEN Reply OK
>>>>>>>                 
>>>>>> Can you see which stateid the SETATTR was done with (in particular,
>>>>>> where did it come from)?  (You could just send me a link to the raw
>>>>>> capture if you'd like).
>>>>>>
>>>>>>             
>>>>> The file in this mail is a small tcpdump file of this error, the  
>>>>> NFSERR_OPENMODE is the NO.298 packet.
>>>>>         
>>>> Yes, so the stateid used on the setattr represents a read delegation,
>>>> and was returned in packet 291.  I think that's a client bug.
>>>>       
>>> You're saying that the client is holding a read delegation while it is
>>> holding the file open for OPEN4_SHARE_ACCESS_BOTH???
>>>     
>>
>> I'm having a hard time with the ietf mail archives, but my memory was
>> that people agreed that:
>> 	- 3530 wasn't completely clear as to whether a read delegation
>> 	  necessarily conflicted with writes from the client holding the
>> 	  read delegation, and
>> 	- nobody could see a reason why they needed to, so
>> 	- 4.1 explicitly says they don't conflict in this case.
>>
>> So I think it is a case the client should handle.
>>
>>   
>>> The client may indeed be handling that situation strangely,
>>> but afaics there would
>>> definitely appear to be a bug here on the server side.
>>>     
>>
>> That said, the Linux server definitely does recall delegations in this
>> situation.  What version of the server was this seen with?
>>   
>
> The Server version is kernel-2.6.18-92.el5.  client is 2.6.26-rc6. The  
> error happend in the following case.
> Server kernel-2.6.18-92.el5, client 2.6.26-rc6        <-- fopen() error  
> NFSERR_OPENMODE
> Server 2.6.26-rc6, client kernel-2.6.18-92.el5        <--  fopen() error  
> NFSERR_OPENMODE
> Server 2.6.26-rc6, client 2.6.26-rc6                       <--  cat  
> return ""

Which of those three cases was the trace you showed me from?  (One of
the first two, I guess?)

--b.


More information about the NFSv4 mailing list