)]}'
{
  "commit": "525f4ed8dcb72c71b306a78ecbf06f41d08fe441",
  "tree": "d4d74dc7b109c5d74fa955970a8528ec90e20b06",
  "parents": [
    "a1d6cc563bfdf1bf2829d3e6ce4d8b774251796b"
  ],
  "author": {
    "name": "Mingming Cao",
    "email": "cmm@us.ibm.com",
    "time": "Tue Aug 19 22:15:58 2008 -0400"
  },
  "committer": {
    "name": "Theodore Ts\u0027o",
    "email": "tytso@mit.edu",
    "time": "Tue Aug 19 22:15:58 2008 -0400"
  },
  "message": "ext4: journal credit fix for the delayed allocation\u0027s writepages() function\n\nPrevious delalloc writepages implementation started a new transaction\noutside of a loop which called get_block() to do the block allocation.\nSince we didn\u0027t know exactly how many blocks would need to be allocated,\nthe estimated journal credits required was very conservative and caused\nmany issues.\n\nWith the reworked delayed allocation, a new transaction is created for\neach get_block(), thus we don\u0027t need to guess how many credits for the\nmultiple chunk of allocation.  We start every transaction with enough\ncredits for inserting a single exent.  When estimate the credits for\nindirect blocks to allocate a chunk of blocks, we need to know the\nnumber of data blocks to allocate.  We use the total number of reserved\ndelalloc datablocks; if that is too big, for non-extent files, we need\nto limit the number of blocks to EXT4_MAX_TRANS_BLOCKS.\n\nCode cleanup from Aneesh.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nReviewed-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": "5596b70efa20f53dcf2b8547fb8ffedce187d884",
      "old_mode": 33188,
      "old_path": "fs/ext4/extents.c",
      "new_id": "b24d3c53f20cd20407d5d5373c79b725d308cc45",
      "new_mode": 33188,
      "new_path": "fs/ext4/extents.c"
    },
    {
      "type": "modify",
      "old_id": "8dd22eade42cd356e197887f6fc53a2404e1943d",
      "old_mode": 33188,
      "old_path": "fs/ext4/inode.c",
      "new_id": "d1906d9a22de0b0f7c04deeecc4d7f10ebb72c0a",
      "new_mode": 33188,
      "new_path": "fs/ext4/inode.c"
    }
  ]
}
