)]}'
{
  "commit": "a8e7d49aa7be728c4ae241a75a2a124cdcabc0c5",
  "tree": "fec49351496b886d8aa0e7b55e58c2f1394b051a",
  "parents": [
    "68df3755e383e6fecf2354a67b08f92f18536594"
  ],
  "author": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Thu Mar 19 11:32:05 2009 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@linux-foundation.org",
    "time": "Thu Mar 19 11:32:05 2009 -0700"
  },
  "message": "Fix race in create_empty_buffers() vs __set_page_dirty_buffers()\n\nNick Piggin noticed this (very unlikely) race between setting a page\ndirty and creating the buffers for it - we need to hold the mapping\nprivate_lock until we\u0027ve set the page dirty bit in order to make sure\nthat create_empty_buffers() might not build up a set of buffers without\nthe dirty bits set when the page is dirty.\n\nI doubt anybody has ever hit this race (and it didn\u0027t solve the issue\nNick was looking at), but as Nick says: \"Still, it does appear to solve\na real race, which we should close.\"\n\nAcked-by: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "9f697419ed8e34ec041c92d8f6794c8b4b06ab33",
      "old_mode": 33188,
      "old_path": "fs/buffer.c",
      "new_id": "891e1c78e4f1cdf2fef0a5737983f245901371a3",
      "new_mode": 33188,
      "new_path": "fs/buffer.c"
    }
  ]
}
