@ -509,7 +509,7 @@ static int ceph_tcp_connect(struct ceph_connection *con)
return ret ;
}
if ( con - > msgr - > tcp_nodelay ) {
if ( ceph_test_opt ( from_msgr ( c on - > msgr ) , TCP_NODELAY ) ) {
int optval = 1 ;
ret = kernel_setsockopt ( sock , SOL_TCP , TCP_NODELAY ,
@ -1432,7 +1432,8 @@ static int prepare_write_connect(struct ceph_connection *con)
dout ( " prepare_write_connect %p cseq=%d gseq=%d proto=%d \n " , con ,
con - > connect_seq , global_seq , proto ) ;
con - > out_connect . features = cpu_to_le64 ( con - > msgr - > supported_features ) ;
con - > out_connect . features =
cpu_to_le64 ( from_msgr ( con - > msgr ) - > supported_features ) ;
con - > out_connect . host_type = cpu_to_le32 ( CEPH_ENTITY_TYPE_CLIENT ) ;
con - > out_connect . connect_seq = cpu_to_le32 ( con - > connect_seq ) ;
con - > out_connect . global_seq = cpu_to_le32 ( global_seq ) ;
@ -1527,7 +1528,7 @@ static int write_partial_message_data(struct ceph_connection *con)
{
struct ceph_msg * msg = con - > out_msg ;
struct ceph_msg_data_cursor * cursor = & msg - > cursor ;
bool do_datacrc = ! con - > msgr - > nocrc ;
bool do_datacrc = ! ceph_test_opt ( from_msgr ( c on - > msgr ) , NOCRC ) ;
u32 crc ;
dout ( " %s %p msg %p \n " , __func__ , con , msg ) ;
@ -2005,8 +2006,8 @@ static int process_banner(struct ceph_connection *con)
static int process_connect ( struct ceph_connection * con )
{
u64 sup_feat = con - > msgr - > supported_features ;
u64 req_feat = con - > msgr - > required_features ;
u64 sup_feat = from_msgr ( con - > msgr ) - > supported_features ;
u64 req_feat = from_msgr ( con - > msgr ) - > required_features ;
u64 server_feat = ceph_sanitize_features (
le64_to_cpu ( con - > in_reply . features ) ) ;
int ret ;
@ -2232,7 +2233,7 @@ static int read_partial_msg_data(struct ceph_connection *con)
{
struct ceph_msg * msg = con - > in_msg ;
struct ceph_msg_data_cursor * cursor = & msg - > cursor ;
const bool do_datacrc = ! con - > msgr - > nocrc ;
bool do_datacrc = ! ceph_test_opt ( from_msgr ( con - > msgr ) , NOCRC ) ;
struct page * page ;
size_t page_offset ;
size_t length ;
@ -2277,7 +2278,7 @@ static int read_partial_message(struct ceph_connection *con)
int end ;
int ret ;
unsigned int front_len , middle_len , data_len ;
bool do_datacrc = ! con - > msgr - > nocrc ;
bool do_datacrc = ! ceph_test_opt ( from_msgr ( c on - > msgr ) , NOCRC ) ;
bool need_sign = ( con - > peer_features & CEPH_FEATURE_MSG_AUTH ) ;
u64 seq ;
u32 crc ;
@ -2951,15 +2952,8 @@ static void con_fault(struct ceph_connection *con)
* initialize a new messenger instance
*/
void ceph_messenger_init ( struct ceph_messenger * msgr ,
struct ceph_entity_addr * myaddr ,
u64 supported_features ,
u64 required_features ,
bool nocrc ,
bool tcp_nodelay )
struct ceph_entity_addr * myaddr )
{
msgr - > supported_features = supported_features ;
msgr - > required_features = required_features ;
spin_lock_init ( & msgr - > global_seq_lock ) ;
if ( myaddr )
@ -2969,8 +2963,6 @@ void ceph_messenger_init(struct ceph_messenger *msgr,
msgr - > inst . addr . type = 0 ;
get_random_bytes ( & msgr - > inst . addr . nonce , sizeof ( msgr - > inst . addr . nonce ) ) ;
encode_my_addr ( msgr ) ;
msgr - > nocrc = nocrc ;
msgr - > tcp_nodelay = tcp_nodelay ;
atomic_set ( & msgr - > stopping , 0 ) ;
write_pnet ( & msgr - > net , get_net ( current - > nsproxy - > net_ns ) ) ;