Page MenuHomeFreeBSD

rmacklem (Rick Macklem)
User

Projects

User Details

User Since
Jan 13 2015, 10:58 PM (596 w, 4 d)

Recent Activity

Today

rmacklem committed rGfa515f60fce0: nfs_nfsdport.c: One more unnecessary initialization for gcc (authored by rmacklem).
nfs_nfsdport.c: One more unnecessary initialization for gcc
Sun, Jun 21, 2:55 AM
rmacklem committed rG61152df00aee: nfs_nfsdport.c: Do unnecessary initializations to quiet gcc (authored by rmacklem).
nfs_nfsdport.c: Do unnecessary initializations to quiet gcc
Sun, Jun 21, 12:09 AM

Yesterday

rmacklem committed rGd8e8f9251975: pNFSd: Add a directory of newly created files for the pNFSd (authored by rmacklem).
pNFSd: Add a directory of newly created files for the pNFSd
Sat, Jun 20, 6:46 PM
rmacklem closed D57554: pNFSd: Add a directory of newly created files for the pNFSd.
Sat, Jun 20, 6:46 PM
rmacklem added inline comments to D57681: vfs: rename vop_mmapped() to vop_update_atime().
Sat, Jun 20, 12:21 AM

Fri, Jun 19

rmacklem accepted D57681: vfs: rename vop_mmapped() to vop_update_atime().
Fri, Jun 19, 10:50 PM
rmacklem added a comment to D57681: vfs: rename vop_mmapped() to vop_update_atime().
In D57681#1322466, @kib wrote:

This looks ok to me, although I'll admit I am not
conversant with UFS semantics, so I'll leave that
to others.

All existing callers pass tsa == NULL, so the intent is that the semantic does not change.
It is the question whether your case is served when tsa != NULL is provided.

I guess it does. I don't know UFS, but it does seem "inefficient" to first do
UFS_INODE_SET_FLAG_SHARED(), which locks/unlocks the vnode interlock and
then call ufs_itimes(), which locks the vnode interlock again and calls ufs_itimes_locked().

Fri, Jun 19, 9:37 PM
rmacklem accepted D57681: vfs: rename vop_mmapped() to vop_update_atime().

This looks ok to me, although I'll admit I am not
conversant with UFS semantics, so I'll leave that
to others.

Fri, Jun 19, 8:53 PM
rmacklem added a comment to D57681: vfs: rename vop_mmapped() to vop_update_atime().
In D57681#1322365, @kib wrote:

What is not clear to me, should ufs_itimes() only use the passed timespec for atime update, or it shall be used for all times as I did in the initial version of the patch.
Perhaps this is the question to Rick, since I believe the only caller with tsa != NULL would be nfs server.

Fri, Jun 19, 8:10 PM

Thu, Jun 18

rmacklem added inline comments to D57554: pNFSd: Add a directory of newly created files for the pNFSd.
Thu, Jun 18, 9:43 PM
rmacklem updated the diff for D57554: pNFSd: Add a directory of newly created files for the pNFSd.

Made changes as suggested by kib@.

Thu, Jun 18, 9:35 PM
rmacklem committed rGb1af05406b51: nfs_nfsdserv.c: Fix setting of birthtime for some ZFS pools (authored by rmacklem).
nfs_nfsdserv.c: Fix setting of birthtime for some ZFS pools
Thu, Jun 18, 3:47 PM
rmacklem committed rG572680712c31: nfs_clvnops.c: Fix the case where va_flags are being cleared (authored by rmacklem).
nfs_clvnops.c: Fix the case where va_flags are being cleared
Thu, Jun 18, 12:38 AM

Wed, Jun 17

rmacklem added inline comments to D57554: pNFSd: Add a directory of newly created files for the pNFSd.
Wed, Jun 17, 4:12 PM
rmacklem updated the diff for D57554: pNFSd: Add a directory of newly created files for the pNFSd.

Changed return value to EBUSY when the nfsd
are running and got rid of the locking around
reading the list head, as suggested by markj@.

Wed, Jun 17, 4:07 PM

Tue, Jun 16

