ceph: fix authentication races, auth_none oops
authorSage Weil <sage@newdream.net>
Tue, 16 Feb 2010 00:22:28 +0000 (16:22 -0800)
committerSage Weil <sage@newdream.net>
Wed, 17 Feb 2010 06:01:11 +0000 (22:01 -0800)
commit5ce6e9dbe6805ab8ee67e21936d17f431adc63c6
tree9aca0fdc38afc5755d59eb3ba84c86f26df44012
parent85ff03f6bfef7d5b59ab3aefd4773f497ffad8a4
ceph: fix authentication races, auth_none oops

Call __validate_auth() under monc->mutex, and use helper for
initial hello so that the pending_auth flag is set.  This fixes
possible races in which we have an authentication request (hello
or otherwise) pending and send another one.  In particular, with
auth_none, we _never_ want to call ceph_build_auth() from
__validate_auth(), since the ->build_request() method is NULL.

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