NFSD: pass an integer for stable type to nfsd_vfs_write
authorKinglong Mee <kinglongmee@gmail.com>
Sat, 31 Dec 2016 12:59:53 +0000 (20:59 +0800)
committerJ. Bruce Fields <bfields@redhat.com>
Tue, 31 Jan 2017 17:31:53 +0000 (12:31 -0500)
After fae5096ad217 "nfsd: assume writeable exportabled filesystems have
f_sync" we no longer modify this argument.

This is just cleanup, no change in functionality.

Signed-off-by: Kinglong Mee <kinglongmee@gmail.com>
Signed-off-by: J. Bruce Fields <bfields@redhat.com>
fs/nfsd/nfs3proc.c
fs/nfsd/nfs4proc.c
fs/nfsd/nfs4xdr.c
fs/nfsd/nfsproc.c
fs/nfsd/vfs.c
fs/nfsd/vfs.h

index d818e4ffd79f9acd01c5f08384cd99a1bfad7243..69cd0f1e26ff8b501849703148145215639b4a77 100644 (file)
@@ -197,7 +197,7 @@ nfsd3_proc_write(struct svc_rqst *rqstp, struct nfsd3_writeargs *argp,
                                   argp->offset,
                                   rqstp->rq_vec, argp->vlen,
                                   &cnt,
-                                  &resp->committed);
+                                  resp->committed);
        resp->count = cnt;
        RETURN_STATUS(nfserr);
 }
index 74a6e573e061afa73fba49d8c65a09b7d470229d..2d4eb47177d1014df699fcf17efc55af32486460 100644 (file)
@@ -983,7 +983,7 @@ nfsd4_write(struct svc_rqst *rqstp, struct nfsd4_compound_state *cstate,
 
        status = nfsd_vfs_write(rqstp, &cstate->current_fh, filp,
                                write->wr_offset, rqstp->rq_vec, nvecs, &cnt,
-                               &write->wr_how_written);
+                               write->wr_how_written);
        fput(filp);
 
        write->wr_bytes_written = cnt;
index 8fae53ce21d16c8406ff01425d924eb044edee34..93eba39d57c4dc9036749149486bc2466e69f0fa 100644 (file)
@@ -1250,7 +1250,7 @@ nfsd4_decode_write(struct nfsd4_compoundargs *argp, struct nfsd4_write *write)
        READ_BUF(16);
        p = xdr_decode_hyper(p, &write->wr_offset);
        write->wr_stable_how = be32_to_cpup(p++);
-       if (write->wr_stable_how > 2)
+       if (write->wr_stable_how > NFS_FILE_SYNC)
                goto xdr_error;
        write->wr_buflen = be32_to_cpup(p++);
 
index 010aff5c5a79f2e91eaefaa671f77cafdf4c1cb5..f157c7eff82f5831485685899b55a12ed21a57ae 100644 (file)
@@ -204,7 +204,6 @@ nfsd_proc_write(struct svc_rqst *rqstp, struct nfsd_writeargs *argp,
                                        struct nfsd_attrstat  *resp)
 {
        __be32  nfserr;
-       int     stable = 1;
        unsigned long cnt = argp->len;
 
        dprintk("nfsd: WRITE    %s %d bytes at %d\n",
@@ -215,7 +214,7 @@ nfsd_proc_write(struct svc_rqst *rqstp, struct nfsd_writeargs *argp,
                                   argp->offset,
                                   rqstp->rq_vec, argp->vlen,
                                   &cnt,
-                                  &stable);
+                                  NFS_DATA_SYNC);
        return nfsd_return_attrs(nfserr, resp);
 }
 
index ca13236dbb1f33afb1c6664c030d63a5bfcfacc5..1bedb2bc907e5fad75dc3531b311e7ca58c72fcc 100644 (file)
@@ -917,14 +917,13 @@ static int wait_for_concurrent_writes(struct file *file)
 __be32
 nfsd_vfs_write(struct svc_rqst *rqstp, struct svc_fh *fhp, struct file *file,
                                loff_t offset, struct kvec *vec, int vlen,
-                               unsigned long *cnt, int *stablep)
+                               unsigned long *cnt, int stable)
 {
        struct svc_export       *exp;
        struct inode            *inode;
        mm_segment_t            oldfs;
        __be32                  err = 0;
        int                     host_err;
-       int                     stable = *stablep;
        int                     use_wgather;
        loff_t                  pos = offset;
        unsigned int            pflags = current->flags;
@@ -945,7 +944,7 @@ nfsd_vfs_write(struct svc_rqst *rqstp, struct svc_fh *fhp, struct file *file,
        use_wgather = (rqstp->rq_vers == 2) && EX_WGATHER(exp);
 
        if (!EX_ISSYNC(exp))
-               stable = 0;
+               stable = NFS_UNSTABLE;
 
        if (stable && !use_wgather)
                flags |= RWF_SYNC;
@@ -1014,7 +1013,7 @@ __be32 nfsd_read(struct svc_rqst *rqstp, struct svc_fh *fhp,
 __be32
 nfsd_write(struct svc_rqst *rqstp, struct svc_fh *fhp, struct file *file,
                loff_t offset, struct kvec *vec, int vlen, unsigned long *cnt,
-               int *stablep)
+               int stable)
 {
        __be32                  err = 0;
 
@@ -1027,7 +1026,7 @@ nfsd_write(struct svc_rqst *rqstp, struct svc_fh *fhp, struct file *file,
                        goto out;
                trace_write_opened(rqstp, fhp, offset, vlen);
                err = nfsd_vfs_write(rqstp, fhp, file, offset, vec, vlen, cnt,
-                               stablep);
+                               stable);
                trace_write_io_done(rqstp, fhp, offset, vlen);
        } else {
                err = nfsd_open(rqstp, fhp, S_IFREG, NFSD_MAY_WRITE, &file);
@@ -1037,7 +1036,7 @@ nfsd_write(struct svc_rqst *rqstp, struct svc_fh *fhp, struct file *file,
                trace_write_opened(rqstp, fhp, offset, vlen);
                if (cnt)
                        err = nfsd_vfs_write(rqstp, fhp, file, offset, vec, vlen,
-                                            cnt, stablep);
+                                            cnt, stable);
                trace_write_io_done(rqstp, fhp, offset, vlen);
                fput(file);
        }
index 0bf9e7bf5800af3855e3d93aaec194dcbea93ba6..8458d8c08b18bb69598986b2b12cc6cf37bdd3c4 100644 (file)
@@ -84,11 +84,11 @@ __be32              nfsd_readv(struct file *, loff_t, struct kvec *, int,
 __be32                 nfsd_read(struct svc_rqst *, struct svc_fh *,
                                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 *);
+                               loff_t, struct kvec *,int, unsigned long *, int);
 __be32         nfsd_vfs_write(struct svc_rqst *rqstp, struct svc_fh *fhp,
                                struct file *file, loff_t offset,
                                struct kvec *vec, int vlen, unsigned long *cnt,
-                               int *stablep);
+                               int stable);
 __be32         nfsd_readlink(struct svc_rqst *, struct svc_fh *,
                                char *, int *);
 __be32         nfsd_symlink(struct svc_rqst *, struct svc_fh *,