This commit was manufactured by cvs2svn to create tag
[linux-2.6.git] / fs / nfsd / nfs4xdr.c
index b98b5fe..bb0c72f 100644 (file)
@@ -1686,6 +1686,7 @@ nfsd4_encode_dirent(struct readdir_cd *ccd, const char *name, int namlen,
                        goto error;
                }
 
+               exp_get(exp);
                if (d_mountpoint(dentry)) {
                        if ((nfserr = nfsd_cross_mnt(cd->rd_rqstp, &dentry, 
                                         &exp))) {      
@@ -1697,6 +1698,7 @@ nfsd4_encode_dirent(struct readdir_cd *ccd, const char *name, int namlen,
                         * this call will be retried.
                         */
                                dput(dentry);
+                               exp_put(exp);
                                nfserr = nfserr_dropit;
                                goto error;
                        }
@@ -1706,6 +1708,8 @@ nfsd4_encode_dirent(struct readdir_cd *ccd, const char *name, int namlen,
                nfserr = nfsd4_encode_fattr(NULL, exp,
                                dentry, p, &buflen, cd->rd_bmval,
                                cd->rd_rqstp);
+               dput(dentry);
+               exp_put(exp);
                if (!nfserr) {
                        p += buflen;
                        goto out;