)]}'
{
  "log": [
    {
      "commit": "d85b705663905b3dae30007f824355bdcfcf3f00",
      "tree": "e47262683ed704786be3f0dae62bc4c57bd50ad7",
      "parents": [
        "04d000eb358919043da538f197d63f2a5924a525"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Mon May 10 10:24:48 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue May 11 09:53:56 2010 -0700"
      },
      "message": "ceph: resubmit requests on pg mapping change (not just primary change)\n\nOSD requests need to be resubmitted on any pg mapping change, not just when\nthe pg primary changes.  Resending only when the primary changes results in\noccasional \u0027hung\u0027 requests during osd cluster recovery or rebalancing.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "2844a76a25a2fc2f5025cf128c95a14d86146d33",
      "tree": "a57b3dac7f92d187bafe3c10270b0d28edf405e3",
      "parents": [
        "0e0d5e0c4bb0476d53a43bfc87d03a25ec4b5579"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Apr 09 15:46:42 2010 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Fri Apr 09 15:50:58 2010 -0700"
      },
      "message": "ceph: decode v5 of osdmap (pool names) [protocol change]\n\nTeach the client to decode an updated format for the osdmap.  The new\nformat includes pool names, which will be useful shortly.  Get this change\nin earlier rather than later.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "4fc51be8fa7043ff9a1e34fef0e99214373332ac",
      "tree": "beba3bc83b5a07a16bb63c6e80713cb2b42bf4fb",
      "parents": [
        "9794b146fa7b93f8ab74fb62d67fdefad760769f"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Feb 16 15:55:03 2010 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Feb 17 10:02:49 2010 -0800"
      },
      "message": "ceph: use rbtree for pg pools; decode new osdmap format\n\nSince we can now create and destroy pg pools, the pool ids will be sparse,\nand an array no longer makes sense for looking up by pool id.  Use an\nrbtree instead.\n\nThe OSDMap encoding also no longer has a max pool count (previously used to\nallocate the array).  There is a new pool_max, that is the largest pool id\nwe\u0027ve ever used, although we don\u0027t actually need it in the client.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "51042122d4f85e0f8ee577a4230f172fcc57c456",
      "tree": "d5ccf5f84d362b6542a86eab6b6f50112111434b",
      "parents": [
        "63f2d211954b790fea0a9caeae605c7956535af6"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Nov 04 11:39:12 2009 -0800"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Wed Nov 04 16:36:07 2009 -0800"
      },
      "message": "ceph: fix endian conversions for ceph_pg\n\nThe endian conversions don\u0027t quite work with the old union ceph_pg.  Just\nmake it a regular struct, and make each field __le.  This is simpler and it\nhas the added bonus of actually working.\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    },
    {
      "commit": "f24e9980eb860d8600cbe5ef3d2fd9295320d229",
      "tree": "10f43450ad2cd4d799dd02d33c02d4ed8bef39d6",
      "parents": [
        "2f2dc053404febedc9c273452d9d518fb31fde72"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Oct 06 11:31:10 2009 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@newdream.net",
        "time": "Tue Oct 06 11:31:10 2009 -0700"
      },
      "message": "ceph: OSD client\n\nThe OSD client is responsible for reading and writing data from/to the\nobject storage pool.  This includes determining where objects are\nstored in the cluster, and ensuring that requests are retried or\nredirected in the event of a node failure or data migration.\n\nIf an OSD does not respond before a timeout expires, keepalive\nmessages are sent across the lossless, ordered communications channel\nto ensure that any break in the TCP is discovered.  If the session\ndoes reset, a reconnection is attempted and affected requests are\nresent (by the message transport layer).\n\nSigned-off-by: Sage Weil \u003csage@newdream.net\u003e\n"
    }
  ]
}
