Re: [PATCH] nfs: lookupcache coherence bugs in WCC update path (revised)

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

 



On Thu, Aug 12, 2010 at 10:26 AM, Trond Myklebust
<trond.myklebust@xxxxxxxxxx> wrote:
>
> My hunch is that you are seeing a server bug rather than a client bug
> here...

I believe I am close to finding the actual bug, but there is some code
in the NFS server that is confusing me.

Here is linux-2.6.35/fs/nfsd/vfs.c, lines 212-227 (in function
nfsd_lookup_dentry):

        } else {
                fh_lock(fhp);
                dentry = lookup_one_len(name, dparent, len);
                host_err = PTR_ERR(dentry);
                if (IS_ERR(dentry))
                        goto out_nfserr;
                /*
                 * check if we have crossed a mount point ...
                 */
                if (nfsd_mountpoint(dentry, exp)) {
                        if ((host_err = nfsd_cross_mnt(rqstp, &dentry, &exp))) {
                                dput(dentry);
                                goto out_nfserr;
                        }
                }
        }


Shouldn't there be a call to "fh_unlock()" to match the call to
"fh_lock()"?  Can anyone tell me where the corresponding fh_unlock()
call appears, or if it does not appear, why it is not needed?

Thanks...

 - Pat
--
To unsubscribe from this list: send the line "unsubscribe linux-nfs" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at  http://vger.kernel.org/majordomo-info.html


[Index of Archives]     [Linux Filesystem Development]     [Linux USB Development]     [Linux Media Development]     [Video for Linux]     [Linux NILFS]     [Linux Audio Users]     [Yosemite Info]     [Linux SCSI]

  Powered by Linux