preferred kernel upcall method to master nfsd

Jeremy Chadwick freebsd at jdc.parodius.com
Tue Nov 23 05:13:47 UTC 2010


On Mon, Nov 22, 2010 at 09:01:05PM -0500, Rick Macklem wrote:
> > 
> > nfsd is a user process. I suspect that when it receives a signal it
> > falls out of
> > nfssvc() with EINTR and handles saving the restart file in userland.
> > Is that close
> > to the process Rick or does you need to send a signal between threads
> > that are
> > exclusively within the kernel?
> > 
> Yep, the kernel nfsd thread needs to tell the userland master nfsd to
> make a backup copy of the stable restart file now.
> 
> Doing it with signals, the kernel code would post a signal (SIGUSR2 ?)
> to the master nfsd (which is normally in userland).
> 
> The master nfsd would simply have a signal handler for SIGUSR2 that would
> copy the file (it's pretty small) to a backup copy.
> 
> At least that's how I would think I could code it. I haven't actually
> tried it?
> 
> My question was mostly if there was a preferred/better way for the
> kernel code to tell the userland master nfsd to copy the file?

Could kqueue(2) be used for this?

-- 
| Jeremy Chadwick                                   jdc at parodius.com |
| Parodius Networking                       http://www.parodius.com/ |
| UNIX Systems Administrator                  Mountain View, CA, USA |
| Making life hard for others since 1977.              PGP: 4BD6C0CB |



More information about the freebsd-fs mailing list