]> granicus.if.org Git - zfs/commitdiff
Do not initiate MMP writes while pool is suspended
authorOlaf Faaland <faaland1@llnl.gov>
Thu, 22 Feb 2018 17:14:46 +0000 (09:14 -0800)
committerBrian Behlendorf <behlendorf1@llnl.gov>
Thu, 22 Feb 2018 17:14:46 +0000 (09:14 -0800)
While the pool is suspended on host A, it may be imported on host B.
If host A continued to write MMP blocks, it would be blindly
overwriting MMP blocks written by host B, and the blocks written by
host A would have outdated txg information.

Reviewed-by: Giuseppe Di Natale <dinatale2@llnl.gov>
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
Signed-off-by: Olaf Faaland <faaland1@llnl.gov>
Closes #7182

module/zfs/mmp.c

index 986e4f7dcd9c79c015b62341028844a35e7c024c..cce6b77ce9b1fc83f65527d2b4fd915ea206916f 100644 (file)
@@ -438,7 +438,7 @@ mmp_thread(void *arg)
                        zio_suspend(spa, NULL);
                }
 
-               if (multihost)
+               if (multihost && !suspended)
                        mmp_write_uberblock(spa);
 
                CALLB_CPR_SAFE_BEGIN(&cpr);