)]}'
{
  "commit": "914ee295af418e936ec20a08c1663eaabe4cd07a",
  "tree": "2e880ea913b8cbadf22b2288b5c278c2e5eadb60",
  "parents": [
    "f106e82caaa0d943e47cacc184f5b40d538e0044"
  ],
  "author": {
    "name": "Xin Zhong",
    "email": "xin.zhong@intel.com",
    "time": "Thu Dec 09 09:30:14 2010 +0000"
  },
  "committer": {
    "name": "Chris Mason",
    "email": "chris.mason@oracle.com",
    "time": "Fri Dec 10 16:29:10 2010 -0500"
  },
  "message": "Btrfs: pwrite blocked when writing from the mmaped buffer of the same page\n\nThis problem is found in meego testing:\nhttp://bugs.meego.com/show_bug.cgi?id\u003d6672\nA file in btrfs is mmaped and the mmaped buffer is passed to pwrite to write to the same page\nof the same file. In btrfs_file_aio_write(), the pages is locked by prepare_pages(). So when\nbtrfs_copy_from_user() is called, page fault happens and the same page needs to be locked again\nin filemap_fault(). The fix is to move iov_iter_fault_in_readable() before prepage_pages() to make page\nfault happen before pages are locked. And also disable page fault in critical region in\nbtrfs_copy_from_user().\n\nReviewed-by: Yan, Zheng\u003czheng.z.yan@intel.com\u003e\nSigned-off-by: Zhong, Xin \u003cxin.zhong@intel.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "c1faded5fca03a7cbcb509908cfdf3cc8362ce1f",
      "old_mode": 33188,
      "old_path": "fs/btrfs/file.c",
      "new_id": "66836d85763bbfd2dafe3821a1be30f173784fdc",
      "new_mode": 33188,
      "new_path": "fs/btrfs/file.c"
    }
  ]
}
