libceph: avoid dropping con mutex before fault
authorSage Weil <sage@inktank.com>
Tue, 31 Jul 2012 01:17:13 +0000 (18:17 -0700)
committerSage Weil <sage@inktank.com>
Tue, 31 Jul 2012 01:17:13 +0000 (18:17 -0700)
commit8636ea672f0c5ab7478c42c5b6705ebd1db7eb6a
tree9fdb08cf293f181c566c830dadccf8d176ef2184
parent7b862e07b1a4d5c963d19027f10ea78085f27f9b
libceph: avoid dropping con mutex before fault

The ceph_fault() function takes the con mutex, so we should avoid
dropping it before calling it.  This fixes a potential race with
another thread calling ceph_con_close(), or _open(), or similar (we
don't reverify con->state after retaking the lock).

Add annotation so that lockdep realizes we will drop the mutex before
returning.

Signed-off-by: Sage Weil <sage@inktank.com>
Reviewed-by: Alex Elder <elder@inktank.com>
net/ceph/messenger.c