)]}'
{
  "commit": "83ca14fdd35821554058e5fd4fa7b118ee504a33",
  "tree": "8f105c71b91854c68db4281f255723356e709ccd",
  "parents": [
    "1b83bef24c6746a146d39915a18fb5425f2facb0"
  ],
  "author": {
    "name": "Sage Weil",
    "email": "sage@inktank.com",
    "time": "Tue Feb 26 10:39:09 2013 -0800"
  },
  "committer": {
    "name": "Sage Weil",
    "email": "sage@inktank.com",
    "time": "Tue Feb 26 15:03:06 2013 -0800"
  },
  "message": "libceph: add support for HASHPSPOOL pool flag\n\nThe legacy behavior adds the pgid seed and pool together as the input for\nCRUSH.  That is problematic because each pool\u0027s PGs end up mapping to the\nsame OSDs: 1.5 \u003d\u003d 2.4 \u003d\u003d 3.3 \u003d\u003d ...\n\nInstead, if the HASHPSPOOL flag is set, we has the ps and pool together and\nfeed that into CRUSH.  This ensures that two adjacent pools will map to\nan independent pseudorandom set of OSDs.\n\nAdvertise our support for this via a protocol feature flag.\n\nSigned-off-by: Sage Weil \u003csage@inktank.com\u003e\nReviewed-by: Alex Elder \u003celder@inktank.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ab0a54286e0d6663e8ec5b9ecf8b4339b1c75ca1",
      "old_mode": 33188,
      "old_path": "include/linux/ceph/ceph_features.h",
      "new_id": "76554cecaab24f71fd327db30e3af51143928008",
      "new_mode": 33188,
      "new_path": "include/linux/ceph/ceph_features.h"
    },
    {
      "type": "modify",
      "old_id": "35985125f11840f0455e3fdd1302cfd0743c15d8",
      "old_mode": 33188,
      "old_path": "include/linux/ceph/osdmap.h",
      "new_id": "c819190d16423c4b82a619871a1e68babbd765ba",
      "new_mode": 33188,
      "new_path": "include/linux/ceph/osdmap.h"
    },
    {
      "type": "modify",
      "old_id": "37847164450136c95200579def0adfa444438867",
      "old_mode": 33188,
      "old_path": "net/ceph/osdmap.c",
      "new_id": "69bc4bf89e3e79bb47eddcac63367913a8645ef0",
      "new_mode": 33188,
      "new_path": "net/ceph/osdmap.c"
    }
  ]
}
