So, you have a couple of options. The thread that calls
up_ops->lock_grant() will be used all the way through to sending the
notification to the client, so it will do the actual network I/O, which
can block. If you have a free thread to use, you can just do that, and
it will be fine.
Alternatively, in your FSAL, you can call up_async_lock_grant() instead,
which will queue the up-call for a thread pool to handle in the
background, freeing up your thread immediately. You can see how GPFS
calls this, as an example.
Daniel
On 06/15/2018 11:13 AM, ntvietvn(a)gmail.com wrote:
Thanks a lot for your clear reply. It means that with my config
(true) i have to add a upcall. IIRC in an old post in the previous mailinglist archive,
I've read that this upcall may need to be done in a separate thread because the
processing is blocking, is it still true? Because I saw an async wrapper
up_async_lock_grant() so that must do the job.
Thank you
_______________________________________________
Devel mailing list -- devel(a)lists.nfs-ganesha.org
To unsubscribe send an email to devel-leave(a)lists.nfs-ganesha.org