)]}'
{
  "commit": "11b4f7a5b827f09d1fa7280ccfbab5532950e1e5",
  "tree": "f2080066461b0ef75a964a8ef2b9a2243d7b5389",
  "parents": [
    "9e0686ca92674e37d186a8461a4892edb8ee1982"
  ],
  "author": {
    "name": "Tejun Heo",
    "email": "tj@kernel.org",
    "time": "Tue Feb 11 17:03:23 2014 -0500"
  },
  "committer": {
    "name": "Tejun Heo",
    "email": "tj@kernel.org",
    "time": "Tue Feb 11 17:03:23 2014 -0500"
  },
  "message": "cgroup: remove cgroupfs_root-\u003erefcnt\n\nCurrently, cgroupfs_root and its -\u003etop_cgroup are separated reference\ncounted and the latter\u0027s is ignored.  There\u0027s no reason to do this\nseparately.  This patch removes cgroupfs_root-\u003erefcnt and destroys\ncgroupfs_root when the top_cgroup is released.\n\n* cgroup_put() updated to ignore cgroup_is_dead() test for top\n  cgroups.  cgroup_free_fn() updated to handle root destruction when\n  releasing a top cgroup.\n\n* As root destruction is now bounced through cgroup destruction, it is\n  asynchronous.  Update cgroup_mount() so that it waits for pending\n  release which is currently implemented using msleep().  Converting\n  this to proper wait_queue isn\u0027t hard but likely unnecessary.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "f0e6105bbbc1ad9a85f9a2dc3b0fe505c7ba9a92",
      "old_mode": 33188,
      "old_path": "include/linux/cgroup.h",
      "new_id": "298d616e8f40904b0428e0e35a675becab573037",
      "new_mode": 33188,
      "new_path": "include/linux/cgroup.h"
    },
    {
      "type": "modify",
      "old_id": "cffdb6e2ad08935afbdcd593b10898ce52c8fb64",
      "old_mode": 33188,
      "old_path": "kernel/cgroup.c",
      "new_id": "03845c5d082b12d69839b8438a4afff849821c7d",
      "new_mode": 33188,
      "new_path": "kernel/cgroup.c"
    }
  ]
}
