)]}'
{
  "commit": "4c3f2ead5a3dff9069a45560ba4d007c8ae2e2ee",
  "tree": "ab47621edf01f64485c99cf2cde56762339c86f1",
  "parents": [
    "60347f6716aa49831ac311e04d77ccdc50dc024a"
  ],
  "author": {
    "name": "Sukadev Bhattiprolu",
    "email": "sukadev@us.ibm.com",
    "time": "Thu Oct 18 23:40:03 2007 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@woody.linux-foundation.org",
    "time": "Fri Oct 19 11:53:38 2007 -0700"
  },
  "message": "pid namespaces: introduce struct upid\n\nSince task will be visible from different pid namespaces each of them have to\nbe addressed by multiple pids.  struct upid is to store the information about\nwhich id refers to which namespace.\n\nThe constuciton looks like this.  Each struct pid carried the reference\ncounter and the list of tasks attached to this pid.  At its end it has a\nvariable length array of struct upid-s.  Each struct upid has a numerical id\n(pid itself), pointer to the namespace, this ID is valid in and is hashed into\na pid_hash for searching the pids.\n\nThe nr and pid_chain fields are kept in struct pid for a while to make kernel\nstill work (no patch initialize the upids yet), but it will be removed at the\nend of this series when we switch to upids completely.\n\nSigned-off-by: Sukadev Bhattiprolu \u003csukadev@us.ibm.com\u003e\nSigned-off-by: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nCc: Oleg Nesterov \u003coleg@tv-sign.ru\u003e\nCc: Paul Menage \u003cmenage@google.com\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d4b2f1c76e12c528b8701111445bd864ef5ea062",
      "old_mode": 33188,
      "old_path": "include/linux/init_task.h",
      "new_id": "243e287304d089fff691167a35fb88e71d99a832",
      "new_mode": 33188,
      "new_path": "include/linux/init_task.h"
    },
    {
      "type": "modify",
      "old_id": "1e0e4e3423a628a7983520762b7364038fbbe628",
      "old_mode": 33188,
      "old_path": "include/linux/pid.h",
      "new_id": "e5865a9c58a6ab07bd9a909cbfd254028e17f5fe",
      "new_mode": 33188,
      "new_path": "include/linux/pid.h"
    }
  ]
}
