{"push_id":1026209550,"size":2,"distinct_size":2,"ref":"refs/heads/b_mmp","head":"1ce995087f3368634b7b12b0077862dff77bde45","before":"cdee2cad494602a41892c5861522aa2ab68cc377","commits":[{"sha":"32cfe0c9c00cc65d3d8cf3f9b8b77b35777ba621","author":{"email":"b8c8dd8f747f1a510525ee56a3584fdc28e4c351@llnl.gov","name":"Ned Bass"},"message":"MMP: check mmp_import_id before syncing txg\n\nCheck for an MMP block with a foreign mmp_import_id before each txg\nsync.  If one is found, raise an alarm.\n\nAt the beginning of spa_sync(), before any writes to stable storage,\nread all MMP blocks of all leaf vdevs, and check for an mmp_import_id\ndifferent than the one in spa_mmp.mmp_import_id.\n\nIf one is found, report via dprintf() that there has been an MMP\nfault; later this will suspend the pool, panic, or similar.","distinct":true,"url":"https://api.github.com/repos/ofaaland/zfs/commits/32cfe0c9c00cc65d3d8cf3f9b8b77b35777ba621"},{"sha":"1ce995087f3368634b7b12b0077862dff77bde45","author":{"email":"b8c8dd8f747f1a510525ee56a3584fdc28e4c351@llnl.gov","name":"Ned Bass"},"message":"MMP: reserve last 3 uberblocks in each label\n\nFor each ring (array of uberblocks in a label), reserve the last 3\nuberblocks for use by MMP.\n\nMake VDEV_UBERBLOCK_COUNT() return 3 less than the number of physical\nslots in the ring.  This causes uberblock writes and reads not to\ninvolve the last 3 uberblock slots used by MMP.\n\nWhen checking for a foreign node writing to the pool, examine only the\nreserved uberblocks in each label.\n\nIn zdb, dump the MMP information only for the reserved blocks.  Mark\nthem as such in the output.","distinct":true,"url":"https://api.github.com/repos/ofaaland/zfs/commits/1ce995087f3368634b7b12b0077862dff77bde45"}]}