]> asedeno.scripts.mit.edu Git - linux.git/blobdiff - fs/nfsd/nfs3proc.c
GPIO: add single-register GPIO via CREG driver
[linux.git] / fs / nfsd / nfs3proc.c
index 6259a4b8579faddce80cecdf133b4515d1e558de..9eb8086ea841e6a787adc94f90b9cf0816696011 100644 (file)
@@ -202,7 +202,8 @@ nfsd3_proc_write(struct svc_rqst *rqstp)
 
        fh_copy(&resp->fh, &argp->fh);
        resp->committed = argp->stable;
-       nvecs = svc_fill_write_vector(rqstp, &argp->first, cnt);
+       nvecs = svc_fill_write_vector(rqstp, rqstp->rq_arg.pages,
+                                     &argp->first, cnt);
        if (!nvecs)
                RETURN_STATUS(nfserr_io);
        nfserr = nfsd_write(rqstp, &resp->fh, argp->offset,
@@ -289,6 +290,7 @@ nfsd3_proc_symlink(struct svc_rqst *rqstp)
                RETURN_STATUS(nfserr_nametoolong);
 
        argp->tname = svc_fill_symlink_pathname(rqstp, &argp->first,
+                                               page_address(rqstp->rq_arg.pages[0]),
                                                argp->tlen);
        if (IS_ERR(argp->tname))
                RETURN_STATUS(nfserrno(PTR_ERR(argp->tname)));
@@ -302,6 +304,7 @@ nfsd3_proc_symlink(struct svc_rqst *rqstp)
        fh_init(&resp->fh, NFS3_FHSIZE);
        nfserr = nfsd_symlink(rqstp, &resp->dirfh, argp->fname, argp->flen,
                                                   argp->tname, &resp->fh);
+       kfree(argp->tname);
        RETURN_STATUS(nfserr);
 }