message: only for incremental checkpoints a reset of the dirty flag is required
diff: @@ -1331,6 +1331,7 @@ nextslot:
  for(size_t l=0; l<(1 << PAGE_MAP_BITS); l++) {
  if ((pgt[l] & (PG_PRESENT|flag)) == (PG_PRESENT|flag)) {
  //printf("\t\t\t*pgt[%zd] 0x%zx, 4KB\n", l, pgt[l] & ~PG_XD);
  + if (!full_checkpoint)
  pgt[l] = pgt[l] & ~(PG_DIRTY|PG_ACCESSED);
  size_t pgt_entry = pgt[l] & ~PG_PSE; // because PAT use the same bit as PSE
  if (fwrite(&pgt_entry, sizeof(size_t), 1, f) != 1)
  @@ -1341,6 +1342,7 @@ nextslot:
  }
  } else if ((pgd[k] & flag) == flag) {
  //printf("\t\t*pgd[%zd] 0x%zx, 2MB\n", k, pgd[k] & ~PG_XD);
  + if (!full_checkpoint)
  pgd[k] = pgd[k] & ~(PG_DIRTY|PG_ACCESSED);
  if (fwrite(pgd+k, sizeof(size_t), 1, f) != 1)
  err(1, "fwrite failed");
  