rmacklem added a reverting change for rG7a289fe3cd5c: rpc.tlsservd.c: Pin max threads at 1 for now: rG62e7ac83ae14: Revert "rpc.tlsservd.c: Pin max threads at 1 for now".
Tue, Jun 16, 4:18 PM
rmacklem committed rG62e7ac83ae14: Revert "rpc.tlsservd.c: Pin max threads at 1 for now" (authored by rmacklem).
Revert "rpc.tlsservd.c: Pin max threads at 1 for now"
Tue, Jun 16, 4:18 PM
rmacklem committed rG2e6615b26bb5: netexport: Move struct netexport in a .h file and refcnt it (authored by rmacklem).
netexport: Move struct netexport in a .h file and refcnt it
Tue, Jun 16, 3:38 PM
rmacklem closed D57553: netexport: Move struct netexport into a .h file and refcnt it.
Tue, Jun 16, 3:37 PM
rmacklem added inline comments to D57553: netexport: Move struct netexport into a .h file and refcnt it.
Tue, Jun 16, 12:34 AM
rmacklem updated the diff for D57553: netexport: Move struct netexport into a .h file and refcnt it.

Add vfs_netexport_reset() as suggested by markj@.
Also, add KASSERT()s to check ne_ref > 0.

Tue, Jun 16, 12:32 AM

Mon, Jun 15

rmacklem added a comment to D57555: rpcsec_tls: Avoid a socket reference underflow in rpctls_server().

Mark, again thanks a lot for fixing my bug that I was too slow (extremely slow!) to fix. I feel shame for that. Rick, very sorry for delaying looking into the problem for two months.

Mon, Jun 15, 3:12 PM
rmacklem added a comment to D57554: pNFSd: Add a directory of newly created files for the pNFSd.
In D57554#1320166, @kib wrote:

Do you need a kernel thread and code to create the placeholder files? Could it be done in userspace?

Mon, Jun 15, 1:21 PM

Sun, Jun 14

rmacklem updated the diff for D57554: pNFSd: Add a directory of newly created files for the pNFSd.

Updated with changes recommended by markj@
and kib@. Mostly removal of unnecessary locking
calls, plus a couple of important typo fixes.

Sun, Jun 14, 10:36 PM
rmacklem updated the diff for D57553: netexport: Move struct netexport into a .h file and refcnt it.

Added vfs_netexport_acquire() as suggested by markj@
and renamed vfs_netexport_free() to vfs_netexport_release(),
since that seemed more consistent.

Sun, Jun 14, 10:30 PM
rmacklem added inline comments to D57554: pNFSd: Add a directory of newly created files for the pNFSd.
Sun, Jun 14, 8:35 PM
rmacklem accepted D57555: rpcsec_tls: Avoid a socket reference underflow in rpctls_server().

This looks fine to me and seemed to behave when I
tested with lotsa printf()s.

Sun, Jun 14, 8:23 PM
rmacklem added a comment to D57555: rpcsec_tls: Avoid a socket reference underflow in rpctls_server().

Ok, so I finally think I remember how this works;-)
Your patch tests out well, but I think it needs something like the following:

  • sys/rpc/rpcsec_tls/rpctls_impl.c.yyy 2026-06-14 09:08:45.910463000 -0700

+++ sys/rpc/rpcsec_tls/rpctls_impl.c 2026-06-14 09:01:06.722976000 -0700
@@ -298,8 +298,18 @@ printf("rpctls_connect soref so=%p\n", so);

	stat = rpctlscd_connect_2(&arg, &res, rpctls_connect_handle);
	if (stat == RPC_SUCCESS)
		*reterr = res.reterr;
  • else

+ else {
+ struct ct_data *ct = (struct ct_data *)newclient->cl_private;
+
+printf("clnt at rpctls_rpc_failed so=%p\n", so);

		rpctls_rpc_failed(&ups, so);

+ /*
+ * Since rpctls_rpc_failed() will do a soclose() if the
+ * daemon is not running, set ct_tlsstate to avoid doing
+ * a close in clnt_vc_destroy().
+ */
+ ct->ct_tlsstate = RPCTLS_INHANDSHAKE;
+ }

Sun, Jun 14, 4:19 PM
rmacklem added a comment to D57555: rpcsec_tls: Avoid a socket reference underflow in rpctls_server().

Ok, so now I see what you've done. You are now taking the
soref() when it is inserted in the RB tree instead of when it
is taken out.

I suspect the "else" case in rpctls_rpc_failed() needs a
sorele() along with the soshutdown(), to get rid of the
reference.

