)]}'
{
  "commit": "0e0b494ca8c54a7297d0cc549405091019b3b77e",
  "tree": "7d675c0ccae0763402585e91c38f1aa42818031c",
  "parents": [
    "c34aeebc06e8bdde93e8c8f40d9903b1aaab63c6"
  ],
  "author": {
    "name": "James Bottomley",
    "email": "James.Bottomley@suse.de",
    "time": "Sun Jan 23 09:42:50 2011 -0600"
  },
  "committer": {
    "name": "Jeff Garzik",
    "email": "jgarzik@redhat.com",
    "time": "Wed Mar 02 02:36:45 2011 -0500"
  },
  "message": "libata: separate error handler into usable components\n\nRight at the moment, the libata error handler is incredibly\nmonolithic.  This makes it impossible to use from composite drivers\nlike libsas and ipr which have to handle error themselves in the first\ninstance.\n\nThe essence of the change is to split the monolithic error handler\ninto two components: one which handles a queue of ata commands for\nprocessing and the other which handles the back end of readying a\nport.  This allows the upper error handler fine grained control in\ncalling libsas functions (and making sure they only get called for ATA\ncommands whose lower errors have been fixed up).\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "073b88156b3cb4e04f9d06dfebc3032804918ca9",
      "old_mode": 33188,
      "old_path": "drivers/ata/libata-eh.c",
      "new_id": "df3f3140c9c79bb25347cc67d6f1054f7d208c19",
      "new_mode": 33188,
      "new_path": "drivers/ata/libata-eh.c"
    },
    {
      "type": "modify",
      "old_id": "c9c5d7ad1a2bc0aefffe9cb8942aa32c5b6c3c4f",
      "old_mode": 33188,
      "old_path": "include/linux/libata.h",
      "new_id": "9739317c707a9524549b747c1cc242f51c197326",
      "new_mode": 33188,
      "new_path": "include/linux/libata.h"
    }
  ]
}
