Re: question about nfs lookup result

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 





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@xxxxxxxxx
<mailto:cheneydeng88@xxxxxxxxx>> 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@xxxxxxxxxxx <mailto:Gluster-users@xxxxxxxxxxx>
    http://www.gluster.org/mailman/listinfo/gluster-users
    <http://www.gluster.org/mailman/listinfo/gluster-users>




--
Pranith
_______________________________________________
Gluster-users mailing list
Gluster-users@xxxxxxxxxxx
http://www.gluster.org/mailman/listinfo/gluster-users



[Index of Archives]     [Gluster Development]     [Linux Filesytems Development]     [Linux ARM Kernel]     [Linux ARM]     [Linux Omap]     [Fedora ARM]     [IETF Annouce]     [Bugtraq]     [Linux OMAP]     [Linux MIPS]     [eCos]     [Asterisk Internet PBX]     [Linux API]

  Powered by Linux