Whamcloud - gitweb
- Replace per-namespace recursive lock with an ldlm-global lock, to close the
authorpschwan <pschwan>
Sat, 19 Oct 2002 11:33:33 +0000 (11:33 +0000)
committerpschwan <pschwan>
Sat, 19 Oct 2002 11:33:33 +0000 (11:33 +0000)
commit69b292d708e6d12e0849ee1293dded75a6e54d0b
treef5037c0f2b6b9249dd5e09a443a5c9bbc27166f7
parent9e44a8a89812024d653aa5493b5e70d82d861c1c
- Replace per-namespace recursive lock with an ldlm-global lock, to close the
  race between ldlm_handle2lock and the lock destroy portion of ldlm_lock_put
- Add a special interface for ldlm_handle2lock to resolve the following
  conflict between our invariants:

  1. ldlm_handle2lock should never give a reference to a "dying" lock
  2. ldlm_lock_decref needs to use ldlm_handle2lock to get a reference to a lock
     so that it can decrease the readers/writers refcount
  3. The lock can't finish dying until readers/writers hits zero.

  That should be fixed now.
lustre/include/linux/lustre_dlm.h
lustre/ldlm/ldlm_extent.c
lustre/ldlm/ldlm_lock.c
lustre/ldlm/ldlm_lockd.c
lustre/ldlm/ldlm_request.c
lustre/ldlm/ldlm_resource.c
lustre/mds/handler.c