[Gluster-users] question about nfs lookup result

Soumya Koduri skoduri at redhat.com
Wed Nov 16 13:45:37 UTC 2016



On 11/16/2016 06:38 PM, Pranith Kumar Karampuri wrote:
> Added people who know nfs code.
>
> On Wed, Nov 16, 2016 at 6:21 PM, jin deng <cheneydeng88 at gmail.com
> <mailto:cheneydeng88 at gmail.com>> wrote:
>
>     Hi all,
>         I'm reading the code of 3.6.9 version and got a question.And I'm
>     not very familiar with the code,so I have to confirm it(I checked
>     the master branch,it's same with 3.6.9).
>
>         The question is about the 'lookup' operation of NFS.And i'm with
>     this code flow:
>
>         nfs3_lookup (nfs3.c) ==> nfs3_fh_resolve_and_resume
>     ==> nfs3_fh_resolve_root ==> nfs3_fh_resolve_resume
>     ==> nfs3_fh_resolve_entry ==> nfs3_fh_resolve_entry_hard.
>
>     Now enter the "nfs_entry_loc_fill" and return with -1 which means
>     the "parent" not found,so we have to do hard resolve about the
>     parent. After doing a hard resolve,we get into the callback
>     "nfs3_fh_resolve_inode_lookup_cbk".And the callback has the
>     following code:
>
>     >>> memcpy (&cs->stbuf, buf, sizeof(*buf));
>     >>> memcpy (&cs->postparent, buf, sizeof(*postparent))

This must had been done  (and required) in case if this was the last 
entry(/inode) to be looked up.

>
>     I think we've just done a parent resolve,how could we assign the
>     parent result into the "stbuf" and "postparent".The later two should
>     be the information of the child file/directory.Do i made a
>     misunderstand?

In case if it was not the last entry we fall through below code in 
"nfs3_fh_resolve_inode_lookup_cbk" -

         if (cs->resolventry)
                 nfs3_fh_resolve_entry_hard (cs);

Callback is "nfs3_fh_resolve_entry_lookup_cbk()" where in cs->stbuf and 
cs->postparent get overridden with the values corresponding to the child 
entry.

Thanks,
Soumya

>
>     Thanks advance for your help.
>
>     _______________________________________________
>     Gluster-users mailing list
>     Gluster-users at gluster.org <mailto:Gluster-users at gluster.org>
>     http://www.gluster.org/mailman/listinfo/gluster-users
>     <http://www.gluster.org/mailman/listinfo/gluster-users>
>
>
>
>
> --
> Pranith


More information about the Gluster-users mailing list