On Friday, May 15, 2026, Oliver Pinter <[email protected]> wrote:
> Hi! > > On Friday, May 15, 2026, Rick Macklem <[email protected]> wrote: > >> The branch main has been updated by rmacklem: >> >> URL: https://cgit.FreeBSD.org/src/commit/?id=b92b9da3300655c86dcd >> 42ea8a5ba45badd90847 >> >> commit b92b9da3300655c86dcd42ea8a5ba45badd90847 >> Author: Rick Macklem <[email protected]> >> AuthorDate: 2026-05-14 22:33:23 +0000 >> Commit: Rick Macklem <[email protected]> >> CommitDate: 2026-05-14 22:33:23 +0000 >> >> nfsd: Allow vfs.nfsd.srvmaxio to be up to 4Mbytes >> >> Without this patch, the maximum setting for >> vfs.nfsd.srvmaxio was 1Mbyte. This patch increases >> that to 4Mbytes. >> >> The same as for any setting above 128Kbytes, settings up to >> 4Mbytes require that kern.ipc.maxsockbuf be increased. >> (A message generated after setting vfs.nfsd.srvmaxio via >> the /etc/rc.conf variable nfs_server_maxio will indicate >> the minimum setting, which will be somewhat greater than >> four times the setting of vfs.nfsd.srvmaxio.) >> >> Requested by: Cedric Blancher <[email protected]> >> MFC after: 2 weeks >> Fixes: 13d3bd165e22 ("subr_uio.c: Remove a KASSERT() for large NFS >> server I/O") > > > Wouldn't be better to introduce an MFC with tag, rater than abusing the > Fixes tag? This seems to me like a new "feature", rather than a bug. And it > will may be added to releasenotes also. > > (sorry, I've just seen now, the release notes, I'm going through on the commit from oldest to newest, but the other part is still relevant) > --- >> sys/fs/nfs/nfsproto.h | 3 +++ >> sys/fs/nfsserver/nfs_nfsdport.c | 5 +++-- >> 2 files changed, 6 insertions(+), 2 deletions(-) >> >> diff --git a/sys/fs/nfs/nfsproto.h b/sys/fs/nfs/nfsproto.h >> index 6e67c5be3416..1054c85d8e8f 100644 >> --- a/sys/fs/nfs/nfsproto.h >> +++ b/sys/fs/nfs/nfsproto.h >> @@ -89,8 +89,11 @@ >> * It used to be called NFS_MAXDATA, but has been renamed to clarify that >> * it refers to server side only and doesn't conflict with the >> NFS_MAXDATA >> * defined in rpcsvc/nfs_prot.h for userland. >> + * NFS_SRVMAXIO is the default setting for vfs.nfsd.srvmaxio >> + * NFS_SRVLIMITIO is the maximum setting allowed for vfs.nfsd.srvmaxio >> */ >> #define NFS_SRVMAXIO (128 * 1024) >> +#define NFS_SRVLIMITIO (4 * 1024 * 1024) >> >> /* Stat numbers for rpc returns (version 2, 3 and 4) */ >> /* >> diff --git a/sys/fs/nfsserver/nfs_nfsdport.c >> b/sys/fs/nfsserver/nfs_nfsdport.c >> index e42d5ca1e0a3..1e6936ed351c 100644 >> --- a/sys/fs/nfsserver/nfs_nfsdport.c >> +++ b/sys/fs/nfsserver/nfs_nfsdport.c >> @@ -241,8 +241,9 @@ sysctl_srvmaxio(SYSCTL_HANDLER_ARGS) >> printf("nfsd: vfs.nfsd.srvmaxio can only be increased\n"); >> return (EINVAL); >> } >> - if (newsrvmaxio > 1048576) { >> - printf("nfsd: vfs.nfsd.srvmaxio cannot be > 1Mbyte\n"); >> + if (newsrvmaxio > NFS_SRVLIMITIO) { >> + printf("nfsd: vfs.nfsd.srvmaxio cannot be > %d\n", >> + NFS_SRVLIMITIO); >> return (EINVAL); >> } >> if ((newsrvmaxio & (newsrvmaxio - 1)) != 0) { >> >>
