)]}'
{
  "commit": "e54f77ddda72781ec1c1696b21aabd6a30cbb7c6",
  "tree": "9ba727373125fce5e75a02ac1b67b2b1f894c81e",
  "parents": [
    "a0cf7ea9549ec60988369f90e5c0f855f08abac9"
  ],
  "author": {
    "name": "Chandra Seetharaman",
    "email": "sekharan@us.ibm.com",
    "time": "Mon Jun 22 10:12:12 2009 +0100"
  },
  "committer": {
    "name": "Alasdair G Kergon",
    "email": "agk@redhat.com",
    "time": "Mon Jun 22 10:12:12 2009 +0100"
  },
  "message": "dm mpath: call activate fn for each path in pg_init\n\nFixed a problem affecting reinstatement of passive paths.\n\nBefore we moved the hardware handler from dm to SCSI, it performed a pg_init\nfor a path group and didn\u0027t maintain any state about each path in hardware\nhandler code.\n\nBut in SCSI dh, such state is now maintained, as we want to fail I/O early on a\npath if it is not the active path.\n\nAll the hardware handlers have a state now and set to active or some form of\ninactive.  They have prep_fn() which uses this state to fail the I/O without\nit ever being sent to the device.\n\nSo in effect when dm-multipath calls scsi_dh_activate(), activate is\nsent to only one path and the \"state\" of that path is changed appropriately\nto \"active\" while other paths in the same path group are never changed\nas they never got an \"activate\".\n\nIn order make sure all the paths in a path group gets their state set\nproperly when a pg_init happens, we need to call scsi_dh_activate() on\nall paths in a path group.\n\nDoing this at the hardware handler layer is not a good option as we\nwant the multipath layer to define the relationship between path and path\ngroups and not the hardware handler.\n\nAttached patch sends an \"activate\" on each path in a path group when a\npath group is switched. It also sends an activate when a path is reinstated.\n\nSigned-off-by: Chandra Seetharaman \u003csekharan@us.ibm.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "545abcc25c42b523106f6717876cb47b7bd5dd0f",
      "old_mode": 33188,
      "old_path": "drivers/md/dm-mpath.c",
      "new_id": "838f01b1dd3093be69b02d554eee041a2eaedd3f",
      "new_mode": 33188,
      "new_path": "drivers/md/dm-mpath.c"
    }
  ]
}
