Whamcloud - gitweb
b=5687,5210
authorphil <phil>
Sat, 26 Feb 2005 03:00:07 +0000 (03:00 +0000)
committerphil <phil>
Sat, 26 Feb 2005 03:00:07 +0000 (03:00 +0000)
commit6659f58c552d33327dfca60be6776345da1ca50c
tree43b9d0c5212469aab0ff10d7c43abcebeae4bbde
parent7fd3df626b71593c2750a8a87cf2e1ce93a77b3e
b=5687,5210
A workaround for the crash in ll_unhash_aliases on 2.6.

The 2.6 lookup code is now lockless (thanks to the RCU machinations), which
allows it to race with the unhashing in ll_unhash_aliases.  The 2.6 __d_drop
doesn't leave the list head ->pprev in a safe state, so the next pass through
this loop (which tries to re-hash it after we lose the dput race), would crash.

For the record, it looks like the kernel's own d_prune_aliases is broken in
the very same way, except that instead of crashing immediately, it just leaves
the d_hash pointers poisoned for someone else to crash on.
lustre/ChangeLog
lustre/llite/dcache.c