ceph: cancel delayed work when closing connection
authorSage Weil <sage@newdream.net>
Mon, 15 Feb 2010 20:05:09 +0000 (12:05 -0800)
committerSage Weil <sage@newdream.net>
Wed, 17 Feb 2010 06:01:07 +0000 (22:01 -0800)
commit91e45ce38946a8efa21fefbc65d023ca3c0b434f
tree704146df9a3db46820684841cceffaabe5bc21cd
parente2663ab60de59d20fa33da3528f6d5359f8eb003
ceph: cancel delayed work when closing connection

This ensures that if/when we reopen the connection, we can requeue work on
the connection immediately, without waiting for an old timer to expire.
Queue new delayed work inside con->mutex to avoid any race.

This fixes problems with clients failing to reconnect to the MDS due to
the client_reconnect message arriving too late (due to waiting for an old
delayed work timeout to expire).

Signed-off-by: Sage Weil <sage@newdream.net>
fs/ceph/messenger.c