summaryrefslogtreecommitdiffstats
path: root/sbin/hastd
diff options
context:
space:
mode:
authortrociny <trociny@FreeBSD.org>2011-06-17 07:07:26 +0000
committertrociny <trociny@FreeBSD.org>2011-06-17 07:07:26 +0000
commita262e24ff4cc1d41e01cbf14b859f5e0b541db03 (patch)
treea329b8b3a0336533b3415843ff12b9932c959bd8 /sbin/hastd
parent3bd2da3f30b7c9865079a72a9f38e2cd572feffd (diff)
downloadFreeBSD-src-a262e24ff4cc1d41e01cbf14b859f5e0b541db03.zip
FreeBSD-src-a262e24ff4cc1d41e01cbf14b859f5e0b541db03.tar.gz
In HAST we use two sockets - one for only sending the data and one for
only receiving the data. In r220271 the unused directions were disabled using shutdown(2). Unfortunately, this broke automatic receive buffer sizing, which currently works only for connections in ETASBLISHED state. It was a root cause of the issue reported by users, when connection between primary and secondary could get stuck. Disable the code introduced in r220271 until the issue with automatic buffer sizing is not resolved. Reported by: Daniel Kalchev <daniel@digsys.bg>, danger, sobomax Tested by: Daniel Kalchev <daniel@digsys.bg>, danger Approved by: pjd (mentor) MFC after: 1 week
Diffstat (limited to 'sbin/hastd')
-rw-r--r--sbin/hastd/primary.c2
-rw-r--r--sbin/hastd/secondary.c4
2 files changed, 6 insertions, 0 deletions
diff --git a/sbin/hastd/primary.c b/sbin/hastd/primary.c
index abda5cb..af0f353 100644
--- a/sbin/hastd/primary.c
+++ b/sbin/hastd/primary.c
@@ -726,11 +726,13 @@ init_remote(struct hast_resource *res, struct proto_conn **inp,
(void)hast_activemap_flush(res);
}
nv_free(nvin);
+#ifdef notyet
/* Setup directions. */
if (proto_send(out, NULL, 0) == -1)
pjdlog_errno(LOG_WARNING, "Unable to set connection direction");
if (proto_recv(in, NULL, 0) == -1)
pjdlog_errno(LOG_WARNING, "Unable to set connection direction");
+#endif
pjdlog_info("Connected to %s.", res->hr_remoteaddr);
if (inp != NULL && outp != NULL) {
*inp = in;
diff --git a/sbin/hastd/secondary.c b/sbin/hastd/secondary.c
index 1597af8..7120d3d 100644
--- a/sbin/hastd/secondary.c
+++ b/sbin/hastd/secondary.c
@@ -183,9 +183,11 @@ init_remote(struct hast_resource *res, struct nv *nvin)
unsigned char *map;
size_t mapsize;
+#ifdef notyet
/* Setup direction. */
if (proto_send(res->hr_remoteout, NULL, 0) == -1)
pjdlog_errno(LOG_WARNING, "Unable to set connection direction");
+#endif
map = NULL;
mapsize = 0;
@@ -351,9 +353,11 @@ init_remote(struct hast_resource *res, struct nv *nvin)
if (map != NULL)
free(map);
nv_free(nvout);
+#ifdef notyet
/* Setup direction. */
if (proto_recv(res->hr_remotein, NULL, 0) == -1)
pjdlog_errno(LOG_WARNING, "Unable to set connection direction");
+#endif
if (res->hr_secondary_localcnt > res->hr_primary_remotecnt &&
res->hr_primary_localcnt > res->hr_secondary_remotecnt) {
/* Exit on split-brain. */
OpenPOWER on IntegriCloud