svn commit: r231016 - head/sbin/hastd
Mikolaj Golub
trociny at FreeBSD.org
Sun Feb 5 15:23:33 UTC 2012
Author: trociny
Date: Sun Feb 5 15:23:32 2012
New Revision: 231016
URL: http://svn.freebsd.org/changeset/base/231016
Log:
If a local write request is from the synchronization thread, when it
is synchronizing data that is out of date on the local component, we
should not send G_GATE_CMD_DONE acknowledge to the kernel.
This fixes the issue, observed in async mode, when on synchronization
from the remote component the worker terminated with "G_GATE_CMD_DONE
failed" error.
Reported by: Artem Kajalainen <artem kayalaynen ru>
Reviewed by: pjd
MFC after: 1 week
Modified:
head/sbin/hastd/primary.c
Modified: head/sbin/hastd/primary.c
==============================================================================
--- head/sbin/hastd/primary.c Sun Feb 5 15:21:08 2012 (r231015)
+++ head/sbin/hastd/primary.c Sun Feb 5 15:23:32 2012 (r231016)
@@ -1326,7 +1326,8 @@ local_send_thread(void *arg)
} else {
hio->hio_errors[ncomp] = 0;
if (hio->hio_replication ==
- HAST_REPLICATION_ASYNC) {
+ HAST_REPLICATION_ASYNC &&
+ !ISSYNCREQ(hio)) {
ggio->gctl_error = 0;
write_complete(res, hio);
}
More information about the svn-src-head
mailing list