Does the following fix the issue?

commit d669eb56d19f1d722e1919d0f39e7055caa88ddd
Author: Krishna Harathi <khara...@exablox.com>
Date:   Fri Nov 6 00:03:58 2015 +0000

    nfsv3 - fix malformed packet response in readdir when zero entries are
    returned. Also in cache_inode_readdir.
    
    Change-Id: If9489308b863d8a819511fbd8cb0ed7f633e283f
    Signed-off-by: Krishna Harathi <khara...@exablox.com>


Tushar Shinde [mtk.tus...@gmail.com] wrote:
> Hi All,
> 
> Env:
> Server: NFS Ganesha V2.2-stable x86_64, on RHEL 6.5
> Client: SunOS 5.10 Generic_150400-30 sun4v sparc SUNW,SPARC-Enterprise-T5120
> bash-3.2# cat /etc/release
>                    Oracle Solaris 10 1/13 s10s_u11wos_24a SPARC
>   Copyright (c) 1983, 2013, Oracle and/or its affiliates. All rights reserved.
>                             Assembled 17 January 2013
> 
> 
> Issue:
> >From solaris client if we do rm -rf it randomly fails, Many time it
> says eexists or directory is moved or linked while rm.
> 
> I was debugging this issue and following are observations. Please
> guide me to patch (if already fixed) or any clue to solve this.
> 
> After debugging I found if unlink is in progress in same dir as of reading,
> while(ent = readdir()) {
> remove()
> }
> 
> on solaris, getdents returns ENOENT on last call, rather it should get 0.
> Client is sending cookie which deleted on server by last remove call.
> Since there is no files left,
> Ganesha gets no new node and prints error like following.
> 
> On Client:
> getdents(4, 0xFFFFFFFF7E700000, 8192)           Err#2 ENOENT
> 
> On Server
> 2016-03-08 12:53:28 : ganesha.nfsd-30982[work-9] nfs3_readdir :F_DBG
> :---> nfs3_readdir: count=8192  cookie=18411418809641280358
> estimated_num_entries=120
> 2016-03-08 12:53:28 : ganesha.nfsd-30982[work-9] cache_inode_readdir
> :F_DBG :Enter....
> 2016-03-08 12:53:28 : ganesha.nfsd-30982[work-9] cache_inode_access_sw
> :DEBUG :INODE: DEBUG: access_type=0X84000001
> 2016-03-08 12:53:28 : ganesha.nfsd-30982[work-9]
> cache_inode_avl_lookup_k :DEBUG :found deleted supremum (nil)
> 2016-03-08 12:53:28 : ganesha.nfsd-30982[work-9] cache_inode_readdir
> :F_DBG :seek to cookie=18411418809641280358 fail
> 
> Thing to note here is cookie 18411418809641280358 is no more alive and
> hence lookup return nil.
> 
> I tried sending CACHE_INODE_SUCCESS with 0 entries instead of
> CACHE_INODE_BAD_COOKIE but that also did not worked.
> 
> What should be correct return code for readdir request with last
> cookie which is deleted on server? Any one know any relevant issues
> like this.
> 
> (I tried to subscribe the mailing list multiple times but I never got
> confirmation email so sending message to
> nfs-ganesha-devel@lists.sourceforge.net, Please route to correct alias
> if not appropriate for this id.)
> 
> Thank you,
> Tushar Shinde.
> 
> ------------------------------------------------------------------------------
> Transform Data into Opportunity.
> Accelerate data analysis in your applications with
> Intel Data Analytics Acceleration Library.
> Click to learn more.
> http://makebettercode.com/inteldaal-eval
> _______________________________________________
> Nfs-ganesha-devel mailing list
> Nfs-ganesha-devel@lists.sourceforge.net
> https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel
> 


------------------------------------------------------------------------------
Transform Data into Opportunity.
Accelerate data analysis in your applications with
Intel Data Analytics Acceleration Library.
Click to learn more.
http://makebettercode.com/inteldaal-eval
_______________________________________________
Nfs-ganesha-devel mailing list
Nfs-ganesha-devel@lists.sourceforge.net
https://lists.sourceforge.net/lists/listinfo/nfs-ganesha-devel

Reply via email to