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@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@lists.nfs-ganesha.org
To unsubscribe send an email to devel-leave@lists.nfs-ganesha.org
_________________
Devel mailing list -- devel@lists.nfs-ganesha.org
To unsubscribe send an email to devel-leave@lists.nfs-ganesha.org