Author: trociny
Date: Thu Oct 31 20:32:11 2013
New Revision: 257471
URL: http://svnweb.freebsd.org/changeset/base/257471
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.

Modified:
  stable/8/sbin/hastd/primary.c
Directory Properties:
  stable/8/sbin/hastd/   (props changed)

Modified: stable/8/sbin/hastd/primary.c
==============================================================================
--- stable/8/sbin/hastd/primary.c       Thu Oct 31 20:31:16 2013        
(r257470)
+++ stable/8/sbin/hastd/primary.c       Thu Oct 31 20:32:11 2013        
(r257471)
@@ -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);
_______________________________________________
svn-src-all@freebsd.org mailing list
http://lists.freebsd.org/mailman/listinfo/svn-src-all
To unsubscribe, send any mail to "svn-src-all-unsubscr...@freebsd.org"

Reply via email to