]> git.baikalelectronics.ru Git - kernel.git/commitdiff
nfsd: minor nfsd read api cleanup
authorJ. Bruce Fields <bfields@redhat.com>
Fri, 30 Jul 2010 15:33:32 +0000 (11:33 -0400)
committerJ. Bruce Fields <bfields@redhat.com>
Fri, 30 Jul 2010 16:54:54 +0000 (12:54 -0400)
Christoph points that the NFSv2/v3 callers know which case they want
here, so we may as well just call the file=NULL case directly instead of
making this conditional.

Cc: Christoph Hellwig <hch@infradead.org>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
fs/nfsd/nfs3proc.c
fs/nfsd/nfs4xdr.c
fs/nfsd/nfsproc.c
fs/nfsd/vfs.c
fs/nfsd/vfs.h

index 9ae93317abe444933f56ae7c688c195519d5c2ca..5b7e3021e06b874e6d4e802dae08164b39906485 100644 (file)
@@ -168,7 +168,7 @@ nfsd3_proc_read(struct svc_rqst *rqstp, struct nfsd3_readargs *argp,
        svc_reserve_auth(rqstp, ((1 + NFS3_POST_OP_ATTR_WORDS + 3)<<2) + resp->count +4);
 
        fh_copy(&resp->fh, &argp->fh);
-       nfserr = nfsd_read(rqstp, &resp->fh, NULL,
+       nfserr = nfsd_read(rqstp, &resp->fh,
                                  argp->offset,
                                  rqstp->rq_vec, argp->vlen,
                                  &resp->count);
index 835924f5ca540557ac46eb909be7103c033b33d6..f8931acb05f39586035e5bccfb906769d9334564 100644 (file)
@@ -2630,7 +2630,7 @@ nfsd4_encode_read(struct nfsd4_compoundres *resp, __be32 nfserr,
        }
        read->rd_vlen = v;
 
-       nfserr = nfsd_read(read->rd_rqstp, read->rd_fhp, read->rd_filp,
+       nfserr = nfsd_read_file(read->rd_rqstp, read->rd_fhp, read->rd_filp,
                        read->rd_offset, resp->rqstp->rq_vec, read->rd_vlen,
                        &maxcount);
 
index 1edb78b96c5fa82021b238233296301d17a9f1ea..08e17264784b7f4dd2d5822cbb7c59a52a58f369 100644 (file)
@@ -144,7 +144,7 @@ nfsd_proc_read(struct svc_rqst *rqstp, struct nfsd_readargs *argp,
        svc_reserve_auth(rqstp, (19<<2) + argp->count + 4);
 
        resp->count = argp->count;
-       nfserr = nfsd_read(rqstp, fh_copy(&resp->fh, &argp->fh), NULL,
+       nfserr = nfsd_read(rqstp, fh_copy(&resp->fh, &argp->fh),
                                  argp->offset,
                                  rqstp->rq_vec, argp->vlen,
                                  &resp->count);
index 3458a8f596f109029d476e02324afa45021de29d..1709138affb117fc3ee047a2e61dfffec8d2aa3c 100644 (file)
@@ -1065,7 +1065,12 @@ out:
        return err;
 }
 
-static __be32 nfsd_open_read(struct svc_rqst *rqstp, struct svc_fh *fhp,
+/*
+ * Read data from a file. count must contain the requested read count
+ * on entry. On return, *count contains the number of bytes actually read.
+ * N.B. After this call fhp needs an fh_put
+ */
+__be32 nfsd_read(struct svc_rqst *rqstp, struct svc_fh *fhp,
        loff_t offset, struct kvec *vec, int vlen, unsigned long *count)
 {
        struct file *file;
@@ -1101,13 +1106,9 @@ static __be32 nfsd_open_read(struct svc_rqst *rqstp, struct svc_fh *fhp,
        return err;
 }
 
-/*
- * Read data from a file. count must contain the requested read count
- * on entry. On return, *count contains the number of bytes actually read.
- * N.B. After this call fhp needs an fh_put
- */
+/* As above, but use the provided file descriptor. */
 __be32
-nfsd_read(struct svc_rqst *rqstp, struct svc_fh *fhp, struct file *file,
+nfsd_read_file(struct svc_rqst *rqstp, struct svc_fh *fhp, struct file *file,
                loff_t offset, struct kvec *vec, int vlen,
                unsigned long *count)
 {
@@ -1119,8 +1120,8 @@ nfsd_read(struct svc_rqst *rqstp, struct svc_fh *fhp, struct file *file,
                if (err)
                        goto out;
                err = nfsd_vfs_read(rqstp, fhp, file, offset, vec, vlen, count);
-       } else
-               err = nfsd_open_read(rqstp, fhp, offset, vec, vlen, count);
+       } else /* Note file may still be NULL in NFSv4 special stateid case: */
+               err = nfsd_read(rqstp, fhp, offset, vec, vlen, count);
 out:
        return err;
 }
index 217a62c2a3576ec7bb47e8ca3b8332de4ff1ad93..9a370a5e36b7ea9409b0b5b250ff88b6d5bee6ce 100644 (file)
@@ -64,7 +64,9 @@ __be32                nfsd_commit(struct svc_rqst *, struct svc_fh *,
 __be32         nfsd_open(struct svc_rqst *, struct svc_fh *, int,
                                int, struct file **);
 void           nfsd_close(struct file *);
-__be32                 nfsd_read(struct svc_rqst *, struct svc_fh *, struct file *,
+__be32                 nfsd_read(struct svc_rqst *, struct svc_fh *,
+                               loff_t, struct kvec *, int, unsigned long *);
+__be32                 nfsd_read_file(struct svc_rqst *, struct svc_fh *, struct file *,
                                loff_t, struct kvec *, int, unsigned long *);
 __be32                 nfsd_write(struct svc_rqst *, struct svc_fh *,struct file *,
                                loff_t, struct kvec *,int, unsigned long *, int *);