Whamcloud - gitweb
For extent locks (that are `asynchronous', that is, enqueued through ptlrpcd)
authornikita <nikita>
Tue, 20 Jan 2009 20:06:45 +0000 (20:06 +0000)
committernikita <nikita>
Tue, 20 Jan 2009 20:06:45 +0000 (20:06 +0000)
commit1205771e26c9cda227819ecb55f1e06eb1388f2b
treebea465b36e5d908bdf0ce097bb98963cba1c6147
parent4fa24ad0f2be35e63122c1da4ba6fbbee7cade3f
For extent locks (that are `asynchronous', that is, enqueued through ptlrpcd)
CLIO checks lock->l_granted_mode and accesses lock->l_lvb_data in its
completion AST and in the lock reply upcall (called from
osc_enqueue_fini()). As such things were never done in the pre-existing code,
execution of completion AST and reply upcall is not serialized.

Take lock and resource spin-locks manually to avoid races.

b=17927
i=oleg.drokin@sun.com
i=h.huang@sun.com
lustre/include/lustre_dlm.h
lustre/ldlm/ldlm_lock.c
lustre/ldlm/ldlm_lockd.c
lustre/osc/osc_lock.c