Help wanted : when does the NFSv4 client uses "all-0" stateid for OP_WRITE ?

J. Bruce Fields bfields at fieldses.org
Fri Jun 19 12:04:42 EDT 2009


On Fri, Jun 19, 2009 at 09:18:44AM +0200, DENIEL Philippe wrote:
> Trond, Bruce,
>
> Thanks you so much for your help, I think you get the faulty thing. :-)
> When OP_OPEN4 is used to open and create a file that already exists, no  
> error is returned if UNCHECKED4 mode is used. In this particular case, I  
> did not set the compound request's current FH, leaving the one from the  
> parent directory in place. That why the parent's attributes were used  
> later. I fixed this and ran the test again and now it works.

Ah-hah.

> This also helped me fixing another bug I had with lock management (in a  
> few cases, I could crash the client's kernel).

Have those crashes been reported?

--b.

> This disappeared as well  
> as I fix the previous issue. In nfs-ganesha's distribution, I have a  
> 'THANKS' file : you now have a dedicated place in it.
>
>    Philippe
>
> Trond Myklebust a écrit :
>> On Thu, 2009-06-18 at 15:07 +0200, DENIEL Philippe wrote:
>>   
>>> Hi,
>>>     
>>>> I can't think of any obvious reason--
>>>>       
>>> So do you... The OPEN4 is successful and no error is returned so I do 
>>> not understand why the stateid is not used.
>>>
>>>     
>>>> if you sent a network trace of the
>>>> whole exchange (from initial setclientid thruogh the open), I could try
>>>> taking a look.
>>>>       
>>> Here are 2 capture from wireshark
>>>      - capture4bruce.nfs-ganesha.mount.write : this is the capture 
>>> with nfs-ganesha (my NFSv4 server) with the wrong use of all-0 
>>> stateid
>>>     
>>
>> Err... According to that trace, you are returning the attributes of the
>> directory in the GETATTR immediately after the OPEN call. No wonder the
>> client is confused...
>>
>> Trond
>>
>>   
>


More information about the NFSv4 mailing list