Whamcloud - gitweb
The pinger was deadlocking on itself, in some rare and improbably but
very real cases, so I reworked it to be simpler.
It's started once from ptlrpc_init now, and stopped once from ptlrpc_exit
Adding and deleting imports no longer causes the thread to be created
and go away. Most importantly, we no longer hold the sem in
stop_pinger across the wake_up and subsequent l_wait_event; if the
pinger thread was already doing something, blocked on the pinger_sem,
it would never wake up and deadlock would ensue.