|
@@ -239,6 +239,8 @@ enum {
|
|
|
Opt_nocrc,
|
|
|
Opt_cephx_require_signatures,
|
|
|
Opt_nocephx_require_signatures,
|
|
|
+ Opt_tcp_nodelay,
|
|
|
+ Opt_notcp_nodelay,
|
|
|
};
|
|
|
|
|
|
static match_table_t opt_tokens = {
|
|
@@ -259,6 +261,8 @@ static match_table_t opt_tokens = {
|
|
|
{Opt_nocrc, "nocrc"},
|
|
|
{Opt_cephx_require_signatures, "cephx_require_signatures"},
|
|
|
{Opt_nocephx_require_signatures, "nocephx_require_signatures"},
|
|
|
+ {Opt_tcp_nodelay, "tcp_nodelay"},
|
|
|
+ {Opt_notcp_nodelay, "notcp_nodelay"},
|
|
|
{-1, NULL}
|
|
|
};
|
|
|
|
|
@@ -457,6 +461,7 @@ ceph_parse_options(char *options, const char *dev_name,
|
|
|
case Opt_nocrc:
|
|
|
opt->flags |= CEPH_OPT_NOCRC;
|
|
|
break;
|
|
|
+
|
|
|
case Opt_cephx_require_signatures:
|
|
|
opt->flags &= ~CEPH_OPT_NOMSGAUTH;
|
|
|
break;
|
|
@@ -464,6 +469,13 @@ ceph_parse_options(char *options, const char *dev_name,
|
|
|
opt->flags |= CEPH_OPT_NOMSGAUTH;
|
|
|
break;
|
|
|
|
|
|
+ case Opt_tcp_nodelay:
|
|
|
+ opt->flags |= CEPH_OPT_TCP_NODELAY;
|
|
|
+ break;
|
|
|
+ case Opt_notcp_nodelay:
|
|
|
+ opt->flags &= ~CEPH_OPT_TCP_NODELAY;
|
|
|
+ break;
|
|
|
+
|
|
|
default:
|
|
|
BUG_ON(token);
|
|
|
}
|
|
@@ -518,10 +530,12 @@ struct ceph_client *ceph_create_client(struct ceph_options *opt, void *private,
|
|
|
/* msgr */
|
|
|
if (ceph_test_opt(client, MYIP))
|
|
|
myaddr = &client->options->my_addr;
|
|
|
+
|
|
|
ceph_messenger_init(&client->msgr, myaddr,
|
|
|
client->supported_features,
|
|
|
client->required_features,
|
|
|
- ceph_test_opt(client, NOCRC));
|
|
|
+ ceph_test_opt(client, NOCRC),
|
|
|
+ ceph_test_opt(client, TCP_NODELAY));
|
|
|
|
|
|
/* subsystems */
|
|
|
err = ceph_monc_init(&client->monc, client);
|