ceph: fix connection fault con_work reentrancy problem
authorSage Weil <sage@newdream.net>
Thu, 18 Mar 2010 22:20:53 +0000 (15:20 -0700)
committerSage Weil <sage@newdream.net>
Tue, 23 Mar 2010 14:46:59 +0000 (07:46 -0700)
commit3c3f2e32effd4c6acc3a9434bd7eecb0af653d89
tree9f1b1cbee6e1d79ccc7f8160bfb41b856e9cd179
parente4cb4cb8a03adde1aa4b874623c50b9a5b56e635
ceph: fix connection fault con_work reentrancy problem

The messenger fault was clearing the BUSY bit, for reasons unclear.  This
made it possible for the con->ops->fault function to reopen the connection,
and requeue work in the workqueue--even though the current thread was
already in con_work.

This avoids a problem where the client busy loops with connection failures
on an unreachable OSD, but doesn't address the root cause of that problem.

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