summaryrefslogtreecommitdiffstats
path: root/fs/ceph/messenger.h
diff options
context:
space:
mode:
authorSage Weil <sage@newdream.net>2009-12-22 10:43:42 -0800
committerSage Weil <sage@newdream.net>2009-12-23 08:17:19 -0800
commitec302645f4a9bd9ec757c30d185557e1c0972c1a (patch)
treeb03aee886f401affba79f8473b83bd190a69570a /fs/ceph/messenger.h
parent529cfcc46ffa2cbe4d07641c11e65f67fe7b66e4 (diff)
downloadlinux-ec302645f4a9bd9ec757c30d185557e1c0972c1a.tar.gz
linux-ec302645f4a9bd9ec757c30d185557e1c0972c1a.tar.bz2
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 */