NetBSD/sys/fs/nfs
riastradh d1579b2d70 Rename min/max -> uimin/uimax for better honesty.
These functions are defined on unsigned int.  The generic name
min/max should not silently truncate to 32 bits on 64-bit systems.
This is purely a name change -- no functional change intended.

HOWEVER!  Some subsystems have

	#define min(a, b)	((a) < (b) ? (a) : (b))
	#define max(a, b)	((a) > (b) ? (a) : (b))

even though our standard name for that is MIN/MAX.  Although these
may invite multiple evaluation bugs, these do _not_ cause integer
truncation.

To avoid `fixing' these cases, I first changed the name in libkern,
and then compile-tested every file where min/max occurred in order to
confirm that it failed -- and thus confirm that nothing shadowed
min/max -- before changing it.

I have left a handful of bootloaders that are too annoying to
compile-test, and some dead code:

cobalt ews4800mips hp300 hppa ia64 luna68k vax
acorn32/if_ie.c (not included in any kernels)
macppc/if_gm.c (superseded by gem(4))

It should be easy to fix the fallout once identified -- this way of
doing things fails safe, and the goal here, after all, is to _avoid_
silent integer truncations, not introduce them.

Maybe one day we can reintroduce min/max as type-generic things that
never silently truncate.  But we should avoid doing that for a while,
so that existing code has a chance to be detected by the compiler for
conversion to uimin/uimax without changing the semantics until we can
properly audit it all.  (Who knows, maybe in some cases integer
truncation is actually intended!)
2018-09-03 16:29:22 +00:00
..
client Rename min/max -> uimin/uimax for better honesty. 2018-09-03 16:29:22 +00:00
common Rename min/max -> uimin/uimax for better honesty. 2018-09-03 16:29:22 +00:00
nlm
server Rename min/max -> uimin/uimax for better honesty. 2018-09-03 16:29:22 +00:00
README.newnfs
files.newnfs
nfs2netbsd.sh

README.newnfs

This is new nfs code (including nfsv4) imported from FreeBSD. It is
not even experimental yet - you don't want to be mucking with it.

The nfs code (both nfs and nfsd) that NetBSD currently uses is in
sys/nfs.


The following things are here:

   client/	- nfs client code, from sys/fs/nfsclient in freebsd
   server/	- nfsd server code, from sys/fs/nfsserver in freebsd
   nlm/		- kernel-side nfs lock manager, from sys/nlm in freebsd
   common/	- shared common code, from
			* sys/fs/nfs in freebsd
			* sys/nfs in freebsd
   files.newnfs - config goo
   nfs2netbsd.sh - script for preparing a cvs import from a freebsd tree

The FreeBSD shared common code contained two (different) nfsproto.h
and xdr_subs.h files. This is how they've been imported:

   sys/fs/nfs/nfsproto.h	->	common/nfsproto.h
   sys/fs/nfs/xdr_subs.h	->	common/xdr_subs.h
   sys/nfs/nfsproto.h		->	common/oldnfsproto.h
   sys/nfs/xdr_subs.h		->	common/old_xdr_subs.h