Now that I am testing it, this does not seem to be needed.
(You get to the "else" case if rpc.tlsservd is running on the
server and you use your little tls_trigger.c test against it.)

Sun, Jun 14, 3:04 PM
rmacklem added a comment to D57554: pNFSd: Add a directory of newly created files for the pNFSd.

Once I've put it through some testing, I'll update the patch.

Sun, Jun 14, 2:16 PM
rmacklem added a comment to D57555: rpcsec_tls: Avoid a socket reference underflow in rpctls_server().

Ok, so now I see what you've done. You are now taking the
soref() when it is inserted in the RB tree instead of when it
is taken out.

Sun, Jun 14, 12:22 AM

Sat, Jun 13

rmacklem updated the diff for D57553: netexport: Move struct netexport into a .h file and refcnt it.

Fix the memset() so that it only zeros out
part of the structure, as spotted by markj@.

Sat, Jun 13, 11:44 PM
rmacklem added a comment to D57555: rpcsec_tls: Avoid a socket reference underflow in rpctls_server().

I don't see why adding another soref() stops a socket
from being leaked?

Sat, Jun 13, 10:04 PM
rmacklem added inline comments to D57553: netexport: Move struct netexport into a .h file and refcnt it.
Sat, Jun 13, 9:27 PM
rmacklem committed rG69e20977a468: acl_to_text_nfs4.c: Fix a snprintf() for large uid (authored by nick_spun.io).
acl_to_text_nfs4.c: Fix a snprintf() for large uid
Sat, Jun 13, 9:19 PM
rmacklem closed D57561: acl_to_text_nfs4.c: Fix printing of appended uid/gid (cosmetic).
Sat, Jun 13, 9:18 PM
rmacklem updated the diff for D57553: netexport: Move struct netexport into a .h file and refcnt it.

Use refcount_init() as suggested by kib@.

Sat, Jun 13, 8:42 PM
rmacklem updated the diff for D57455: gss_impl.c: Fix a nfsd hang when kgssapi.ko is loaded, but gssd not running.

Modified patch to use a local static bool instead
of kgss_gssd_cl. I also moved the svc_nl_create()
and svc_reg() function calls in gssd.c to before
the daemon() call, to avoid any race with nfsd
startup.
As suggested by glebius@.

Sat, Jun 13, 8:34 PM
rmacklem accepted D57561: acl_to_text_nfs4.c: Fix printing of appended uid/gid (cosmetic).

Do you need me to commit it or do you have a
commit bit for src?

Sat, Jun 13, 7:46 PM
rmacklem added a comment to D57554: pNFSd: Add a directory of newly created files for the pNFSd.

Thanks for the comments.

Sat, Jun 13, 1:08 PM

Fri, Jun 12

rmacklem accepted D57555: rpcsec_tls: Avoid a socket reference underflow in rpctls_server().
Fri, Jun 12, 10:19 PM
rmacklem requested review of D57554: pNFSd: Add a directory of newly created files for the pNFSd.
Fri, Jun 12, 9:25 PM
rmacklem requested review of D57553: netexport: Move struct netexport into a .h file and refcnt it.
Fri, Jun 12, 9:10 PM

Mon, Jun 8

rmacklem added a comment to D57455: gss_impl.c: Fix a nfsd hang when kgssapi.ko is loaded, but gssd not running.

I think this change also creates a potential process level race with gssd. The rc(8) can run nfsd before gssd instantiated the RPC server. Together with this change in the gssd the daemon(3) call needs to be moved down after svc_nl_create() and svc_reg().

Mon, Jun 8, 11:43 PM
rmacklem added a comment to D57455: gss_impl.c: Fix a nfsd hang when kgssapi.ko is loaded, but gssd not running.

But why do you need a second pointer? You may have a static bool that marks the kgss_gssd_handle has been successfully checked with a NULL RPC. I would actually suggest not to store a second pointer neither a bool. Make kgss_gssd_client() always return a checked client.

Mon, Jun 8, 11:41 PM
rmacklem committed rG36d411987b51: acl_id_to_name.c: Fix printing of uids and gids (authored by pen_lysator.liu.se).
acl_id_to_name.c: Fix printing of uids and gids
Mon, Jun 8, 9:41 PM
rmacklem added a comment to D57455: gss_impl.c: Fix a nfsd hang when kgssapi.ko is loaded, but gssd not running.

