summaryrefslogtreecommitdiffstats
path: root/fs/ceph/messenger.h
diff options
context:
space:
mode:
authorSage Weil2009-12-22 19:43:42 +0100
committerSage Weil2009-12-23 17:17:19 +0100
commitec302645f4a9bd9ec757c30d185557e1c0972c1a (patch)
treeb03aee886f401affba79f8473b83bd190a69570a /fs/ceph/messenger.h
parentceph: unregister canceled/timed out osd requests (diff)
downloadkernel-qcow2-linux-ec302645f4a9bd9ec757c30d185557e1c0972c1a.tar.gz
kernel-qcow2-linux-ec302645f4a9bd9ec757c30d185557e1c0972c1a.tar.xz
kernel-qcow2-linux-ec302645f4a9bd9ec757c30d185557e1c0972c1a.zip
ceph: use connection mutex to protect read and write stages
Use a single mutex (previously out_mutex) to protect both read and write activity from concurrent ceph_con_* calls. Drop the mutex when doing callbacks to avoid nested locking (the callback may need to call something like ceph_con_close). Signed-off-by: Sage Weil <sage@newdream.net>
Diffstat (limited to 'fs/ceph/messenger.h')
-rw-r--r--fs/ceph/messenger.h3
1 files changed, 2 insertions, 1 deletions
diff --git a/fs/ceph/messenger.h b/fs/ceph/messenger.h
index e04c214b4f6f..94b55de90331 100644
--- a/fs/ceph/messenger.h
+++ b/fs/ceph/messenger.h
@@ -155,8 +155,9 @@ struct ceph_connection {
void *auth_reply_buf; /* where to put the authorizer reply */
int auth_reply_buf_len;
+ struct mutex mutex;
+
/* out queue */
- struct mutex out_mutex;
struct list_head out_queue;
struct list_head out_sent; /* sending or sent but unacked */
u64 out_seq; /* last message queued for send */