Date: Thu, 31 Oct 2013 20:30:27 +0000 (UTC) From: Mikolaj Golub <trociny@FreeBSD.org> To: src-committers@freebsd.org, svn-src-all@freebsd.org, svn-src-stable@freebsd.org, svn-src-stable-10@freebsd.org Subject: svn commit: r257468 - stable/10/sbin/hastd Message-ID: <201310312030.r9VKURdB047822@svn.freebsd.org>
next in thread | raw e-mail | index | archive | help
Author: trociny Date: Thu Oct 31 20:30:26 2013 New Revision: 257468 URL: http://svnweb.freebsd.org/changeset/base/257468 Log: MFC r257154: 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. Approved by: re (glebius) Modified: stable/10/sbin/hastd/primary.c Directory Properties: stable/10/sbin/hastd/ (props changed) Modified: stable/10/sbin/hastd/primary.c ============================================================================== --- stable/10/sbin/hastd/primary.c Thu Oct 31 20:12:37 2013 (r257467) +++ stable/10/sbin/hastd/primary.c Thu Oct 31 20:30:26 2013 (r257468) @@ -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);
Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?201310312030.r9VKURdB047822>