Whamcloud - gitweb
Branch b1_4
authoradilger <adilger>
Wed, 29 Jun 2005 23:41:09 +0000 (23:41 +0000)
committeradilger <adilger>
Wed, 29 Jun 2005 23:41:09 +0000 (23:41 +0000)
commit751c6450e392b99184982bb6dcd0b397de9b7e54
treed4ab33015c989d3b004c9e6ba2433e01a3a637d7
parent846d5bf050882664ee8d32a851f80f111d63a261
Branch b1_4
Multiple concurrent overlapping read+write on multiple SMP nodes
caused lock timeout during readahead (since 1.4.2).

Processes doing ll_page_matches() during readahead might match a lock
that hasn't been granted yet if there are overlapping and conflicting
lock requests pending.  The readahead process waits on ungranted lock
(original lock is CBPENDING), while OST waits for that process to cancel
CBPENDING read lock and eventually evicts client.

Caused by change to ll_page_matches() from bug 5654.
b=6469
lustre/ChangeLog
lustre/ldlm/ldlm_lock.c
lustre/ldlm/ldlm_request.c
lustre/llite/llite_internal.h
lustre/llite/lproc_llite.c
lustre/llite/rw.c
lustre/lov/lov_obd.c