)]}'
{
  "commit": "67935df49dae836fa86621861979fafdfd37ae59",
  "tree": "f1f50d7e854982b302bc4be7da6bb820032b6294",
  "parents": [
    "8266602033d6adc6d10cb8811c1fd694767909b0"
  ],
  "author": {
    "name": "Alexey Dobriyan",
    "email": "adobriyan@gmail.com",
    "time": "Sat Jul 26 11:18:28 2008 +0400"
  },
  "committer": {
    "name": "Al Viro",
    "email": "viro@zeniv.linux.org.uk",
    "time": "Fri Aug 01 11:25:27 2008 -0400"
  },
  "message": "[PATCH 1/2] proc: fix inode number bogorithmetic\n\nId which proc gets from IDR for inode number and id which proc removes\nfrom IDR do not match. E.g. 0x11a transforms into 0x8000011a.\n\nWhich stayed unnoticed for a long time because, surprise, idr_remove()\nmasks out that high bit before doing anything.\n\nAll of this due to \"| ~MAX_ID_MASK\" in release_inode_number().\n\nI still don\u0027t understand how it\u0027s supposed to work, because \"| ~MASK\"\nis not an inversion for \"\u0026 MAX\" operation.\n\nSo, use just one nice, working addition. Make start offset unsigned int,\nwhile I\u0027m at it. It\u0027s longness is not used anywhere.\n\nSigned-off-by: Alexey Dobriyan \u003cadobriyan@gmail.com\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "cb4096cc3fb7456f96a5a4e30dc1957e0707b10e",
      "old_mode": 33188,
      "old_path": "fs/proc/generic.c",
      "new_id": "b85e36e153bad4053f4af7a3a1a1294813865542",
      "new_mode": 33188,
      "new_path": "fs/proc/generic.c"
    }
  ]
}
