Neil Brown wrote:
> +static ssize_t write_ports(struct file *file, char *buf, size_t size)
> + ssize_t rv;
> + mutex_lock(&nfsd_mutex);
> + rv = __write_ports(file, buf, size);
> + mutex_unlock(&nfsd_mutex);
> + return rv;
Oooh, much better. I was foolishly trying to fix all the lock_kernels()
in the original write_ports().
There are some comments in net/sunrpc/svc.c referring to callers needing
to own the BKL, which will need updating also. Otherwise, looks good :-)
Perhaps the trouble I was having was in the older codebase only, or
because I didn't pull the locking out far enough.
Greg Banks, P.Engineer, SGI Australian Software Group.
The cake is *not* a lie.
I don't speak for SGI.