Convert all the NFS macros (in nfsm_subs.h) into inline functions with the
authormiod <miod@openbsd.org>
Tue, 30 Apr 2024 17:04:23 +0000 (17:04 +0000)
committermiod <miod@openbsd.org>
Tue, 30 Apr 2024 17:04:23 +0000 (17:04 +0000)
commita43f2b810b1f5868c51fb6b0ce5bbc63130f8c93
tree42f0630dbaa2394a03f7475edf1ff728b029b83f
parent573d4f351487c847ca941b5f4bffed07d65862a9
Convert all the NFS macros (in nfsm_subs.h) into inline functions with the
appropriate extra arguments.

This (hopefully) completes the unmessyfication work started by thib@ a long,
long time ago (in a galaxy far away).

The conversion logic has been:
- nfsm_dissect has been turned into an rvalue expression, leaving the
  cast operation up to its caller.
- macros which had three different exit paths (return, goto nfsmout or
  fallthrough) have been split so that no macros have more than two exit paths.
- then they have been modified to return a value, which lets the caller
  figure out what exit path is needed.
- local variables abused by the macros are now local variables of the new
  inline functions.

This single commit is the sum of 25 intermediate diffs, which have all been
carefully reviewed by (at least) jsg@ and semarie@.

Tested with v2 and v3 servers and clients.

ok jsg@ semarie@
sys/nfs/nfs_serv.c
sys/nfs/nfs_socket.c
sys/nfs/nfs_subs.c
sys/nfs/nfs_var.h
sys/nfs/nfs_vfsops.c
sys/nfs/nfs_vnops.c
sys/nfs/nfsm_subs.h
sys/nfs/nfsnode.h