)]}'
{
  "commit": "ee6ecbcc5d73672217fdea420d182ecb0cdf310c",
  "tree": "4d5b960a2feb20ce1b5866739b39c89dec1c49d8",
  "parents": [
    "9749895644a817cfd28a535bc3ae60e4267bdc50"
  ],
  "author": {
    "name": "Theodore Ts\u0027o",
    "email": "tytso@mit.edu",
    "time": "Sat Feb 26 14:08:11 2011 -0500"
  },
  "committer": {
    "name": "Theodore Ts\u0027o",
    "email": "tytso@mit.edu",
    "time": "Sat Feb 26 14:08:11 2011 -0500"
  },
  "message": "ext4: remove page_skipped hackery in ext4_da_writepages()\n\nBecause the ext4 page writeback codepath had been prematurely calling\nclear_page_dirty_for_io(), if it turned out that a particular page\ncouldn\u0027t be written out during a particular pass of\nwrite_cache_pages_da(), the page would have to get redirtied by\ncalling redirty_pages_for_writeback().  Not only was this wasted work,\nbut redirty_page_for_writeback() would increment wbc-\u003epages_skipped to\nsignal to writeback_sb_inodes() that buffers were locked, and that it\nshould skip this inode until later.\n\nSince this signal was incorrect in ext4\u0027s case --- which was caused by\next4\u0027s historically incorrect use of write_cache_pages() ---\next4_da_writepages() saved and restored wbc-\u003eskipped_pages to avoid\nconfusing writeback_sb_inodes().\n\nNow that we\u0027ve fixed ext4 to call clear_page_dirty_for_io() right\nbefore initiating the page I/O, we can nuke the page_skipped\nsave/restore hackery, and breathe a sigh of relief.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "ae6e2f43d8736da93ba13e7f79e3b7d627ebc6fb",
      "old_mode": 33188,
      "old_path": "fs/ext4/inode.c",
      "new_id": "617c9cbba1828c41650cdc92c8be94d6e6d093b3",
      "new_mode": 33188,
      "new_path": "fs/ext4/inode.c"
    }
  ]
}
