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

Wei Yongjun yjwei at cn.fujitsu.com
Thu Jul 17 04:45:42 EDT 2008


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






More information about the NFSv4 mailing list