)]}'
{
  "commit": "b5ce1d83a62fc109d8e815b1fc71dcdb0d26bc49",
  "tree": "ea537c1b6436c36bee3b33d8b4f750124fd7d661",
  "parents": [
    "3a99c6319064af3f2e18eb929f638d555dbf7a62"
  ],
  "author": {
    "name": "Yoshihisa Abe",
    "email": "yoshiabe@cs.cmu.edu",
    "time": "Mon Oct 25 02:03:44 2010 -0400"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Mon Oct 25 08:02:40 2010 -0700"
  },
  "message": "Coda: add spin lock to protect accesses to struct coda_inode_info.\n\nWe mostly need it to protect cached user permissions. The c_flags field\nis advisory, reading the wrong value is harmless and in the worst case\nwe hit a slow path where we have to make an extra upcall to the\nuserspace cache manager when revalidating a dentry or inode.\n\nSigned-off-by: Yoshihisa Abe \u003cyoshiabe@cs.cmu.edu\u003e\nSigned-off-by: Jan Harkes \u003cjaharkes@cs.cmu.edu\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a5bf5771a22a5ad1a1fbee69f8e55aa5b8723094",
      "old_mode": 33188,
      "old_path": "fs/coda/cache.c",
      "new_id": "9060f08e70cf10d79eb224dccd40b601398e2a26",
      "new_mode": 33188,
      "new_path": "fs/coda/cache.c"
    },
    {
      "type": "modify",
      "old_id": "a7a780929eecb90c624d8fbd155bd32cea228f47",
      "old_mode": 33188,
      "old_path": "fs/coda/cnode.c",
      "new_id": "602240569c89ace556721e0f4d9c954bfd27c491",
      "new_mode": 33188,
      "new_path": "fs/coda/cnode.c"
    },
    {
      "type": "modify",
      "old_id": "ccd98b0f2b0b9c3d37f10b101a86b36572054240",
      "old_mode": 33188,
      "old_path": "fs/coda/dir.c",
      "new_id": "69fbbea75f1b941ba7ee6024b61e88cd23f754fd",
      "new_mode": 33188,
      "new_path": "fs/coda/dir.c"
    },
    {
      "type": "modify",
      "old_id": "ad3cd2abeeb48e561cadf63f65f9ae8d105dd621",
      "old_mode": 33188,
      "old_path": "fs/coda/file.c",
      "new_id": "c4e395781d416eaa1b2d394a61175e6dc5331a97",
      "new_mode": 33188,
      "new_path": "fs/coda/file.c"
    },
    {
      "type": "modify",
      "old_id": "bfe8179b1295e76ea4433fce9d2533e240eed840",
      "old_mode": 33188,
      "old_path": "fs/coda/inode.c",
      "new_id": "0553f3bd7b1b00aa58a142e1c8aaf3a4490b079d",
      "new_mode": 33188,
      "new_path": "fs/coda/inode.c"
    },
    {
      "type": "modify",
      "old_id": "b3ef0c461578c834c1266dc10b0390c51658aae6",
      "old_mode": 33188,
      "old_path": "include/linux/coda_fs_i.h",
      "new_id": "e35071b1de0e26a3d8f5e1ee27c1da3d3667a4ad",
      "new_mode": 33188,
      "new_path": "include/linux/coda_fs_i.h"
    },
    {
      "type": "modify",
      "old_id": "dcc228aa335ae43b77febde77dbecf4d031773b4",
      "old_mode": 33188,
      "old_path": "include/linux/coda_linux.h",
      "new_id": "2e914d0771b9022ccf42bf50afd7d0e4445510d9",
      "new_mode": 33188,
      "new_path": "include/linux/coda_linux.h"
    }
  ]
}
