diff options
author | Pawel Jakub Dawidek <pjd@FreeBSD.org> | 2011-03-25 20:19:15 +0000 |
---|---|---|
committer | Pawel Jakub Dawidek <pjd@FreeBSD.org> | 2011-03-25 20:19:15 +0000 |
commit | 54987cacfd339835cf05ad1c3173047d64c2f052 (patch) | |
tree | 8cd48e5eb853c7391e9746626b8494cfce6db8fb /sbin/hastd/secondary.c | |
parent | 7d4df5cd0b7b11b8015bede8adf4b89e38eb07cf (diff) | |
download | src-54987cacfd339835cf05ad1c3173047d64c2f052.tar.gz src-54987cacfd339835cf05ad1c3173047d64c2f052.zip |
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
Notes
Notes:
svn path=/head/; revision=220007
Diffstat (limited to 'sbin/hastd/secondary.c')
-rw-r--r-- | sbin/hastd/secondary.c | 2 |
1 files changed, 1 insertions, 1 deletions
diff --git a/sbin/hastd/secondary.c b/sbin/hastd/secondary.c index 10c3cab50a55..f2e58bd3e529 100644 --- a/sbin/hastd/secondary.c +++ b/sbin/hastd/secondary.c @@ -201,7 +201,6 @@ init_remote(struct hast_resource *res, struct nv *nvin) "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, struct nv *nvin) (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); |