Defined in 1 files as a prototype:
Defined in 1 files as a function:
Referenced in 6 files:
- fs/ceph/caps.c
- fs/ceph/mds_client.c
- fs/ceph/metric.c, line 315
- net/ceph/messenger.c, line 1767
- net/ceph/mon_client.c
- net/ceph/osd_client.c
Smatch caller information:
fs/ceph/metric.c ceph_mdsc_send_metrics() -> ceph_con_send()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | con | 4096-ptr_max |
| PARAM_VALUE | 1 | msg | 4096-ptr_max |
| PARAM_VALUE | 1 | msg->hdr.compat_version | 1 |
| PARAM_VALUE | 1 | msg->hdr.version | 1 |
| DATA_SOURCE | 1 | msg | r ceph_msg_new |
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &pool->lock |
fs/ceph/mds_client.c __open_session() -> ceph_con_send()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | con | 4096-ptr_max |
| PARAM_VALUE | 1 | msg | 4096-ptr_max |
| PARAM_VALUE | 1 | msg->front.iov_base | 4096-ptr_max |
| PARAM_VALUE | 1 | msg->front.iov_len | 0-9223372036854771712,9223372036854779904-u64max |
| PARAM_VALUE | 1 | msg->hdr.compat_version | 1 |
| PARAM_VALUE | 1 | msg->hdr.version | 7 |
| DATA_SOURCE | 1 | msg | r create_session_full_msg |
| NOSPEC | 0 | con->peer_name.num | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | con->peer_name.num | 0-s32max[c] |
| HALF_LOCKED2 | &mdsc->mutex |
fs/ceph/mds_client.c __send_request() -> ceph_con_send()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | con | 4096-ptr_max |
| PARAM_VALUE | 1 | msg | 4096-ptr_max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 1 | msg->max_data_items | |
| LOCK2 | &mdsc->mutex | ||
| HALF_LOCKED2 | &session->s_mutex | ||
| TYPE_LOCK | (struct ceph_mds_client)->mutex |
fs/ceph/mds_client.c ceph_mdsc_lease_send_msg() -> ceph_con_send()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | con | 4096-ptr_max |
| PARAM_VALUE | 1 | msg | 4096-ptr_max |
| PARAM_VALUE | 1 | msg->front.iov_base | 4096-ptr_max |
| DATA_SOURCE | 1 | msg | r ceph_msg_new |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
fs/ceph/mds_client.c ceph_send_cap_releases() -> ceph_con_send()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | con | 4096-ptr_max |
| PARAM_VALUE | 1 | msg | 4096-ptr_max |
| PARAM_VALUE | 1 | msg->front.iov_base | 4096-ptr_max |
| NOCHECK_CALL | |||
| LOCK2 | &session->s_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct ceph_mds_session)->s_mutex |
fs/ceph/mds_client.c ceph_send_cap_releases() -> ceph_con_send()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | con | 4096-ptr_max |
| PARAM_VALUE | 1 | msg | 4096-ptr_max |
| PARAM_VALUE | 1 | msg->front.iov_base | 4096-ptr_max |
| NOCHECK_CALL | |||
| LOCK2 | &session->s_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct ceph_mds_session)->s_mutex |
fs/ceph/mds_client.c handle_lease() -> ceph_con_send()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | con | 4096-ptr_max |
| PARAM_VALUE | 0 | con->out_queue.prev | 4096-ptr_max |
| PARAM_VALUE | 1 | msg | 4096-ptr_max |
| PARAM_VALUE | 1 | msg->front.iov_base | 4096-ptr_max |
| PARAM_VALUE | 1 | msg->front.iov_len | 39-u64max |
| DATA_SOURCE | 1 | msg | $2 |
| FUZZY_MAX | 1 | msg->front.iov_len | 39 |
| NOCHECK_CALL | |||
| LOCK2 | &session->s_mutex | ||
| HALF_LOCKED2 | &dentry->d_lockref.lock | ||
| HALF_LOCKED2 | &parent->d_lockref.lock | ||
| TYPE_LOCK | (struct ceph_mds_session)->s_mutex |
fs/ceph/mds_client.c request_close_session() -> ceph_con_send()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | con | 4096-ptr_max |
| PARAM_VALUE | 1 | msg | 4096-ptr_max |
| PARAM_VALUE | 1 | msg->front.iov_base | 4096-ptr_max |
| DATA_SOURCE | 1 | msg | r ceph_create_session_msg |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| HALF_LOCKED2 | &session->s_mutex |
fs/ceph/mds_client.c send_flush_mdlog() -> ceph_con_send()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | con | 4096-ptr_max |
| PARAM_VALUE | 1 | msg | 4096-ptr_max |
| PARAM_VALUE | 1 | msg->front.iov_base | 4096-ptr_max |
| DATA_SOURCE | 1 | msg | r ceph_create_session_msg |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &s->s_mutex | ||
| TYPE_LOCK | (struct ceph_mds_session)->s_mutex |
fs/ceph/mds_client.c send_flushmsg_ack() -> ceph_con_send()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | con | 4096-ptr_max |
| PARAM_VALUE | 1 | msg | 4096-ptr_max |
| PARAM_VALUE | 1 | msg->front.iov_base | 4096-ptr_max |
| DATA_SOURCE | 1 | msg | r ceph_create_session_msg |
| NOCHECK_CALL |
fs/ceph/mds_client.c send_mds_reconnect() -> ceph_con_send()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | con | 4096-ptr_max |
| PARAM_VALUE | 0 | con->delay | 0 |
| PARAM_VALUE | 0 | con->in_msg | 0 |
| PARAM_VALUE | 0 | con->in_seq | 0 |
| PARAM_VALUE | 0 | con->ops | 4096-ptr_max |
| PARAM_VALUE | 0 | con->out_msg | 0 |
| PARAM_VALUE | 0 | con->out_queue.prev | 4096-ptr_max |
| PARAM_VALUE | 0 | con->out_seq | 0 |
| PARAM_VALUE | 0 | con->peer_name.num | 0-2147483646,18446744071562067968-u64max |
| PARAM_VALUE | 0 | con->peer_name.type | 2 |
| PARAM_VALUE | 0 | con->sock | 0 |
| PARAM_VALUE | 0 | con->state | s32min-0,2-12,14-s32max |
| PARAM_VALUE | 1 | msg | 4096-ptr_max |
| PARAM_VALUE | 1 | msg->front.iov_base | 0,16,4096-ptr_max |
| PARAM_VALUE | 1 | msg->front.iov_len | 0 |
| PARAM_VALUE | 1 | msg->hdr.front_len | 0 |
| PARAM_VALUE | 1 | msg->hdr.priority | 127 |
| PARAM_VALUE | 1 | msg->hdr.type | 23 |
| PARAM_VALUE | 1 | msg->kref.refcount.refs.counter | 1 |
| PARAM_VALUE | 1 | msg->list_head.next | 4096-ptr_max |
| PARAM_VALUE | 1 | msg->list_head.next->next | 4096-ptr_max |
| PARAM_VALUE | 1 | msg->list_head.prev | 4096-ptr_max |
| PARAM_VALUE | 1 | msg->list_head.prev->next | 4096-ptr_max |
| PARAM_VALUE | 1 | msg->list_head.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 1 | msg->max_data_items | (-2147483647)-s32max |
| DATA_SOURCE | 1 | msg | r ceph_msg_new2 |
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 1 | msg->max_data_items | |
| LOCK2 | &mdsc->snap_rwsem | ||
| LOCK2 | &session->s_mutex | ||
| TYPE_LOCK | (struct ceph_mds_client)->snap_rwsem | ||
| TYPE_LOCK | (struct ceph_mds_session)->s_mutex |
fs/ceph/mds_client.c send_reconnect_partial() -> ceph_con_send()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | con | 4096-ptr_max |
| PARAM_VALUE | 1 | msg | 4096-ptr_max |
| PARAM_VALUE | 1 | msg->front.iov_base | 0,16,4096-ptr_max |
| PARAM_VALUE | 1 | msg->front.iov_len | 0 |
| PARAM_VALUE | 1 | msg->hdr.compat_version | 4 |
| PARAM_VALUE | 1 | msg->hdr.data_len | 1-u32max |
| PARAM_VALUE | 1 | msg->hdr.front_len | 0 |
| PARAM_VALUE | 1 | msg->hdr.priority | 127 |
| PARAM_VALUE | 1 | msg->hdr.type | 23 |
| PARAM_VALUE | 1 | msg->hdr.version | 5 |
| PARAM_VALUE | 1 | msg->kref.refcount.refs.counter | 1 |
| PARAM_VALUE | 1 | msg->list_head.next | 4096-ptr_max |
| PARAM_VALUE | 1 | msg->list_head.next->next | 4096-ptr_max |
| PARAM_VALUE | 1 | msg->list_head.prev | 4096-ptr_max |
| PARAM_VALUE | 1 | msg->list_head.prev->next | 4096-ptr_max |
| PARAM_VALUE | 1 | msg->list_head.prev->prev | 4096-ptr_max |
| PARAM_VALUE | 1 | msg->max_data_items | (-2147483647)-s32max |
| DATA_SOURCE | 1 | msg | r ceph_msg_new2 |
| PREEMPT_ADD | <- disables preempt | ||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| NO_OVERFLOW_SIMPLE | 1 | msg->max_data_items | |
| HALF_LOCKED2 | &mdsc->snap_rwsem | ||
| HALF_LOCKED2 | &session->s_mutex |
fs/ceph/mds_client.c send_renew_caps() -> ceph_con_send()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | con | 4096-ptr_max |
| PARAM_VALUE | 1 | msg | 4096-ptr_max |
| PARAM_VALUE | 1 | msg->front.iov_base | 4096-ptr_max |
| PARAM_VALUE | 1 | msg->front.iov_len | 0-9223372036854771712,9223372036854779904-u64max |
| PARAM_VALUE | 1 | msg->hdr.compat_version | 1 |
| PARAM_VALUE | 1 | msg->hdr.version | 7 |
| DATA_SOURCE | 1 | msg | r create_session_full_msg |
| NOCHECK_CALL | |||
| LOCK2 | &session->s_mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct ceph_mds_session)->s_mutex |
fs/ceph/caps.c __send_cap() -> ceph_con_send()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | con | 4096-ptr_max |
| PARAM_VALUE | 1 | msg | 4096-ptr_max |
| PARAM_VALUE | 1 | msg->front.iov_base | 4096-ptr_max |
| PARAM_VALUE | 1 | msg->front.iov_base->atime.tv_nsec | 0 |
| PARAM_VALUE | 1 | msg->front.iov_base->atime.tv_sec | 0 |
| PARAM_VALUE | 1 | msg->front.iov_base->caps | 0-4294967295 |
| PARAM_VALUE | 1 | msg->front.iov_base->ctime.tv_nsec | 0 |
| PARAM_VALUE | 1 | msg->front.iov_base->ctime.tv_sec | 0 |
| PARAM_VALUE | 1 | msg->front.iov_base->dirty | 0-4294967295 |
| PARAM_VALUE | 1 | msg->front.iov_base->gid | 0-4294967295 |
| PARAM_VALUE | 1 | msg->front.iov_base->issue_seq | 0-4294967295 |
| PARAM_VALUE | 1 | msg->front.iov_base->layout.fl_cas_hash | 0 |
| PARAM_VALUE | 1 | msg->front.iov_base->layout.fl_pg_pool | 0 |
| PARAM_VALUE | 1 | msg->front.iov_base->layout.fl_unused | 0 |
| PARAM_VALUE | 1 | msg->front.iov_base->migrate_seq | 0-4294967295 |
| PARAM_VALUE | 1 | msg->front.iov_base->mode | 0-u16max |
| PARAM_VALUE | 1 | msg->front.iov_base->mtime.tv_nsec | 0 |
| PARAM_VALUE | 1 | msg->front.iov_base->mtime.tv_sec | 0 |
| PARAM_VALUE | 1 | msg->front.iov_base->nlink | 0 |
| PARAM_VALUE | 1 | msg->front.iov_base->op | 5,7,9 |
| PARAM_VALUE | 1 | msg->front.iov_base->realm | 0 |
| PARAM_VALUE | 1 | msg->front.iov_base->seq | 0-4294967295 |
| PARAM_VALUE | 1 | msg->front.iov_base->snap_trace_len | 0 |
| PARAM_VALUE | 1 | msg->front.iov_base->time_warp_seq | 0-4294967295 |
| PARAM_VALUE | 1 | msg->front.iov_base->truncate_seq | 0 |
| PARAM_VALUE | 1 | msg->front.iov_base->truncate_size | 0 |
| PARAM_VALUE | 1 | msg->front.iov_base->uid | 0-4294967295 |
| PARAM_VALUE | 1 | msg->front.iov_base->wanted | 0-66047 |
| PARAM_VALUE | 1 | msg->front.iov_base->xattr_len | 0-4294967295 |
| PARAM_VALUE | 1 | msg->hdr.version | 12 |
| PARAM_VALUE | 1 | msg->middle | 4096-ptr_max |
| DATA_SOURCE | 1 | msg | r ceph_msg_new |
| MEM_ZERO | 1 | msg->front.iov_base | |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
fs/ceph/caps.c __send_flush_snap() -> ceph_con_send()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | con | 4096-ptr_max |
| PARAM_VALUE | 1 | msg | 4096-ptr_max |
| PARAM_VALUE | 1 | msg->front.iov_base | 4096-ptr_max |
| PARAM_VALUE | 1 | msg->front.iov_base->atime.tv_nsec | 0 |
| PARAM_VALUE | 1 | msg->front.iov_base->atime.tv_sec | 0 |
| PARAM_VALUE | 1 | msg->front.iov_base->caps | 0-4294967295 |
| PARAM_VALUE | 1 | msg->front.iov_base->ctime.tv_nsec | 0 |
| PARAM_VALUE | 1 | msg->front.iov_base->ctime.tv_sec | 0 |
| PARAM_VALUE | 1 | msg->front.iov_base->dirty | 0-4294967295 |
| PARAM_VALUE | 1 | msg->front.iov_base->gid | 0-4294967295 |
| PARAM_VALUE | 1 | msg->front.iov_base->issue_seq | 0-4294967295 |
| PARAM_VALUE | 1 | msg->front.iov_base->layout.fl_cas_hash | 0 |
| PARAM_VALUE | 1 | msg->front.iov_base->layout.fl_pg_pool | 0 |
| PARAM_VALUE | 1 | msg->front.iov_base->layout.fl_unused | 0 |
| PARAM_VALUE | 1 | msg->front.iov_base->migrate_seq | 0-4294967295 |
| PARAM_VALUE | 1 | msg->front.iov_base->mode | 0-u16max |
| PARAM_VALUE | 1 | msg->front.iov_base->mtime.tv_nsec | 0 |
| PARAM_VALUE | 1 | msg->front.iov_base->mtime.tv_sec | 0 |
| PARAM_VALUE | 1 | msg->front.iov_base->nlink | 0 |
| PARAM_VALUE | 1 | msg->front.iov_base->op | 5,7,9 |
| PARAM_VALUE | 1 | msg->front.iov_base->realm | 0 |
| PARAM_VALUE | 1 | msg->front.iov_base->seq | 0-4294967295 |
| PARAM_VALUE | 1 | msg->front.iov_base->snap_trace_len | 0 |
| PARAM_VALUE | 1 | msg->front.iov_base->time_warp_seq | 0-4294967295 |
| PARAM_VALUE | 1 | msg->front.iov_base->truncate_seq | 0 |
| PARAM_VALUE | 1 | msg->front.iov_base->truncate_size | 0 |
| PARAM_VALUE | 1 | msg->front.iov_base->uid | 0-4294967295 |
| PARAM_VALUE | 1 | msg->front.iov_base->wanted | 0-66047 |
| PARAM_VALUE | 1 | msg->front.iov_base->xattr_len | 0-4294967295 |
| PARAM_VALUE | 1 | msg->hdr.version | 12 |
| PARAM_VALUE | 1 | msg->middle | 4096-ptr_max |
| DATA_SOURCE | 1 | msg | r ceph_msg_new |
| MEM_ZERO | 1 | msg->front.iov_base | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL |
net/ceph/mon_client.c __resend_generic_request() -> ceph_con_send()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | con | 4096-ptr_max |
| PARAM_VALUE | 0 | con->msgr | 4096-ptr_max |
| PARAM_VALUE | 0 | con->out_queue.prev | 4096-ptr_max |
| PARAM_VALUE | 1 | msg | 4096-ptr_max |
| BUF_SIZE | 1 | msg | (-1)-s32max |
| NOCHECK_CALL | |||
| USER_DATA | 1 | msg->con->v2.in_iter.count | 0 |
| USER_DATA | 1 | msg->con->v2.out_cursor.iov_iter.count | 0-u64max |
| USER_DATA | 1 | msg->con->v2.out_cursor.need_crc | 0-1 |
| USER_DATA | 1 | msg->con->v2.out_cursor.page_offset | 0-2559[c] |
| USER_DATA | 1 | msg->con->v2.out_cursor.resid | 0-u64max |
| USER_DATA | 1 | msg->con->v2.out_iter.count | 0-5294967296,18446744071562067969-u64max |
| USER_DATA | 1 | msg->hdr.data_off | 0-u16max |
| LOCK2 | &monc->mutex | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct ceph_mon_client)->mutex |
net/ceph/mon_client.c __send_prepared_auth_request() -> ceph_con_send()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | con | 4096-ptr_max |
| PARAM_VALUE | 1 | msg | 4096-ptr_max |
| PARAM_VALUE | 1 | msg->con | 0,4096-ptr_max |
| PARAM_VALUE | 1 | msg->front.iov_len | 1-s32max |
| PARAM_VALUE | 1 | msg->front_alloc_len | 1-s32max |
| PARAM_VALUE | 1 | msg->hdr.front_len | 1-s32max |
| CAPPED_DATA | 1 | msg | 1 |
| CAPPED_DATA | 1 | msg->front.iov_len | 1 |
| CAPPED_DATA | 1 | msg->hdr.front_len | 1 |
| NOSPEC | 0 | con->peer_name.num | |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 0 | con->peer_name.num | 0-s32max[c] |
| USER_DATA | 1 | msg->con->v2.out_iter.count | 0-5294967296,18446744071562067969-u64max |
| LOCK2 | &monc->mutex | ||
| TYPE_LOCK | (struct ceph_mon_client)->mutex |
net/ceph/mon_client.c __send_subscribe() -> ceph_con_send()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | con | 4096-ptr_max |
| PARAM_VALUE | 1 | msg | 4096-ptr_max |
| BUF_SIZE | 1 | msg | (-1)-s32max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &monc->mutex | ||
| TYPE_LOCK | (struct ceph_mon_client)->mutex |
net/ceph/mon_client.c send_generic_request() -> ceph_con_send()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | con | 4096-ptr_max |
| PARAM_VALUE | 1 | msg | 4096-ptr_max |
| BUF_SIZE | 1 | msg | (-1)-s32max |
| PREEMPT_ADD | |||
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| LOCK2 | &monc->mutex | ||
| TYPE_LOCK | (struct ceph_mon_client)->mutex |
net/ceph/osd_client.c handle_backoff_block() -> ceph_con_send()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | con | 4096-ptr_max |
| PARAM_VALUE | 1 | msg | 4096-ptr_max |
| PARAM_VALUE | 1 | msg->front.iov_base | 4096-ptr_max |
| PARAM_VALUE | 1 | msg->front.iov_len | 0-9223372036854771712,9223372036854779904-u64max |
| PARAM_VALUE | 1 | msg->hdr.version | 1 |
| DATA_SOURCE | 1 | msg | r create_backoff_message |
| NOCHECK_CALL | |||
| LOCK2 | &osd->lock | ||
| LOCK2 | &osdc->lock | ||
| HALF_LOCKED2 | &pool->lock | ||
| TYPE_LOCK | (struct ceph_osd)->lock | ||
| TYPE_LOCK | (struct ceph_osd_client)->lock |
net/ceph/osd_client.c send_request() -> ceph_con_send()
| Type | Parameter | Key | Value |
|---|---|---|---|
| PARAM_VALUE | 0 | con | 4096-ptr_max |
| PARAM_VALUE | 1 | msg | 4096-ptr_max |
| BUF_SIZE | 1 | msg | (-1)-s32max |
| RX_PATH | |||
| TASK_NOT_RUNNING | |||
| NOCHECK_CALL | |||
| USER_DATA | 1 | msg->con->v2.in_iter.count | 0 |
| USER_DATA | 1 | msg->con->v2.out_cursor.iov_iter.count | 0-u64max |
| USER_DATA | 1 | msg->con->v2.out_cursor.need_crc | 0-1 |
| USER_DATA | 1 | msg->con->v2.out_cursor.page_offset | 0-2559[c] |
| USER_DATA | 1 | msg->con->v2.out_cursor.resid | 0-u64max |
| USER_DATA | 1 | msg->con->v2.out_iter.count | 0-5294967296,18446744071562067969-u64max |
| USER_DATA | 1 | msg->hdr.data_off | 0-u16max |
| LOCK2 | &osdc->lock | ||
| HALF_LOCKED2 | &lreq->lock | ||
| HALF_LOCKED2 | &osd->lock | ||
| TYPE_LOCK | (struct ceph_osd_client)->lock |