)]}'
{
  "log": [
    {
      "commit": "969e5aa3b0162a02c4f287d48ff58ca2145acf1b",
      "tree": "1af8e8e47e7352c6d3b4abfdb4aea6bd9458666f",
      "parents": [
        "949db153b6466c6f7cad5a427ecea94985927311",
        "1ec3911dbd19076bcdfe5540096ff67f91a6ec02"
      ],
      "author": {
        "name": "Alex Elder",
        "email": "elder@inktank.com",
        "time": "Wed Jan 30 07:54:34 2013 -0600"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@inktank.com",
        "time": "Wed Jan 30 07:54:34 2013 -0600"
      },
      "message": "Merge branch \u0027testing\u0027 of github.com:ceph/ceph-client into v3.8-rc5-testing\n"
    },
    {
      "commit": "1604f488ac2dcce33c8218e75a000e8c5fb57e61",
      "tree": "084b399c1c9be245e62543a024d727241f7a9ad4",
      "parents": [
        "390306c38dd43908f7f7730229999790a773d1d5"
      ],
      "author": {
        "name": "Jim Schutt",
        "email": "jaschut@sandia.gov",
        "time": "Fri Nov 30 09:15:25 2012 -0700"
      },
      "committer": {
        "name": "Alex Elder",
        "email": "elder@inktank.com",
        "time": "Thu Jan 17 12:42:39 2013 -0600"
      },
      "message": "libceph: for chooseleaf rules, retry CRUSH map descent from root if leaf is failed\n\nAdd libceph support for a new CRUSH tunable recently added to Ceph servers.\n\nConsider the CRUSH rule\n  step chooseleaf firstn 0 type \u003cnode_type\u003e\n\nThis rule means that \u003cn\u003e replicas will be chosen in a manner such that\neach chosen leaf\u0027s branch will contain a unique instance of \u003cnode_type\u003e.\n\nWhen an object is re-replicated after a leaf failure, if the CRUSH map uses\na chooseleaf rule the remapped replica ends up under the \u003cnode_type\u003e bucket\nthat held the failed leaf.  This causes uneven data distribution across the\nstorage cluster, to the point that when all the leaves but one fail under a\nparticular \u003cnode_type\u003e bucket, that remaining leaf holds all the data from\nits failed peers.\n\nThis behavior also limits the number of peers that can participate in the\nre-replication of the data held by the failed leaf, which increases the\ntime required to re-replicate after a failure.\n\nFor a chooseleaf CRUSH rule, the tree descent has two steps: call them the\ninner and outer descents.\n\nIf the tree descent down to \u003cnode_type\u003e is the outer descent, and the descent\nfrom \u003cnode_type\u003e down to a leaf is the inner descent, the issue is that a\ndown leaf is detected on the inner descent, so only the inner descent is\nretried.\n\nIn order to disperse re-replicated data as widely as possible across a\nstorage cluster after a failure, we want to retry the outer descent. So,\nfix up crush_choose() to allow the inner descent to return immediately on\nchoosing a failed leaf.  Wire this up as a new CRUSH tunable.\n\nNote that after this change, for a chooseleaf rule, if the primary OSD\nin a placement group has failed, choosing a replacement may result in\none of the other OSDs in the PG colliding with the new primary.  This\nrequires that OSD\u0027s data for that PG to need moving as well.  This\nseems unavoidable but should be relatively rare.\n\nThis corresponds to ceph.git commit 88f218181a9e6d2292e2697fc93797d0f6d6e5dc.\n\nSigned-off-by: Jim Schutt \u003cjaschut@sandia.gov\u003e\nReviewed-by: Sage Weil \u003csage@inktank.com\u003e\n"
    },
    {
      "commit": "a1ce39288e6fbefdd8d607021d02384eb4a20b99",
      "tree": "c72e67f0c9d828420788f9086a19df1b9a7e39ae",
      "parents": [
        "760285e7e7ab282c25b5e90816f7c47000557f4f"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Oct 02 18:01:25 2012 +0100"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Tue Oct 02 18:01:25 2012 +0100"
      },
      "message": "UAPI: (Scripted) Convert #include \"...\" to #include \u003cpath/...\u003e in kernel system headers\n\nConvert #include \"...\" to #include \u003cpath/...\u003e in kernel system headers.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nAcked-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nAcked-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "546f04ef716dd49521774653d8b032a7d64c05d9",
      "tree": "162f548fc7a81b05eb1db715997b3a04693c1bcc",
      "parents": [
        "1fe60e51a3744528f3939b1b1167ca909133d9ae"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@inktank.com",
        "time": "Mon Jul 30 18:15:23 2012 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@inktank.com",
        "time": "Mon Jul 30 18:15:23 2012 -0700"
      },
      "message": "libceph: support crush tunables\n\nThe server side recently added support for tuning some magic\ncrush variables. Decode these variables if they are present, or use the\ndefault values if they are not present.\n\nCorresponds to ceph.git commit 89af369c25f274fe62ef730e5e8aad0c54f1e5a5.\n\nSigned-off-by: caleb miles \u003ccaleb.miles@inktank.com\u003e\nReviewed-by: Sage Weil \u003csage@inktank.com\u003e\nReviewed-by: Alex Elder \u003celder@inktank.com\u003e\nReviewed-by: Yehuda Sadeh \u003cyehuda@inktank.com\u003e\n"
    },
    {
      "commit": "f671d4cd9b36691ac4ef42cde44c1b7a84e13631",
      "tree": "9f961d2a6dfdee4ffa3b4c8d2b7308dfda85e177",
      "parents": [
        "fc7c3ae5ab9246ad96aab4d0d57f67e9255cfb56"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@inktank.com",
        "time": "Mon May 07 15:36:49 2012 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@inktank.com",
        "time": "Mon May 07 15:39:35 2012 -0700"
      },
      "message": "crush: fix tree node weight lookup\n\nFix the node weight lookup for tree buckets by using a correct accessor.\n\nReflects ceph.git commit d287ade5bcbdca82a3aef145b92924cf1e856733.\n\nReviewed-by: Alex Elder \u003celder@inktank.com\u003e\nSigned-off-by: Sage Weil \u003csage@inktank.com\u003e\n"
    },
    {
      "commit": "fc7c3ae5ab9246ad96aab4d0d57f67e9255cfb56",
      "tree": "07ceb79e0a20f9faac7c1621a0543e7ba908b6ff",
      "parents": [
        "41ebcc0907c58f75d0b25afcaf8b9c35c6b1ad14"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@inktank.com",
        "time": "Mon May 07 15:36:35 2012 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@inktank.com",
        "time": "Mon May 07 15:39:34 2012 -0700"
      },
      "message": "crush: remove parent maps\n\nThese were used for the ill-fated forcefeed feature.  Remove them.\n\nReflects ceph.git commit ebdf80edfecfbd5a842b71fbe5732857994380c1.\n\nReviewed-by: Alex Elder \u003celder@inktank.com\u003e\nSigned-off-by: Sage Weil \u003csage@inktank.com\u003e\n"
    },
    {
      "commit": "41ebcc0907c58f75d0b25afcaf8b9c35c6b1ad14",
      "tree": "c05054ce3d7fc0e512501a708511a9b1bd8647eb",
      "parents": [
        "0668216efe16ab1adf077e5f138775cee2af927a"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@inktank.com",
        "time": "Mon May 07 15:39:29 2012 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@inktank.com",
        "time": "Mon May 07 15:39:29 2012 -0700"
      },
      "message": "crush: remove forcefeed functionality\n\nRemove forcefeed functionality from CRUSH.  This is an ugly misfeature that\nis mostly useless and unused.  Remove it.\n\nReflects ceph.git commit ed974b5000f2851207d860a651809af4a1867942.\n\nReviewed-by: Alex Elder \u003celder@inktank.com\u003e\nSigned-off-by: Sage Weil \u003csage@inktank.com\u003e\n\nConflicts:\n\n\tnet/ceph/crush/mapper.c\n"
    },
    {
      "commit": "8b12d47b80c7a34dffdd98244d99316db490ec58",
      "tree": "fb97986bc823ebcce487d573fc83ee3b1c8f5f98",
      "parents": [
        "e49bf4c51cbe27439c00516d4297193d45dd4097"
      ],
      "author": {
        "name": "Sage Weil",
        "email": "sage@inktank.com",
        "time": "Mon May 07 15:38:35 2012 -0700"
      },
      "committer": {
        "name": "Sage Weil",
        "email": "sage@inktank.com",
        "time": "Mon May 07 15:38:35 2012 -0700"
      },
      "message": "crush: clean up types, const-ness\n\nMove various types from int -\u003e __u32 (or similar), and add const as\nappropriate.\n\nThis reflects changes that have been present in the userland implementation\nfor some time.\n\nReviewed-by: Alex Elder \u003celder@inktank.com\u003e\nSigned-off-by: Sage Weil \u003csage@inktank.com\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"
    }
  ]
}
