argp->offset,
                                   rqstp->rq_vec, argp->vlen,
                                   &cnt,
-                                  &resp->committed);
+                                  resp->committed);
        resp->count = cnt;
        RETURN_STATUS(nfserr);
 }
 
 
        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;
 
        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++);
 
 
                                        struct nfsd_attrstat  *resp)
 {
        __be32  nfserr;
-       int     stable = 1;
        unsigned long cnt = argp->len;
 
        dprintk("nfsd: WRITE    %s %d bytes at %d\n",
                                   argp->offset,
                                   rqstp->rq_vec, argp->vlen,
                                   &cnt,
-                                  &stable);
+                                  NFS_DATA_SYNC);
        return nfsd_return_attrs(nfserr, resp);
 }
 
 
 __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;
        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;
 __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;
 
                        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);
                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);
        }
 
 __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 *,