I found an issue with the kernel side of these patches that caused the server not to advertise any services if the server was restarted. The problem was nfsd_version array was getting NULL-ed out which meant server would not advertise any services if restarted. Here is the diff of the changes. The complete patches are attached. diff -u linux-2.6.11/fs/nfsd/nfssvc.c linux-2.6.11/fs/nfsd/nfssvc.c --- linux-2.6.11/fs/nfsd/nfssvc.c 2005-03-18 08:39:53.000000000 -0500 +++ linux-2.6.11/fs/nfsd/nfssvc.c 2005-03-31 11:54:12.000000000 -0500 @@ -77,10 +77,11 @@ #define NFSD_MINVERS 2 #define NFSD_NRVERS (sizeof(nfsd_version)/sizeof(nfsd_version[0])) +static struct svc_version *nfsd_versions[NFSD_NRVERS]; struct svc_program nfsd_program = { .pg_prog = NFS_PROGRAM, /* program number */ .pg_nvers = NFSD_NRVERS, /* nr of entries in nfsd_version */ - .pg_vers = nfsd_version, /* version table */ + .pg_vers = nfsd_versions, /* version table */ .pg_name = "nfsd", /* program name */ .pg_class = "nfsd", /* authentication class */ .pg_stats = &nfsd_svcstats, /* version table */ At this point I believe I've address the two main issue that were brought up 1) The need for -V flag to specify a version 2) Changed the /proc/fs/nfsd/threads to /proc/fs/nfsd/config. These patches do fix a pretty obvious bug plus makes the server much more configurable which I believe is a good thing so I do hope these patches will be (re)considered for inclusion the upstream kernel and nfs-utils.... steved.