Sorry, can't understand why do we need a second CLIENT * for this NULL RPC.

Mon, Jun 8, 9:00 PM

Fri, Jun 5

rmacklem committed rG3dfbbe8586bb: nfsd: Add per-MDS fs striping configuration (authored by rmacklem).
nfsd: Add per-MDS fs striping configuration
Fri, Jun 5, 3:02 PM

Thu, Jun 4

rmacklem committed rGea4886f2829b: nfs_commonkrpc.c: Improve handling of NFSv4.1/4.2 recovery (authored by rmacklem).
nfs_commonkrpc.c: Improve handling of NFSv4.1/4.2 recovery
Thu, Jun 4, 10:04 PM
rmacklem requested review of D57455: gss_impl.c: Fix a nfsd hang when kgssapi.ko is loaded, but gssd not running.
Thu, Jun 4, 9:07 PM
rmacklem committed rG72e57bc26417: nfsd: Add support for striped Flexible File layout (authored by rmacklem).
nfsd: Add support for striped Flexible File layout
Thu, Jun 4, 1:31 AM

Wed, Jun 3

rmacklem committed rG303df71969f5: krpc: Get rid of KRPC_VNET macros (authored by rmacklem).
krpc: Get rid of KRPC_VNET macros
Wed, Jun 3, 8:12 PM
rmacklem committed rGfcc7609d699a: nfsd: Get rid of NFSD_VNET macros (authored by rmacklem).
nfsd: Get rid of NFSD_VNET macros
Wed, Jun 3, 8:07 PM
rmacklem committed rGce77cd3d9c1a: nfscl: Fix handling of gssd upcalls for the NFS client (authored by rmacklem).
nfscl: Fix handling of gssd upcalls for the NFS client
Wed, Jun 3, 8:03 PM
rmacklem committed rG07d733963ecd: nfs_clrpcops.c: Change initial layout type to flex files (authored by rmacklem).
nfs_clrpcops.c: Change initial layout type to flex files
Wed, Jun 3, 7:07 PM

Tue, Jun 2

rmacklem abandoned D55203: svc_vc.c: Add support for an xp_extpg boolean.

I'll just leave things in their current state.

Tue, Jun 2, 12:55 PM

Thu, May 28

rmacklem committed rGefe287822bcb: nfsd: Allow vfs.nfsd.srvmaxio to be up to 4Mbytes (authored by rmacklem).
nfsd: Allow vfs.nfsd.srvmaxio to be up to 4Mbytes
Thu, May 28, 2:47 AM
rmacklem committed rG947dd1ca1297: subr_uio.c: Remove a KASSERT() for large NFS server I/O (authored by rmacklem).
subr_uio.c: Remove a KASSERT() for large NFS server I/O
Thu, May 28, 2:46 AM

Mon, May 25

rmacklem added inline comments to D57180: Allow setfacl / acl_from_text() to handle negative uid / gid numbers in user/group ACL entries.
Mon, May 25, 7:53 PM
rmacklem committed rG6e7c10c79dea: acl_id_to_name.c: Fix printing of uids and gids (authored by pen_lysator.liu.se).
acl_id_to_name.c: Fix printing of uids and gids
Mon, May 25, 7:47 PM
rmacklem closed D57179: Print numeric uids and gids in user:/group: ACL entries as unsigned integers.
Mon, May 25, 7:47 PM
rmacklem committed rG4d80d4913e79: nfs: Fix argument typo to avoid a crash (authored by rmacklem).
nfs: Fix argument typo to avoid a crash
Mon, May 25, 7:24 PM

Sat, May 23

rmacklem added a comment to D57180: Allow setfacl / acl_from_text() to handle negative uid / gid numbers in user/group ACL entries.

Hmm.. Yeah, I didn't want to change that part of the code. But now when I read the fine print in the man page for strtoul() and strtol() I think we should just get rid of that extra check and just use "*endp != '\0'"...

Hmm.. Shouldn't we use strtoumax() and strtoimax() while we're at it...? Perhaps something like:

