From 55c7f42fdd83cf13f1fc8f16de68bccafe7bfaee Mon Sep 17 00:00:00 2001 From: jsg Date: Tue, 9 Jun 2026 02:46:02 +0000 Subject: [PATCH] make nfsm_srvwcc() take an mbuf argument ok miod@ --- sys/nfs/nfs_serv.c | 48 +++++++++++++++++++++---------------------- sys/nfs/nfs_srvsubs.c | 10 ++++----- sys/nfs/nfs_var.h | 4 ++-- 3 files changed, 31 insertions(+), 31 deletions(-) diff --git a/sys/nfs/nfs_serv.c b/sys/nfs/nfs_serv.c index f0452a94a7a..df652b993ea 100644 --- a/sys/nfs/nfs_serv.c +++ b/sys/nfs/nfs_serv.c @@ -1,4 +1,4 @@ -/* $OpenBSD: nfs_serv.c,v 1.136 2026/06/09 02:42:10 jsg Exp $ */ +/* $OpenBSD: nfs_serv.c,v 1.137 2026/06/09 02:46:02 jsg Exp $ */ /* $NetBSD: nfs_serv.c,v 1.34 1997/05/12 23:37:12 fvdl Exp $ */ /* @@ -355,7 +355,7 @@ nfsrv_setattr(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp, if (nfsm_reply(&info, nfsd, slp, mrq, &info.nmi_mb, error, 2 * NFSX_UNSIGNED) != 0) return 0; - nfsm_srvwcc(nfsd, preat_ret, &preat, postat_ret, &va, &info); + nfsm_srvwcc(nfsd, preat_ret, &preat, postat_ret, &va, &info.nmi_mb); error = 0; goto nfsmout; } @@ -371,7 +371,7 @@ nfsrv_setattr(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp, error, NFSX_WCCDATA(info.nmi_v3)) != 0) return 0; nfsm_srvwcc(nfsd, preat_ret, &preat, postat_ret, &va, - &info); + &info.nmi_mb); error = 0; goto nfsmout; } @@ -405,7 +405,7 @@ out: return 0; if (info.nmi_v3) { nfsm_srvwcc(nfsd, preat_ret, &preat, postat_ret, &va, - &info); + &info.nmi_mb); error = 0; goto nfsmout; } else { @@ -964,7 +964,7 @@ nfsrv_write(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp, 2 * NFSX_UNSIGNED + NFSX_WRITEVERF(info.nmi_v3)) != 0) return 0; if (info.nmi_v3) { - nfsm_srvwcc(nfsd, forat_ret, &forat, aftat_ret, &va, &info); + nfsm_srvwcc(nfsd, forat_ret, &forat, aftat_ret, &va, &info.nmi_mb); if (error) { error = 0; goto nfsmout; @@ -995,7 +995,7 @@ vbad: bad: if (nfsm_reply(&info, nfsd, slp, mrq, &info.nmi_mb, error, 0) != 0) return 0; - nfsm_srvwcc(nfsd, forat_ret, &forat, aftat_ret, &va, &info); + nfsm_srvwcc(nfsd, forat_ret, &forat, aftat_ret, &va, &info.nmi_mb); return (0); } @@ -1080,7 +1080,7 @@ nfsrv_create(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp, NFSX_WCCDATA(info.nmi_v3)) != 0) return 0; nfsm_srvwcc(nfsd, dirfor_ret, &dirfor, diraft_ret, &diraft, - &info); + &info.nmi_mb); if (dirp) vrele(dirp); return (0); @@ -1282,7 +1282,7 @@ nfsrv_create(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp, nfsm_srvpostop_attr(nfsd, 0, &va, &info.nmi_mb); } nfsm_srvwcc(nfsd, dirfor_ret, &dirfor, diraft_ret, &diraft, - &info); + &info.nmi_mb); } else { nfsm_srvfhtom(&info.nmi_mb, fhp, info.nmi_v3); fp = nfsm_build(&info.nmi_mb, NFSX_V2FATTR); @@ -1366,7 +1366,7 @@ nfsrv_mknod(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp, NFSX_WCCDATA(1)) != 0) return 0; nfsm_srvwcc(nfsd, dirfor_ret, &dirfor, diraft_ret, &diraft, - &info); + &info.nmi_mb); if (dirp) vrele(dirp); return (0); @@ -1473,7 +1473,7 @@ out: nfsm_srvpostop_fh(&info.nmi_mb, fhp); nfsm_srvpostop_attr(nfsd, 0, &va, &info.nmi_mb); } - nfsm_srvwcc(nfsd, dirfor_ret, &dirfor, diraft_ret, &diraft, &info); + nfsm_srvwcc(nfsd, dirfor_ret, &dirfor, diraft_ret, &diraft, &info.nmi_mb); return (0); nfsmout: if (dirp) @@ -1584,7 +1584,7 @@ out: return 0; if (info.nmi_v3) { nfsm_srvwcc(nfsd, dirfor_ret, &dirfor, diraft_ret, &diraft, - &info); + &info.nmi_mb); return (0); } @@ -1663,9 +1663,9 @@ nfsrv_rename(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp, 2 * NFSX_WCCDATA(info.nmi_v3)) != 0) return 0; nfsm_srvwcc(nfsd, fdirfor_ret, &fdirfor, fdiraft_ret, &fdiraft, - &info); + &info.nmi_mb); nfsm_srvwcc(nfsd, tdirfor_ret, &tdirfor, tdiraft_ret, &tdiraft, - &info); + &info.nmi_mb); if (fdirp) vrele(fdirp); return (0); @@ -1777,9 +1777,9 @@ out1: return 0; if (info.nmi_v3) { nfsm_srvwcc(nfsd, fdirfor_ret, &fdirfor, fdiraft_ret, &fdiraft, - &info); + &info.nmi_mb); nfsm_srvwcc(nfsd, tdirfor_ret, &tdirfor, tdiraft_ret, &tdiraft, - &info); + &info.nmi_mb); } return (0); @@ -1862,7 +1862,7 @@ nfsrv_link(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp, return 0; nfsm_srvpostop_attr(nfsd, getret, &at, &info.nmi_mb); nfsm_srvwcc(nfsd, dirfor_ret, &dirfor, diraft_ret, &diraft, - &info); + &info.nmi_mb); error = 0; goto nfsmout; } @@ -1918,7 +1918,7 @@ out1: if (info.nmi_v3) { nfsm_srvpostop_attr(nfsd, getret, &at, &info.nmi_mb); nfsm_srvwcc(nfsd, dirfor_ret, &dirfor, diraft_ret, &diraft, - &info); + &info.nmi_mb); error = 0; } nfsmout: @@ -2071,7 +2071,7 @@ out: nfsm_srvpostop_attr(nfsd, 0, &va, &info.nmi_mb); } nfsm_srvwcc(nfsd, dirfor_ret, &dirfor, diraft_ret, &diraft, - &info); + &info.nmi_mb); } return (0); nfsmout: @@ -2155,7 +2155,7 @@ nfsrv_mkdir(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp, NFSX_WCCDATA(info.nmi_v3)) != 0) return 0; nfsm_srvwcc(nfsd, dirfor_ret, &dirfor, diraft_ret, &diraft, - &info); + &info.nmi_mb); if (dirp) vrele(dirp); return (0); @@ -2210,7 +2210,7 @@ out: nfsm_srvpostop_attr(nfsd, 0, &va, &info.nmi_mb); } nfsm_srvwcc(nfsd, dirfor_ret, &dirfor, diraft_ret, &diraft, - &info); + &info.nmi_mb); } else { nfsm_srvfhtom(&info.nmi_mb, fhp, info.nmi_v3); fp = nfsm_build(&info.nmi_mb, NFSX_V2FATTR); @@ -2291,7 +2291,7 @@ nfsrv_rmdir(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp, NFSX_WCCDATA(info.nmi_v3)) != 0) return 0; nfsm_srvwcc(nfsd, dirfor_ret, &dirfor, diraft_ret, &diraft, - &info); + &info.nmi_mb); if (dirp) vrele(dirp); return (0); @@ -2340,7 +2340,7 @@ out: return 0; if (info.nmi_v3) { nfsm_srvwcc(nfsd, dirfor_ret, &dirfor, diraft_ret, &diraft, - &info); + &info.nmi_mb); error = 0; } nfsmout: @@ -2933,7 +2933,7 @@ nfsrv_commit(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp, if (nfsm_reply(&info, nfsd, slp, mrq, &info.nmi_mb, error, 2 * NFSX_UNSIGNED) != 0) return 0; - nfsm_srvwcc(nfsd, for_ret, &bfor, aft_ret, &aft, &info); + nfsm_srvwcc(nfsd, for_ret, &bfor, aft_ret, &aft, &info.nmi_mb); error = 0; goto nfsmout; } @@ -2944,7 +2944,7 @@ nfsrv_commit(struct nfsrv_descript *nfsd, struct nfssvc_sock *slp, if (nfsm_reply(&info, nfsd, slp, mrq, &info.nmi_mb, error, NFSX_V3WCCDATA + NFSX_V3WRITEVERF) != 0) return 0; - nfsm_srvwcc(nfsd, for_ret, &bfor, aft_ret, &aft, &info); + nfsm_srvwcc(nfsd, for_ret, &bfor, aft_ret, &aft, &info.nmi_mb); if (!error) { tl = nfsm_build(&info.nmi_mb, NFSX_V3WRITEVERF); microboottime(&boottime); diff --git a/sys/nfs/nfs_srvsubs.c b/sys/nfs/nfs_srvsubs.c index 47ab5e430f3..dab542a53d6 100644 --- a/sys/nfs/nfs_srvsubs.c +++ b/sys/nfs/nfs_srvsubs.c @@ -1,4 +1,4 @@ -/* $OpenBSD: nfs_srvsubs.c,v 1.3 2026/06/09 02:40:16 jsg Exp $ */ +/* $OpenBSD: nfs_srvsubs.c,v 1.4 2026/06/09 02:46:02 jsg Exp $ */ /* $NetBSD: nfs_subs.c,v 1.27.4.3 1996/07/08 20:34:24 jtc Exp $ */ /* @@ -237,15 +237,15 @@ nfsm_adj(struct mbuf *mp, int len, int nul) void nfsm_srvwcc(struct nfsrv_descript *nfsd, int before_ret, struct vattr *before_vap, int after_ret, struct vattr *after_vap, - struct nfsm_info *info) + struct mbuf **mb) { u_int32_t *tl; if (before_ret) { - tl = nfsm_build(&info->nmi_mb, NFSX_UNSIGNED); + tl = nfsm_build(mb, NFSX_UNSIGNED); *tl = nfs_false; } else { - tl = nfsm_build(&info->nmi_mb, 7 * NFSX_UNSIGNED); + tl = nfsm_build(mb, 7 * NFSX_UNSIGNED); *tl++ = nfs_true; txdr_hyper(before_vap->va_size, tl); tl += 2; @@ -253,7 +253,7 @@ nfsm_srvwcc(struct nfsrv_descript *nfsd, int before_ret, tl += 2; txdr_nfsv3time(&(before_vap->va_ctime), tl); } - nfsm_srvpostop_attr(nfsd, after_ret, after_vap, &info->nmi_mb); + nfsm_srvpostop_attr(nfsd, after_ret, after_vap, mb); } void diff --git a/sys/nfs/nfs_var.h b/sys/nfs/nfs_var.h index 657548a82e3..ea8d4586adb 100644 --- a/sys/nfs/nfs_var.h +++ b/sys/nfs/nfs_var.h @@ -1,4 +1,4 @@ -/* $OpenBSD: nfs_var.h,v 1.69 2026/06/09 02:44:06 jsg Exp $ */ +/* $OpenBSD: nfs_var.h,v 1.70 2026/06/09 02:46:02 jsg Exp $ */ /* $NetBSD: nfs_var.h,v 1.3 1996/02/18 11:53:54 fvdl Exp $ */ /* @@ -146,7 +146,7 @@ int nfs_namei(struct nameidata *, fhandle_t *, int, struct nfssvc_sock *, struct proc *); void nfsm_adj(struct mbuf *, int, int); void nfsm_srvwcc(struct nfsrv_descript *, int, struct vattr *, int, - struct vattr *, struct nfsm_info *); + struct vattr *, struct mbuf **); void nfsm_srvpostop_attr(struct nfsrv_descript *, int, struct vattr *, struct mbuf **); void nfsm_srvfattr(struct nfsrv_descript *, struct vattr *,