Date: Mon, 6 Apr 2009 11:15:04 +0100 From: Doug Rabson <dfr@rabson.org> To: Rick Macklem <rmacklem@uoguelph.ca> Cc: freebsd-fs@freebsd.org Subject: Re: nfsv4 sharing nfssvc() with the regular nfsd Message-ID: <74607C8A-226C-47FB-BFA5-E99AF535AD01@rabson.org> In-Reply-To: <Pine.GSO.4.63.0904021748300.26606@muncher.cs.uoguelph.ca> References: <Pine.GSO.4.63.0904021748300.26606@muncher.cs.uoguelph.ca>
next in thread | previous in thread | raw e-mail | index | archive | help
On 2 Apr 2009, at 23:01, Rick Macklem wrote: > For nfsv4 to live side-by-side with the regular nfsd, they must either > share the nfssvc() system call or a new one must be allocated for > nfsv4. > > As such, I've cobbled some code to-gether to allow the nfssvc() > syscall > to be shared. It basically consists of a small module called nfssvc > with > only the nfssvc() syscall function in it, where nfsserver and nfsv4 > "register" with it by setting the appropriate function pointer non- > null. These functions are then called, based on the NFSSVC_xxx flag > value. (I've coalesced the NFSSVC_xxx flags into a separate .h file, > to avoid confusion.) This sounds about right. > > I also deleted the following, since I believe that it is just cruft. > (sysproto.h is included in all of these files.) > #ifndef _SYS_SYSPROTO_H_ > struct nfssvc_args { > int flag; > caddr_t argp; > }; > #endif > Is there a reason for the above? I can't think of one so I'm going to go with 'historical reasons', > > > I've attached the "diff -u" in case anyone would be willing to > review it, rick. The patch looks ok. The only thing I would change is to change the names of the various call_foo variables so that they start with "nfs_" for consistency.
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?74607C8A-226C-47FB-BFA5-E99AF535AD01>