)]}'
{
  "commit": "cffbc8aa334f55c9ed42d25202eb3ebf3a97c195",
  "tree": "dab046695754e2cec1a7ab7a64b236e976d94360",
  "parents": [
    "be1a16a0ae29a7c90081a657b64aa51cb1a65a27"
  ],
  "author": {
    "name": "Dave Chinner",
    "email": "dchinner@redhat.com",
    "time": "Sat Oct 23 05:03:02 2010 -0400"
  },
  "committer": {
    "name": "Al Viro",
    "email": "viro@zeniv.linux.org.uk",
    "time": "Mon Oct 25 21:26:09 2010 -0400"
  },
  "message": "fs: Convert nr_inodes and nr_unused to per-cpu counters\n\nThe number of inodes allocated does not need to be tied to the\naddition or removal of an inode to/from a list. If we are not tied\nto a list lock, we could update the counters when inodes are\ninitialised or destroyed, but to do that we need to convert the\ncounters to be per-cpu (i.e. independent of a lock). This means that\nwe have the freedom to change the list/locking implementation\nwithout needing to care about the counters.\n\nBased on a patch originally from Eric Dumazet.\n\n[AV: cleaned up a bit, fixed build breakage on weird configs\n\nSigned-off-by: Dave Chinner \u003cdchinner@redhat.com\u003e\nReviewed-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "39f44f2e709a068e654ae5bccadbc83afd49df93",
      "old_mode": 33188,
      "old_path": "fs/fs-writeback.c",
      "new_id": "f04d04af84f2294e596403dee1bb8a22bf81322f",
      "new_mode": 33188,
      "new_path": "fs/fs-writeback.c"
    },
    {
      "type": "modify",
      "old_id": "4440cf1034ec2f0ce65cd95e375ede311d1c74e5",
      "old_mode": 33188,
      "old_path": "fs/inode.c",
      "new_id": "0d5aeccbdd90913ea0a64d8e55573afe544d5a2b",
      "new_mode": 33188,
      "new_path": "fs/inode.c"
    },
    {
      "type": "modify",
      "old_id": "f6dce46d80dc8837127176f515414284e447aa9d",
      "old_mode": 33188,
      "old_path": "fs/internal.h",
      "new_id": "4cc67eb6ed56653f243824dc9beb180c0b75172e",
      "new_mode": 33188,
      "new_path": "fs/internal.h"
    },
    {
      "type": "modify",
      "old_id": "78043da85e1f311dce0a81232c660e47191f4b0a",
      "old_mode": 33188,
      "old_path": "include/linux/fs.h",
      "new_id": "a3937a8ee95ede4f699b671937e2094003753876",
      "new_mode": 33188,
      "new_path": "include/linux/fs.h"
    },
    {
      "type": "modify",
      "old_id": "694b140852c24867452725d11addb9ef38631622",
      "old_mode": 33188,
      "old_path": "kernel/sysctl.c",
      "new_id": "99a510cbfbb3d8787122066c7ff5817ba19d0dcd",
      "new_mode": 33188,
      "new_path": "kernel/sysctl.c"
    }
  ]
}
