)]}'
{
  "commit": "a4ce40a9a7c1053ac2a41cf64255e44e356e5522",
  "tree": "de1aeb42625f19f6cfe8806db333ec853de0f5b7",
  "parents": [
    "39b44cbe86db42e70693787b2ede81c309925d0b"
  ],
  "author": {
    "name": "Alex Elder",
    "email": "elder@inktank.com",
    "time": "Fri Apr 05 01:27:12 2013 -0500"
  },
  "committer": {
    "name": "Sage Weil",
    "email": "sage@inktank.com",
    "time": "Wed May 01 21:18:23 2013 -0700"
  },
  "message": "libceph: combine initializing and setting osd data\n\nThis ends up being a rather large patch but what it\u0027s doing is\nsomewhat straightforward.\n\nBasically, this is replacing two calls with one.  The first of the\ntwo calls is initializing a struct ceph_osd_data with data (either a\npage array, a page list, or a bio list); the second is setting an\nosd request op so it associates that data with one of the op\u0027s\nparameters.  In place of those two will be a single function that\ninitializes the op directly.\n\nThat means we sort of fan out a set of the needed functions:\n    - extent ops with pages data\n    - extent ops with pagelist data\n    - extent ops with bio list data\nand\n    - class ops with page data for receiving a response\n\nWe also have define another one, but it\u0027s only used internally:\n    - class ops with pagelist data for request parameters\n\nNote that we *still* haven\u0027t gotten rid of the osd request\u0027s\nr_data_in and r_data_out fields.  All the osd ops refer to them for\ntheir data.  For now, these data fields are pointers assigned to the\nappropriate r_data_* field when these new functions are called.\n\nSigned-off-by: Alex Elder \u003celder@inktank.com\u003e\nReviewed-by: Josh Durgin \u003cjosh.durgin@inktank.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "db29783436c871e851a9fb04ad00e6203ac2cc7e",
      "old_mode": 33188,
      "old_path": "drivers/block/rbd.c",
      "new_id": "6f7a52cf75c7a0c5432fa3aff635332a8a28289d",
      "new_mode": 33188,
      "new_path": "drivers/block/rbd.c"
    },
    {
      "type": "modify",
      "old_id": "cc57104a72669575d04eadabb642dc1450af611f",
      "old_mode": 33188,
      "old_path": "fs/ceph/addr.c",
      "new_id": "27d62070a8e9f65034ee02801006ce534da63ae6",
      "new_mode": 33188,
      "new_path": "fs/ceph/addr.c"
    },
    {
      "type": "modify",
      "old_id": "cddc10fd7cf940aa97119df4f367ed1aa215604b",
      "old_mode": 33188,
      "old_path": "fs/ceph/file.c",
      "new_id": "0f9c4095614b475f432070b0e6d22809f6c16fca",
      "new_mode": 33188,
      "new_path": "fs/ceph/file.c"
    },
    {
      "type": "modify",
      "old_id": "71c41575646d4dfd86d8b6a876ed5707a2665eb8",
      "old_mode": 33188,
      "old_path": "include/linux/ceph/osd_client.h",
      "new_id": "f8a00b48e550e75a514a7a9405625ae0e941aa28",
      "new_mode": 33188,
      "new_path": "include/linux/ceph/osd_client.h"
    },
    {
      "type": "modify",
      "old_id": "932b8af8b8ee0b05df9efafe661f2eb37d725ab2",
      "old_mode": 33188,
      "old_path": "net/ceph/osd_client.c",
      "new_id": "86cb52404f1746e1f9c94753358a2df1b8ebedcd",
      "new_mode": 33188,
      "new_path": "net/ceph/osd_client.c"
    }
  ]
}
