]> git.baikalelectronics.ru Git - kernel.git/commit
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)
commit78274fe2408a35dd3c9cc52ed5c2d86790a7f6a9
tree9f1b1cbee6e1d79ccc7f8160bfb41b856e9cd179
parent39c4de633de85b502f90ea839a44c2dc9b070bf3
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