)]}'
{
  "log": [
    {
      "commit": "9db4b3e32778400555d5cc6fb61d4058902d37f7",
      "tree": "06080e941734876ae0c1c4d353a50a160a940907",
      "parents": [
        "45e3d3eeb6578e523e100622266945ecd71723bb"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Apr 19 22:49:06 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 24 11:52:08 2011 -0700"
      },
      "message": "rbd: handle online resize of underlying rbd image\n\nIf we get a notification that the image header has changed, check for\na change in the image size.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "aedfec59eed37d1ff7ce09b303b668234e9a7f8e",
      "tree": "92e3e6e638acd63b07aab244cdd30826277001be",
      "parents": [
        "916d4d672779de8e42346fff338617c7b841e8e5"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu May 12 20:57:03 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 24 11:52:03 2011 -0700"
      },
      "message": "rbd: use snprintf for disk-\u003edisk_name\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "916d4d672779de8e42346fff338617c7b841e8e5",
      "tree": "aa323878aa43221442b03137614f5f0a4251171c",
      "parents": [
        "13143d2d1cffd243a6d778000b02ab4938ac751a"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu May 12 16:10:50 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 24 11:52:01 2011 -0700"
      },
      "message": "rbd: cleanup: make kfree match kmalloc\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "13143d2d1cffd243a6d778000b02ab4938ac751a",
      "tree": "223cf7b9a80b5803af1a88d83868fa357ab96866",
      "parents": [
        "9d6fcb081a4770c3772c51c59c7251c22716d7bb"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu May 12 16:08:30 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu May 19 11:25:05 2011 -0700"
      },
      "message": "rbd: warn on update_snaps failure on notify\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "1fec70932d867416ffe620dd17005f168cc84eb5",
      "tree": "921f08b555d2b71e7356034aae65bed4ed37e2df",
      "parents": [
        "11f770027b5c0de16544f3ec82b5c6f9f8d5a644"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Fri May 13 13:52:56 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri May 13 13:52:57 2011 -0700"
      },
      "message": "rbd: fix split bio handling\n\nThe rbd driver currently splits bios when they span an object boundary.\nHowever, the blk_end_request expects the completions to roll up the results\nin block device order, and the split rbd/ceph ops can complete in any\norder.  This patch adds a struct rbd_req_coll to track completion of split\nrequests and ensures that the results are passed back up to the block layer\nin order.\n\nThis fixes errors where the file system gets completion of a read operation\nthat spans an object boundary before the data has actually arrived.  The\nbug is easily reproduced with iozone with a working set larger than\navailable RAM.\n\nReported-by: Fyodor Ustinov \u003cufm@ufm.su\u003e\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "11f770027b5c0de16544f3ec82b5c6f9f8d5a644",
      "tree": "7a64ef3a9a47ddd19dd22d50059a266cf626ddee",
      "parents": [
        "446cc6345d3de6571bdd0840f48aca441488a28d"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu May 12 16:13:54 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Thu May 12 20:59:14 2011 -0700"
      },
      "message": "rbd: fix leak of ops struct\n\nThe ops vector must be freed by the rbd_do_request caller.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "4ad12621e442b7a072e81270808f617cb65c5672",
      "tree": "eecdd1d51f525b9b07c70f8fbcf08c9ede3b8f79",
      "parents": [
        "8c71897be2ddfd84969412635ca42fa9e137f7b6"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 03 09:23:36 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 03 09:28:13 2011 -0700"
      },
      "message": "libceph: fix ceph_osdc_alloc_request error checks\n\nceph_osdc_alloc_request returns NULL on failure.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "59c2be1e4d42c0d4949cecdeef3f37070a1fbc13",
      "tree": "919f191a2f2840b510dce246210564bf45200616",
      "parents": [
        "a40c4f10e3fb96030358e49abd010c1f08446fa3"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Mon Mar 21 15:10:11 2011 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Mar 22 11:33:56 2011 -0700"
      },
      "message": "rbd: use watch/notify for changes in rbd header\n\nSend notifications when we change the rbd header (e.g. create a snapshot)\nand wait for such notifications.  This allows synchronizing the snapshot\ncreation between different rbd clients/rools.\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "766fc43973b16f9becb6b7402b3e052dbb84adee",
      "tree": "47a0b50d6fd7fac744a69dbeaf78e80e3d17fc7b",
      "parents": [
        "f363e45fd1184219b472ea549cb7e192e24ef4d2"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Fri Jan 07 14:58:42 2011 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Jan 12 15:15:18 2011 -0800"
      },
      "message": "rbd: fix cleanup when trying to mount inexistent image\n\nPreviously we didn\u0027t clean up the sysfs entry that was just\ncreated.\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "dfc5606dc51381186de765243bab340c8e021868",
      "tree": "663aa59ad40f1ff2e87fcd5256a7cc6aab7b1c00",
      "parents": [
        "3561d43fd289f590fdae672e5eb831b8d5cf0bf6"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Fri Nov 19 14:51:04 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Dec 01 15:53:22 2010 -0800"
      },
      "message": "rbd: replace the rbd sysfs interface\n\nThe new interface creates directories per mapped image\nand under each it creates a subdir per available snapshot.\nThis allows keeping a cleaner interface within the sysfs\nguidelines. The ABI documentation was updated too.\n\nAcked-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "85b5aaa624aac568b8a3a88dbe4de6628c7cc527",
      "tree": "7051c9532750eb81fb76e1473a09fd82ba1f314c",
      "parents": [
        "b8d0638a98aa4a42ff322234b882487cd74e5c52"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Mon Oct 11 21:15:11 2010 +0200"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Oct 20 15:38:25 2010 -0700"
      },
      "message": "rbd: passing wrong variable to bvec_kunmap_irq()\n\nWe should be passing \"buf\" here insead of \"bv\".  This is tricky because\nit\u0027s not the same as kmap() and kunmap().  GCC does warn about it if you\ncompile on i386 with CONFIG_HIGHMEM.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "b8d0638a98aa4a42ff322234b882487cd74e5c52",
      "tree": "4ab89ab0a293d404466106dd6bced5d68c171ce1",
      "parents": [
        "240634e9b3a8ae2a9e2b7effeea3b9a5b30d68fb"
      ],
      "author": {
        "name": "Dan Carpenter",
        "email": "error27@gmail.com",
        "time": "Mon Oct 11 21:14:23 2010 +0200"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Oct 20 15:38:24 2010 -0700"
      },
      "message": "rbd: null vs ERR_PTR\n\nceph_alloc_page_vector() returns ERR_PTR(-ENOMEM) on errors.\n\nSigned-off-by: Dan Carpenter \u003cerror27@gmail.com\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "f4cf3deef4c474381e8fee2e6099d49edd9105cb",
      "tree": "fbf21efa48b062e3a4af9a91c564f05e2b63090c",
      "parents": [
        "28f259b7cd78eb29d38b7ae6b475d656e08fd348"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Mon Sep 27 10:51:53 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Oct 20 15:38:20 2010 -0700"
      },
      "message": "block: rbd: removing unnecessary test\n\nrbd_get_segment() can\u0027t return a negative value, we don\u0027t need to check\nthe return output.\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\n"
    },
    {
      "commit": "28f259b7cd78eb29d38b7ae6b475d656e08fd348",
      "tree": "4cbefc4ad9562af2c221b6fec52bb560772f0a40",
      "parents": [
        "496e59553c51ce18acc836de070106b583926b87"
      ],
      "author": {
        "name": "Vasiliy Kulikov",
        "email": "segooon@gmail.com",
        "time": "Sun Sep 26 12:59:37 2010 +0400"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Oct 20 15:38:19 2010 -0700"
      },
      "message": "block: rbd: fixed may leaks\n\nrbd_client_create() doesn\u0027t free rbdc, this leads to many leaks.\n\nseg_len in rbd_do_op() is unsigned, so (seg_len \u003c 0) makes no sense.\nAlso if fixed check fails then seg_name is leaked.\n\nSigned-off-by: Vasiliy Kulikov \u003csegooon@gmail.com\u003e\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\n"
    },
    {
      "commit": "602adf400201636e95c3fed9f31fba54a3d7e844",
      "tree": "1b10046664d2c380a595ceaaafab2eed835dc937",
      "parents": [
        "3d14c5d2b6e15c21d8e5467dc62d33127c23a644"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Thu Aug 12 16:11:25 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Oct 20 15:38:13 2010 -0700"
      },
      "message": "rbd: introduce rados block device (rbd), based on libceph\n\nThe rados block device (rbd), based on osdblk, creates a block device\nthat is backed by objects stored in the Ceph distributed object storage\ncluster.  Each device consists of a single metadata object and data\nstriped over many data objects.\n\nThe rbd driver supports read-only snapshots.\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    }
  ]
}
