svn commit: r220007 - head/sbin/hastd

Pawel Jakub Dawidek pjd at FreeBSD.org
Fri Mar 25 20:19:15 UTC 2011


Author: pjd
Date: Fri Mar 25 20:19:15 2011
New Revision: 220007
URL: http://svn.freebsd.org/changeset/base/220007

Log:
  Add mapsize to the header just before sending the packet.
  Before it could change later and we were sending invalid mapsize.
  Some time ago I added optimization where when nodes are connected for the
  first time and there were no writes to them yet, there is no initial full
  synchronization. This bug prevented it from working.
  
  MFC after:	1 week

Modified:
  head/sbin/hastd/secondary.c

Modified: head/sbin/hastd/secondary.c
==============================================================================
--- head/sbin/hastd/secondary.c	Fri Mar 25 20:15:16 2011	(r220006)
+++ head/sbin/hastd/secondary.c	Fri Mar 25 20:19:15 2011	(r220007)
@@ -201,7 +201,6 @@ init_remote(struct hast_resource *res, s
 		    "Unable to allocate memory (%zu bytes) for activemap.",
 		    mapsize);
 	}
-	nv_add_uint32(nvout, (uint32_t)mapsize, "mapsize");
 	/*
 	 * When we work as primary and secondary is missing we will increase
 	 * localcnt in our metadata. When secondary is connected and synced
@@ -339,6 +338,7 @@ init_remote(struct hast_resource *res, s
 		    (uintmax_t)res->hr_secondary_localcnt,
 		    (uintmax_t)res->hr_secondary_remotecnt);
 	}
+	nv_add_uint32(nvout, (uint32_t)mapsize, "mapsize");
 	if (hast_proto_send(res, res->hr_remotein, nvout, map, mapsize) < 0) {
 		pjdlog_exit(EX_TEMPFAIL, "Unable to send activemap to %s",
 		    res->hr_remoteaddr);


More information about the svn-src-head mailing list