)]}'
{
  "commit": "78574cf981cd3d9ae9f6adbd466a772310ec24ff",
  "tree": "50e9da6e2e201663a22e02240d927592e893780d",
  "parents": [
    "415cf07a1c1c65249773330434878ae7bcd92d0f"
  ],
  "author": {
    "name": "Li Zefan",
    "email": "lizefan@huawei.com",
    "time": "Mon Apr 08 19:00:38 2013 -0700"
  },
  "committer": {
    "name": "Tejun Heo",
    "email": "tj@kernel.org",
    "time": "Wed Apr 10 11:07:08 2013 -0700"
  },
  "message": "cgroup: implement cgroup_is_descendant()\n\nA couple controllers want to determine whether two cgroups are in\nancestor/descendant relationship.  As it\u0027s more likely that the\ndescendant is the primary subject of interest and there are other\noperations focusing on the descendants, let\u0027s ask is_descendent rather\nthan is_ancestor.\n\nImplementation is trivial as the previous patch guarantees that all\nancestors of a cgroup stay accessible as long as the cgroup is\naccessible.\n\ntj: Removed depth optimization, renamed from cgroup_is_ancestor(),\n    rewrote descriptions.\n\nSigned-off-by: Li Zefan \u003clizefan@huawei.com\u003e\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "92acf8601ae0802308e71615119e2596c6e2d664",
      "old_mode": 33188,
      "old_path": "include/linux/cgroup.h",
      "new_id": "a2b9d4b133692fddf68604aa771fd4e6625ef13a",
      "new_mode": 33188,
      "new_path": "include/linux/cgroup.h"
    },
    {
      "type": "modify",
      "old_id": "65b72d0367c54f3949ec3181e714ee6d77f87b32",
      "old_mode": 33188,
      "old_path": "kernel/cgroup.c",
      "new_id": "7bf3ce09c50cdf3201883214525cea8390685227",
      "new_mode": 33188,
      "new_path": "kernel/cgroup.c"
    }
  ]
}
