diff options
Diffstat (limited to 'fs/nfsd/nfs3proc.c')
-rw-r--r-- | fs/nfsd/nfs3proc.c | 8 |
1 files changed, 5 insertions, 3 deletions
diff --git a/fs/nfsd/nfs3proc.c b/fs/nfsd/nfs3proc.c index 3d68f45a37b9..5b7e3021e06b 100644 --- a/fs/nfsd/nfs3proc.c +++ b/fs/nfsd/nfs3proc.c | |||
@@ -168,7 +168,7 @@ nfsd3_proc_read(struct svc_rqst *rqstp, struct nfsd3_readargs *argp, | |||
168 | svc_reserve_auth(rqstp, ((1 + NFS3_POST_OP_ATTR_WORDS + 3)<<2) + resp->count +4); | 168 | svc_reserve_auth(rqstp, ((1 + NFS3_POST_OP_ATTR_WORDS + 3)<<2) + resp->count +4); |
169 | 169 | ||
170 | fh_copy(&resp->fh, &argp->fh); | 170 | fh_copy(&resp->fh, &argp->fh); |
171 | nfserr = nfsd_read(rqstp, &resp->fh, NULL, | 171 | nfserr = nfsd_read(rqstp, &resp->fh, |
172 | argp->offset, | 172 | argp->offset, |
173 | rqstp->rq_vec, argp->vlen, | 173 | rqstp->rq_vec, argp->vlen, |
174 | &resp->count); | 174 | &resp->count); |
@@ -271,7 +271,7 @@ nfsd3_proc_mkdir(struct svc_rqst *rqstp, struct nfsd3_createargs *argp, | |||
271 | fh_init(&resp->fh, NFS3_FHSIZE); | 271 | fh_init(&resp->fh, NFS3_FHSIZE); |
272 | nfserr = nfsd_create(rqstp, &resp->dirfh, argp->name, argp->len, | 272 | nfserr = nfsd_create(rqstp, &resp->dirfh, argp->name, argp->len, |
273 | &argp->attrs, S_IFDIR, 0, &resp->fh); | 273 | &argp->attrs, S_IFDIR, 0, &resp->fh); |
274 | 274 | fh_unlock(&resp->dirfh); | |
275 | RETURN_STATUS(nfserr); | 275 | RETURN_STATUS(nfserr); |
276 | } | 276 | } |
277 | 277 | ||
@@ -327,7 +327,7 @@ nfsd3_proc_mknod(struct svc_rqst *rqstp, struct nfsd3_mknodargs *argp, | |||
327 | type = nfs3_ftypes[argp->ftype]; | 327 | type = nfs3_ftypes[argp->ftype]; |
328 | nfserr = nfsd_create(rqstp, &resp->dirfh, argp->name, argp->len, | 328 | nfserr = nfsd_create(rqstp, &resp->dirfh, argp->name, argp->len, |
329 | &argp->attrs, type, rdev, &resp->fh); | 329 | &argp->attrs, type, rdev, &resp->fh); |
330 | 330 | fh_unlock(&resp->dirfh); | |
331 | RETURN_STATUS(nfserr); | 331 | RETURN_STATUS(nfserr); |
332 | } | 332 | } |
333 | 333 | ||
@@ -348,6 +348,7 @@ nfsd3_proc_remove(struct svc_rqst *rqstp, struct nfsd3_diropargs *argp, | |||
348 | /* Unlink. -S_IFDIR means file must not be a directory */ | 348 | /* Unlink. -S_IFDIR means file must not be a directory */ |
349 | fh_copy(&resp->fh, &argp->fh); | 349 | fh_copy(&resp->fh, &argp->fh); |
350 | nfserr = nfsd_unlink(rqstp, &resp->fh, -S_IFDIR, argp->name, argp->len); | 350 | nfserr = nfsd_unlink(rqstp, &resp->fh, -S_IFDIR, argp->name, argp->len); |
351 | fh_unlock(&resp->fh); | ||
351 | RETURN_STATUS(nfserr); | 352 | RETURN_STATUS(nfserr); |
352 | } | 353 | } |
353 | 354 | ||
@@ -367,6 +368,7 @@ nfsd3_proc_rmdir(struct svc_rqst *rqstp, struct nfsd3_diropargs *argp, | |||
367 | 368 | ||
368 | fh_copy(&resp->fh, &argp->fh); | 369 | fh_copy(&resp->fh, &argp->fh); |
369 | nfserr = nfsd_unlink(rqstp, &resp->fh, S_IFDIR, argp->name, argp->len); | 370 | nfserr = nfsd_unlink(rqstp, &resp->fh, S_IFDIR, argp->name, argp->len); |
371 | fh_unlock(&resp->fh); | ||
370 | RETURN_STATUS(nfserr); | 372 | RETURN_STATUS(nfserr); |
371 | } | 373 | } |
372 | 374 | ||