)]}'
{
  "commit": "29fa89d088941d79765d60f22d5ccdd6b8696e11",
  "tree": "3fbe031eec140c03dafa11f2416c4f6e3826f21d",
  "parents": [
    "8fb0e342481c4d80040670fec915f0b9c7c6499a"
  ],
  "author": {
    "name": "Aneesh Kumar K.V",
    "email": "aneesh.kumar@linux.vnet.ibm.com",
    "time": "Tue May 12 16:30:27 2009 -0400"
  },
  "committer": {
    "name": "Theodore Ts\u0027o",
    "email": "tytso@mit.edu",
    "time": "Tue May 12 16:30:27 2009 -0400"
  },
  "message": "ext4: Mark the unwritten buffer_head as mapped during write_begin\n\nSetting BH_Unwritten buffer_heads as BH_Mapped avoids multiple\n(unnecessary) calls to get_block() during the call to the write(2)\nsystem call.  Setting BH_Unwritten buffer heads as BH_Mapped requires\nthat the writepages() functions can handle BH_Unwritten buffer_heads.\n\nAfter this commit, things work as follows:\n\next4_ext_get_block() returns unmapped, unwritten, buffer head when\ncalled with create \u003d 0 for prealloc space. This makes sure we handle\nthe read path and non-delayed allocation case correctly.  Even though\nthe buffer head is marked unmapped we have valid b_blocknr and b_bdev\nvalues in the buffer_head.\n\next4_da_get_block_prep() called for block resrevation will now return\nmapped, unwritten, new buffer_head for prealloc space. This avoids\nmultiple calls to get_block() for write to same offset. By making such\nbuffers as BH_New, we also assure that sub-block zeroing of buffered\nwrites happens correctly.\n\nSigned-off-by: Aneesh Kumar K.V \u003caneesh.kumar@linux.vnet.ibm.com\u003e\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "a953214f2829c772fbd91f0e6df7ca43b35bb320",
      "old_mode": 33188,
      "old_path": "fs/ext4/extents.c",
      "new_id": "ea5c47608cea745ca09ccb08ec3670b657f6991a",
      "new_mode": 33188,
      "new_path": "fs/ext4/extents.c"
    },
    {
      "type": "modify",
      "old_id": "d7ad0bb73cd5be363f9dc9dc0a58a05b74544e1e",
      "old_mode": 33188,
      "old_path": "fs/ext4/inode.c",
      "new_id": "96f3366f59f6ee7c179f4dfc579577c6a58aabc4",
      "new_mode": 33188,
      "new_path": "fs/ext4/inode.c"
    }
  ]
}
