)]}'
{
  "commit": "2ec0ae3acec47f628179ee95fe2c4da01b5e9fc4",
  "tree": "f8cf43b7d3840c405dac1db3974466a2d755919a",
  "parents": [
    "2a8964d63d50dd2d65d71d342bc7fb6ef4117614"
  ],
  "author": {
    "name": "Theodore Ts\u0027o",
    "email": "tytso@mit.edu",
    "time": "Fri May 15 09:07:28 2009 -0400"
  },
  "committer": {
    "name": "Theodore Ts\u0027o",
    "email": "tytso@mit.edu",
    "time": "Fri May 15 09:07:28 2009 -0400"
  },
  "message": "ext4: Fix race in ext4_inode_info.i_cached_extent\n\nIf two CPU\u0027s simultaneously call ext4_ext_get_blocks() at the same\ntime, there is nothing protecting the i_cached_extent structure from\nbeing used and updated at the same time.  This could potentially cause\nthe wrong location on disk to be read or written to, including\npotentially causing the corruption of the block group descriptors\nand/or inode table.\n\nThis bug has been in the ext4 code since almost the very beginning of\next4\u0027s development.  Fortunately once the data is stored in the page\ncache cache, ext4_get_blocks() doesn\u0027t need to be called, so trying to\nreplicate this problem to the point where we could identify its root\ncause was *extremely* difficult.  Many thanks to Kevin Shanahan for\nworking over several months to be able to reproduce this easily so we\ncould finally nail down the cause of the corruption.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nReviewed-by: \"Aneesh Kumar K.V\" \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "172656c2a3bd591a91f701b535d530e2f9a73023",
      "old_mode": 33188,
      "old_path": "fs/ext4/extents.c",
      "new_id": "e3a55eb8b26a5df9cc41fb5efd79e23fc275da22",
      "new_mode": 33188,
      "new_path": "fs/ext4/extents.c"
    }
  ]
}
