Whamcloud - gitweb
LU-5581 ldlm: evict clients returning errors on ASTs 52/11752/5
authorAlexey Lyashkov <alexey_lyashkov@xyratex.com>
Sun, 2 Nov 2014 16:53:48 +0000 (11:53 -0500)
committerOleg Drokin <oleg.drokin@intel.com>
Thu, 4 Dec 2014 17:53:02 +0000 (17:53 +0000)
commit2a9b544ac8a1008b73c5ff5c717c47cc206a5ca0
tree042c9c4c87021654b0632281e013b41e3bd24d7d
parentec6aae2e3aa4174e3c8fdd8e75a9a4186e3abdc4
LU-5581 ldlm: evict clients returning errors on ASTs

When a client returns an error other then EINVAL replying to blocking
ast, it is unsafe to cancel the lock on server side only, because the
client may continue its I/O assuming it still owns the lock while the
real lock may be granted already to another client.

In only valid error case when client replied to AST with EINVAL cancel
the lock and return ERESTART, evict the client in any other error
case.

Xyratex-bug-id: MRP-2041
Signed-off-by: Alexey Lyashkov <alexey_lyashkov@xyratex.com>
Change-Id: Ibce60ce3b2c24ba388155ac49cba8f20388893e7
Reviewed-on: http://review.whamcloud.com/11752
Tested-by: Jenkins
Tested-by: Maloo <hpdd-maloo@intel.com>
Reviewed-by: James Simmons <uja.ornl@gmail.com>
Reviewed-by: Oleg Drokin <oleg.drokin@intel.com>
lustre/ldlm/ldlm_lockd.c
lustre/tests/recovery-small.sh
lustre/tests/test-framework.sh