intmax_t iv;
uintmax_t uv;
uid_t id;
...
if (*name == -) {
        iv = strtoimax(name,&endp,0);
} else {
        uv = strtoumax(name,&endp,0);
}
if (name == endp || *endp != '\0') {
        errno = EINVAL; /* No or invalid number */
        return (-1);
}
if (*name == '-') {
        id = iv;
        if (int32_t) id != iv) {
               errno = EINVAL; /* Overflow */
               return (-1);
       }
} else {
        id = uv;
        if (id != uv) {
                errno = EINVAL; /* Overflow */
                return (-1);
        }
}

Hmm.. Not sure (or I'm too tired right now) how to write a better and fully portably check for under/overflow in the negative case that works if we get 64 bit uid_t/gid_t. :-)

Sat, May 23, 9:46 AM

Fri, May 22

rmacklem accepted D57179: Print numeric uids and gids in user:/group: ACL entries as unsigned integers.

I'll commit it authored by you, since I don't recall
that you are a committer.

Fri, May 22, 8:19 PM
rmacklem added inline comments to D57180: Allow setfacl / acl_from_text() to handle negative uid / gid numbers in user/group ACL entries.
Fri, May 22, 8:17 PM
rmacklem added a comment to D57180: Allow setfacl / acl_from_text() to handle negative uid / gid numbers in user/group ACL entries.

Oh, and I'd leave the comment (or something like it)
in the code, so that it is obvious why the cast'ng is done.

Fri, May 22, 8:04 PM
rmacklem added inline comments to D57180: Allow setfacl / acl_from_text() to handle negative uid / gid numbers in user/group ACL entries.
Fri, May 22, 8:00 PM
rmacklem added a comment to D57179: Print numeric uids and gids in user:/group: ACL entries as unsigned integers.

If we cast the ids to (uintmax_t) and then use %ju,
it will still work if uid_t/gid_t ever becomes 64bits.

Fri, May 22, 7:48 PM

May 21 2026

rmacklem added a comment to D55203: svc_vc.c: Add support for an xp_extpg boolean.
In D55203#1309629, @kib wrote:

I think it could be set to 'enabled' for machines with DMAP, i.e. amd64/arm64, and might be risc-v, if anybody ever uses nfs server on it. For other arches, the knob almost surely should be kept disabled.
mb_unmapped_to_ext() uses non-privately mapped sfbufs for all extents of mbufs. On DMAP systems, it is free. On other arches, allocating such sfbuf causes global IPI, and the whole chain of sfbufs is freed only after the mbufs are released by the network card. Besides the cost of allocating , this would make sfbufs scarce resource for other consumers and even for nfs server itself. There are around ~1K of sfbufs, and mb_unmapped_to_ext() seems to drop packet if an sfbuf cannot be allocated immediately.

May 21 2026, 9:26 PM
rmacklem added a comment to D55203: svc_vc.c: Add support for an xp_extpg boolean.

I don't think this is a right fix. A route lookup now doesn't guarantee the same interface will be used in the future. There is dynamic routing, weighted routing, policy routing, etc etc etc.

There should be some generic gate that would convert mbufs otherwise, we will need to add a code like this every module that generates mbufs. Again, a code that is not correct when routing isn't static.

As Rick said in the description, this is just a hint, and the conversion routine in ip_output() will handle any case where the egress NIC changes. However, just using extpg mbufs all the time seems like a better solution. That's what SW ktls offload does. mb_unmapped_to_ext() is not super expensive, and most high-ish performance NICs are aware of extpgs these days (iflib + mlx5 + cxgbe covers most 10Gb or more NICs in practice).

Kostik preferred not enabling it all the time.
See thtis:
https://lists.freebsd.org/archives/freebsd-net/2026-May/008766.html

The case of concern is some corner case, where
the "always enabled" causes a regression. I asked on freebsd-net@
to try and determine if such a case exists?

Kostik didn't indicate if he thought such a case exists, but was
concerned that the user wouldn't understand why the regression
happened (and the NFS patch includes a sysctl that turns it off).
--> Right now, it is never enabled, so not enabling it does not

 introduce a regression.
Enabling it unconditionally makes a regression more likely
than only enabling it when this hint thinks the NIC can do it
and that hint is incorrect.

I doubt NFS servers have frequent routing changes, but I do not
know that for certain?

You guys can debate it. If there is no consensus, I'll just leave
it disabled as it is now.

I think assuming a performance reduction from mb_unmapped_to_ext() may be a bad assumption. Eg, in my experience from ~2017 or so (when Netflix had enough non-https traffic to matter), using M_EXTPG mbufs for sendfile and doing the conversion at the edge in ip_output() was *faster* than using plain mbufs. I attributed this to avoiding cold-cache pointer chasing in socket buffers. Note that sendfile's use of ext pgs is gated by kern.ipc.mb_use_ext_pgs, which has been 1 since its inception at Netflix. We should probably default it to 1 upstream as well.

May 21 2026, 2:37 PM
rmacklem added a reviewer for D55203: svc_vc.c: Add support for an xp_extpg boolean: kib.

I don't think this is a right fix. A route lookup now doesn't guarantee the same interface will be used in the future. There is dynamic routing, weighted routing, policy routing, etc etc etc.

There should be some generic gate that would convert mbufs otherwise, we will need to add a code like this every module that generates mbufs. Again, a code that is not correct when routing isn't static.

As Rick said in the description, this is just a hint, and the conversion routine in ip_output() will handle any case where the egress NIC changes. However, just using extpg mbufs all the time seems like a better solution. That's what SW ktls offload does. mb_unmapped_to_ext() is not super expensive, and most high-ish performance NICs are aware of extpgs these days (iflib + mlx5 + cxgbe covers most 10Gb or more NICs in practice).

May 21 2026, 3:38 AM

May 20 2026

rmacklem committed rGaf8675b11e3c: nfs_clsubs.c: Fix ncl_getcookie() when "pos" is negative (authored by rmacklem).
nfs_clsubs.c: Fix ncl_getcookie() when "pos" is negative
May 20 2026, 1:07 AM
rmacklem committed rG3aab0373ddb6: nfs_clsubs.c: Fix ncl_getcookie() when "pos" is negative (authored by rmacklem).
nfs_clsubs.c: Fix ncl_getcookie() when "pos" is negative
May 20 2026, 1:04 AM

May 19 2026

rmacklem committed rG29a286d14ac5: nfs_nfsdserv.c: Clip number of callback slots (authored by rmacklem).
nfs_nfsdserv.c: Clip number of callback slots
May 19 2026, 1:00 AM
rmacklem committed rG3414663b2cce: nfs_nfsdserv.c: Clip number of callback slots (authored by rmacklem).
nfs_nfsdserv.c: Clip number of callback slots
May 19 2026, 12:56 AM

May 17 2026

rmacklem committed rG763de195d7bd: nfsd: Disable use of callbacks for NFSv4.0 (authored by rmacklem).
nfsd: Disable use of callbacks for NFSv4.0
May 17 2026, 2:14 AM

May 15 2026

rmacklem added a comment to D55203: svc_vc.c: Add support for an xp_extpg boolean.

Could you please take another look at this?
kib@ seems to think this is preferred to just
enabling it for all NICs.

I understand that it is only a "hint", since
routing can change at any time.
However, for an NFS server, routing is
unlikely to change without a NFS server
restart.

Typically a high available NAS server wants link aggregation or ECMP route. The latter may introduce route change if one of the links fails ( planned or un-planned ).

I have a two ports Chelsio T520-CR ethernet card which supports MEXTPG. I'd like to setup an NFS server to test firstly.

Sure. After you have applied this patch, apply the patch here..
https://people.freebsd.org/~rmacklem/new-extpg.patch

I had one person test it who had Mellanox NICs, but no one
who has Chelsio.

Thanks, rick

May 15 2026, 10:10 PM
rmacklem added a comment to D55203: svc_vc.c: Add support for an xp_extpg boolean.

Could you please take another look at this?
kib@ seems to think this is preferred to just
enabling it for all NICs.

I understand that it is only a "hint", since
routing can change at any time.
However, for an NFS server, routing is
unlikely to change without a NFS server
restart.

Typically a high available NAS server wants link aggregation or ECMP route. The latter may introduce route change if one of the links fails ( planned or un-planned ).

I have a two ports Chelsio T520-CR ethernet card which supports MEXTPG. I'd like to setup an NFS server to test firstly.

May 15 2026, 10:04 PM

May 14 2026

rmacklem committed rG074c42ade353: RELNOTES: Add an entry for commit b92b9da33006 (authored by rmacklem).
RELNOTES: Add an entry for commit b92b9da33006
May 14 2026, 11:07 PM
rmacklem committed rGb92b9da33006: nfsd: Allow vfs.nfsd.srvmaxio to be up to 4Mbytes (authored by rmacklem).
nfsd: Allow vfs.nfsd.srvmaxio to be up to 4Mbytes
May 14 2026, 10:35 PM
rmacklem committed rG13d3bd165e22: subr_uio.c: Remove a KASSERT() for large NFS server I/O (authored by rmacklem).
subr_uio.c: Remove a KASSERT() for large NFS server I/O
May 14 2026, 10:20 PM
rmacklem closed D57005: subr_uio.c: Remove a KASSERT() to allow large NFS server I/O.
May 14 2026, 10:19 PM
rmacklem requested review of D57005: subr_uio.c: Remove a KASSERT() to allow large NFS server I/O.
May 14 2026, 8:28 PM
rmacklem added a comment to D55203: svc_vc.c: Add support for an xp_extpg boolean.

Could you please take another look at this?
kib@ seems to think this is preferred to just
enabling it for all NICs.

May 14 2026, 1:50 AM
rmacklem committed rG49937a6face3: nfscl: Disable use of callbacks for NFSv4.0 (authored by rmacklem).
nfscl: Disable use of callbacks for NFSv4.0
May 14 2026, 1:03 AM

May 6 2026

rmacklem committed rG448b4c3f7f7d: nfs_clsubs.c: Fix ncl_getcookie() when "pos" is negative (authored by rmacklem).
nfs_clsubs.c: Fix ncl_getcookie() when "pos" is negative
May 6 2026, 2:57 PM
rmacklem closed D56779: nfs_clsubs.c: Fix ncl_getcookie() when "pos" is negative.
May 6 2026, 2:56 PM

May 5 2026

rmacklem committed rG03e9e83f3586: nfs_nfsdserv.c: Clip number of callback slots (authored by rmacklem).
nfs_nfsdserv.c: Clip number of callback slots
May 5 2026, 12:06 AM

May 4 2026

rmacklem accepted D56777: nfs_pub: move from vfs_subr.c to vfs_export.c.
May 4 2026, 7:48 PM
rmacklem added inline comments to D56779: nfs_clsubs.c: Fix ncl_getcookie() when "pos" is negative.
May 4 2026, 7:46 PM
rmacklem updated the diff for D56779: nfs_clsubs.c: Fix ncl_getcookie() when "pos" is negative.

Increase the "off" sanity limit and declare ndm_eocookie
as u_int as suggested by markj@.

May 4 2026, 7:43 PM
rmacklem added inline comments to D56779: nfs_clsubs.c: Fix ncl_getcookie() when "pos" is negative.
May 4 2026, 3:42 PM
rmacklem updated the diff for D56779: nfs_clsubs.c: Fix ncl_getcookie() when "pos" is negative.

Add a sanity limit for "off" to avoid an
overflow when calculating "pos".
This ensures a NULL reply for overly
large offsets.

May 4 2026, 3:37 PM
rmacklem added inline comments to D56777: nfs_pub: move from vfs_subr.c to vfs_export.c.
May 4 2026, 3:24 PM
rmacklem requested review of D56779: nfs_clsubs.c: Fix ncl_getcookie() when "pos" is negative.
May 4 2026, 3:02 AM

May 3 2026

rmacklem added inline comments to D56777: nfs_pub: move from vfs_subr.c to vfs_export.c.
May 3 2026, 11:33 PM
rmacklem committed rG457c621add0a: nfsd: Disable use of callbacks for NFSv4.0 (authored by rmacklem).
nfsd: Disable use of callbacks for NFSv4.0
May 3 2026, 11:28 PM
rmacklem committed rGd8d9e1cf5e05: krpc: Get rid of KRPC_VNET macros (authored by rmacklem).
krpc: Get rid of KRPC_VNET macros
May 3 2026, 9:27 PM

May 2 2026

rmacklem committed rG821976facf74: nfsd: Get rid of NFSD_VNET macros (authored by rmacklem).
nfsd: Get rid of NFSD_VNET macros
May 2 2026, 9:40 PM
rmacklem committed rGa6e527f893df: nfscl: Fix handling of gssd upcalls for the NFS client (authored by rmacklem).
nfscl: Fix handling of gssd upcalls for the NFS client
May 2 2026, 7:38 PM