)]}'
{
  "commit": "f44db678edcc6f4c2779ac43f63f0b9dfa28b724",
  "tree": "bbd835d00ca6ed0805c5c7331ebc5dd7978d299c",
  "parents": [
    "d0d444c7d48c14d59f665887c758fde248f1cb37"
  ],
  "author": {
    "name": "Jonathan Brassow",
    "email": "jbrassow@redhat.com",
    "time": "Thu Jul 12 17:29:04 2007 +0100"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@woody.linux-foundation.org",
    "time": "Thu Jul 12 15:01:08 2007 -0700"
  },
  "message": "dm raid1: handle resync failures\n\nDevice-mapper mirroring currently takes a best effort approach to\nrecovery - failures during mirror synchronization are completely ignored.\nThis means that regions are marked \u0027in-sync\u0027 and \u0027clean\u0027 and removed\nfrom the hash list.  Future reads and writes that query the region\nwill incorrectly interpret the region as in-sync.\n\nThis patch handles failures during the recovery process.  If a failure\noccurs, the region is marked as \u0027not-in-sync\u0027 (aka RH_NOSYNC) and added\nto a new list \u0027failed_recovered_regions\u0027.\n\nRegions on the \u0027failed_recovered_regions\u0027 list are not marked as \u0027clean\u0027\nupon removal from the list.  Furthermore, if the DM_RAID1_HANDLE_ERRORS\nflag is set, the region is marked as \u0027not-in-sync\u0027.  This action prevents\nany future read-balancing from choosing an invalid device because of the\n\u0027not-in-sync\u0027 status.\n\nIf \"handle_errors\" is not specified when creating a mirror (leaving the\nDM_RAID1_HANDLE_ERRORS flag unset), failures will be ignored exactly as they\nwould be without this patch.  This is to preserve backwards compatibility with\nuser-space tools, such as \u0027pvmove\u0027.  However, since future read-balancing\npolicies will rely on the correct sync status of a region, a user must choose\n\"handle_errors\" when using read-balancing.\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "04dce7a66494988ffb9791daae38c16b44f6da75",
      "old_mode": 33188,
      "old_path": "drivers/md/dm-raid1.c",
      "new_id": "dee4221caa7335ad371e38604ec0490204710d33",
      "new_mode": 33188,
      "new_path": "drivers/md/dm-raid1.c"
    }
  ]
}
