)]}'
{
  "log": [
    {
      "commit": "240634e9b3a8ae2a9e2b7effeea3b9a5b30d68fb",
      "tree": "5e6e5f9e09644ee0b1587189b1c4aef2b914be9a",
      "parents": [
        "571dba52a34015a5a7aa5d480a86936878444a6f"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Oct 05 12:03:23 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Oct 20 15:38:23 2010 -0700"
      },
      "message": "ceph: fix num_pages_free accounting in pagelist\n\nDecrement the free page counter when removing a page from the free_list.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "010e3b48fca57920557d2b80b83f8b2899fb5d1e",
      "tree": "df18bbb03fe34602412df792094dfbb6d6dca20e",
      "parents": [
        "6f453ed6c07dbed83b368269c9c0fb170866ee71"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Thu Sep 30 11:58:31 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Oct 20 15:38:22 2010 -0700"
      },
      "message": "ceph: don\u0027t crash when passed bad mount options\n\nThis only happened when parse_extra_token was not passed\nto ceph_parse_option() (hence, only happened in rbd).\n\nSigned-off-by: Yehuda Sadeh \u003cyehuda@hq.newdream.net\u003e\n"
    },
    {
      "commit": "ac0b74d8a1ced8ea86147467daf06b15b130dd94",
      "tree": "a71aec65be7f71b42ae78907acd5b0f4aeafd3a9",
      "parents": [
        "18a38193efcaac1fb3c94ad8fa04bb117850a3c2"
      ],
      "author": {
        "name": "Greg Farnum",
        "email": "gregf@hq.newdream.net",
        "time": "Fri Sep 17 10:10:55 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Oct 20 15:38:16 2010 -0700"
      },
      "message": "ceph: add pagelist_reserve, pagelist_truncate, pagelist_set_cursor\n\nThese facilitate preallocation of pages so that we can encode into the pagelist\nin an atomic context.\n\nSigned-off-by: Greg Farnum \u003cgregf@hq.newdream.net\u003e\nSigned-off-by: Sage Weil \u003csage@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"
    },
    {
      "commit": "3d14c5d2b6e15c21d8e5467dc62d33127c23a644",
      "tree": "7d123c47847df9d1e865b6b78dc7da3fe739b704",
      "parents": [
        "ae1533b62b3369e6ae32338f4a77d64d0e88f676"
      ],
      "author": {
        "name": "Yehuda Sadeh",
        "email": "yehuda@hq.newdream.net",
        "time": "Tue Apr 06 15:14:15 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Oct 20 15:37:28 2010 -0700"
      },
      "message": "ceph: factor out libceph from Ceph file system\n\nThis factors out protocol and low-level storage parts of ceph into a\nseparate libceph module living in net/ceph and include/linux/ceph.  This\nis mostly a matter of moving files around.  However, a few key pieces\nof the interface change as well:\n\n - ceph_client becomes ceph_fs_client and ceph_client, where the latter\n   captures the mon and osd clients, and the fs_client gets the mds client\n   and file system specific pieces.\n - Mount option parsing and debugfs setup is correspondingly broken into\n   two pieces.\n - The mon client gets a generic handler callback for otherwise unknown\n   messages (mds map, in this case).\n - The basic supported/required feature bits can be expanded (and are by\n   ceph_fs_client).\n\nNo functional change, aside from some subtle error handling cases that got\ncleaned up in the refactoring process.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    }
  ]
}
