From: Chuck Lever Date: Tue, 6 May 2025 20:42:25 +0000 (-0400) Subject: NFSD: Use rqstp->rq_bvec in nfsd_iter_write() X-Git-Tag: v6.16-rc1~138^2~11 X-Git-Url: http://git.ipfire.org/?a=commitdiff_plain;h=1969823caf163593c82df9f9589074720bed2eea;p=thirdparty%2Fkernel%2Flinux.git NFSD: Use rqstp->rq_bvec in nfsd_iter_write() If we can get rid of all uses of rq_vec, then it can be removed. Replace one use of rqstp::rq_vec with rqstp::rq_bvec. The feeling of layering violation grows stronger now that is included in fs/nfsd/vfs.c. Suggested-by: Christoph Hellwig Signed-off-by: Chuck Lever --- diff --git a/fs/nfsd/vfs.c b/fs/nfsd/vfs.c index 43ecc5ae0c3f1..fac53cd145e78 100644 --- a/fs/nfsd/vfs.c +++ b/fs/nfsd/vfs.c @@ -31,6 +31,7 @@ #include #include #include +#include #include "xdr3.h" @@ -1206,8 +1207,8 @@ nfsd_vfs_write(struct svc_rqst *rqstp, struct svc_fh *fhp, if (stable && !fhp->fh_use_wgather) flags |= RWF_SYNC; - nvecs = svc_fill_write_vector(rqstp, payload); - iov_iter_kvec(&iter, ITER_SOURCE, rqstp->rq_vec, nvecs, *cnt); + nvecs = xdr_buf_to_bvec(rqstp->rq_bvec, rqstp->rq_maxpages, payload); + iov_iter_bvec(&iter, ITER_SOURCE, rqstp->rq_bvec, nvecs, *cnt); since = READ_ONCE(file->f_wb_err); if (verf) nfsd_copy_write_verifier(verf, nn);