svn commit: r257154 - head/sbin/hastd
Mikolaj Golub
trociny at FreeBSD.org
Sat Oct 26 08:35:54 UTC 2013
Author: trociny
Date: Sat Oct 26 08:35:54 2013
New Revision: 257154
URL: http://svnweb.freebsd.org/changeset/base/257154
Log:
Merging local and remote bitmaps must be protected by hr_amp lock.
This is believed to fix hastd crashes, which might occur during
synchronization, triggered by the failed assertion:
Assertion failed: (amp->am_memtab[ext] > 0),
function activemap_write_complete, file activemap.c, line 351.
MFC after: 1 week
Modified:
head/sbin/hastd/primary.c
Modified: head/sbin/hastd/primary.c
==============================================================================
--- head/sbin/hastd/primary.c Sat Oct 26 08:34:35 2013 (r257153)
+++ head/sbin/hastd/primary.c Sat Oct 26 08:35:54 2013 (r257154)
@@ -781,6 +781,7 @@ init_remote(struct hast_resource *res, s
free(map);
goto close;
}
+ mtx_lock(&res->hr_amp_lock);
/*
* Merge local and remote bitmaps.
*/
@@ -790,7 +791,6 @@ init_remote(struct hast_resource *res, s
* Now that we merged bitmaps from both nodes, flush it to the
* disk before we start to synchronize.
*/
- mtx_lock(&res->hr_amp_lock);
(void)hast_activemap_flush(res);
}
nv_free(nvin);
More information about the svn-src-all
mailing list