kclient will establish only one connection with each osd,but there is a mutex in the ceph_connection. partial code about con_work static void con_work(struct work_struct *work) { struct ceph_connection *con = container_of(work, struct ceph_connection, work.work); mutex_lock(&con->mutex); …… if (test_and_clear_bit(SOCK_CLOSED, &con->state) || try_read(con) < 0 || try_write(con) < 0) { mutex_unlock(&con->mutex); bsdocfs_fault(con); /* error/fault path */ goto done_unlocked; } …… } if kclient read data from osdN,can kclient write data to osdN at the same time? -- To unsubscribe from this list: send the line "unsubscribe ceph-devel" in the body of a message to majordomo@xxxxxxxxxxxxxxx More majordomo info at http://vger.kernel.org/majordomo-info.html