[Gluster-devel] question about nfs lookup result

jin deng cheneydeng88 at gmail.com
Wed Nov 16 12:44:54 UTC 2016


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

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?

Thanks advance for your help.
-------------- next part --------------
An HTML attachment was scrubbed...
URL: <http://www.gluster.org/pipermail/gluster-devel/attachments/20161116/615739e2/attachment.html>


More information about the Gluster-devel mailing list