android_kernel_xiaomi_sm8350/fs/lockd
Trond Myklebust dc9d8d0481 NLM/lockd: convert __nlm_async_call to use rpc_run_task()
Peter Staubach comments:

> In the course of investigating testing failures in the locking phase of
> the Connectathon testsuite, I discovered a couple of things.  One was
> that one of the tests in the locking tests was racy when it didn't seem
> to need to be and two, that the NFS client asynchronously releases locks
> when a process is exiting.
...
> The Single UNIX Specification Version 3 specifies that:  "All locks
> associated with a file for a given process shall be removed when a file
> descriptor for that file is closed by that process or the process holding
> that file descriptor terminates.".
>
> This does not specify whether those locks must be released prior to the
> completion of the exit processing for the process or not.  However,
> general assumptions seem to be that those locks will be released.  This
> leads to more deterministic behavior under normal circumstances.

The following patch converts the NFSv2/v3 locking code to use the same
mechanism as NFSv4 for sending asynchronous RPC calls and then waiting for
them to complete. This ensures that the UNLOCK and CANCEL RPC calls will
complete even if the user interrupts the call, yet satisfies the
above request for synchronous behaviour on process exit.

Signed-off-by: Trond Myklebust <Trond.Myklebust@netapp.com>
2008-04-19 16:53:39 -04:00
..
clntlock.c NLM: Introduce an arguments structure for nlmclnt_init() 2008-01-30 02:06:07 -05:00
clntproc.c NLM/lockd: convert __nlm_async_call to use rpc_run_task() 2008-04-19 16:53:39 -04:00
host.c NLM: NLM protocol version numbers are u32 2008-03-19 18:00:47 -04:00
Makefile
mon.c lockd: introduce new function to encode private argument in SM_MON requests 2008-03-19 18:01:10 -04:00
svc4proc.c lockd: fix reference count leaks in async locking case 2008-02-01 16:42:06 -05:00
svc.c NLM: LOCKD fails to load if CONFIG_SYSCTL is not set 2008-03-19 18:00:44 -04:00
svclock.c NLM: don't requeue block if it was invalidated while GRANT_MSG was in flight 2008-02-10 18:09:36 -05:00
svcproc.c lockd: fix reference count leaks in async locking case 2008-02-01 16:42:06 -05:00
svcshare.c
svcsubs.c lockd: minor log message fix 2008-02-01 16:42:15 -05:00
xdr4.c
xdr.c lockd: Eliminate harmless mixed sign comparison in nlmdbg_cookie2a() 2008-01-30 02:06:02 -05:00