)]}'
{
  "commit": "de986e859a29097fb9211b052d86a9a2c868f6cd",
  "tree": "85c97fe22e0eafb3c7440c8ff21fe73d8c456960",
  "parents": [
    "16615be18cadf53ee6f8a4f0bdd647f0753421b1"
  ],
  "author": {
    "name": "Wendy Cheng",
    "email": "wcheng@redhat.com",
    "time": "Tue Sep 18 09:19:13 2007 -0400"
  },
  "committer": {
    "name": "Steven Whitehouse",
    "email": "swhiteho@redhat.com",
    "time": "Wed Oct 10 08:56:26 2007 +0100"
  },
  "message": "[GFS2] Data corruption fix\n\n* GFS2 has been using i_cache array to store its indirect meta blocks.\nIts flush routine doesn\u0027t correctly clean up all the entries. The\nproblem would show while multiple nodes do simultaneous writes to the\nsame file. Upon glock exclusive lock transfer, if the file is a sparse\nfile with large file size where the indirect meta blocks span multiple\narray entries with \"zero\" entries in between. The flush routine\nprematurely stops the flushing that leaves old (stale) entries around.\nThis leads to several nasty issues, including data corruption.\n* Fix gfs2_get_block_noalloc checking to correctly return EIO upon\nunmapped buffer.\n\nSigned-off-by: Wendy Cheng \u003cwcheng@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "1d80f2d42122573cfaa966a9915fac285291cfb3",
      "old_mode": 33188,
      "old_path": "fs/gfs2/meta_io.c",
      "new_id": "4da423985e4f9178dd752a92fa5c102cd287e66a",
      "new_mode": 33188,
      "new_path": "fs/gfs2/meta_io.c"
    },
    {
      "type": "modify",
      "old_id": "b7baf183191281705824042706f0553019aeffb5",
      "old_mode": 33188,
      "old_path": "fs/gfs2/ops_address.c",
      "new_id": "4002f417dc19f66ec853a4426e5aa8559e3f31e3",
      "new_mode": 33188,
      "new_path": "fs/gfs2/ops_address.c"
    }
  ]
}
