)]}'
{
  "commit": "e6362609b6c71c5b802026be9cf263bbdd67a50e",
  "tree": "be908b6b0566f70d31378bf11b548a0d59ae0218",
  "parents": [
    "4433871130f36585fde38e7dd817433296648945"
  ],
  "author": {
    "name": "Theodore Ts\u0027o",
    "email": "tytso@mit.edu",
    "time": "Mon Nov 23 07:17:05 2009 -0500"
  },
  "committer": {
    "name": "Theodore Ts\u0027o",
    "email": "tytso@mit.edu",
    "time": "Mon Nov 23 07:17:05 2009 -0500"
  },
  "message": "ext4: call ext4_forget() from ext4_free_blocks()\n\nAdd the facility for ext4_forget() to be called from\next4_free_blocks().  This simplifies the code in a large number of\nplaces, and centralizes most of the work of calling ext4_forget() into\na single place.\n\nAlso fix a bug in the extents migration code; it wasn\u0027t calling\next4_forget() when releasing the indirect blocks during the\nconversion.  As a result, if the system cashed during or shortly after\nthe extents migration, and the released indirect blocks get reused as\ndata blocks, the journal replay would corrupt the data blocks.  With\nthis new patch, fixing this bug was as simple as adding the\nEXT4_FREE_BLOCKS_FORGET flags to the call to ext4_free_blocks().\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: \"Aneesh Kumar K.V\" \u003caneesh.kumar@linux.vnet.ibm.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "210e1b53e91f655e9c0e3f84101aa81ba797e768",
      "old_mode": 33188,
      "old_path": "fs/ext4/ext4.h",
      "new_id": "4cfc2f0edb3fd0ddc1f400670aadde03f435ea82",
      "new_mode": 33188,
      "new_path": "fs/ext4/ext4.h"
    },
    {
      "type": "modify",
      "old_id": "74dcff84c3a8c3c5a9d8488530a56eb5eedbac25",
      "old_mode": 33188,
      "old_path": "fs/ext4/extents.c",
      "new_id": "2c4a9321fb146652d4899d7009c36b5b1da6630c",
      "new_mode": 33188,
      "new_path": "fs/ext4/extents.c"
    },
    {
      "type": "modify",
      "old_id": "72c694323492f9ff867b825318ef6b659742693c",
      "old_mode": 33188,
      "old_path": "fs/ext4/inode.c",
      "new_id": "3b28e1fbfc90ba75ec3b5c36bfba6c12684f912e",
      "new_mode": 33188,
      "new_path": "fs/ext4/inode.c"
    },
    {
      "type": "modify",
      "old_id": "0dca90be1afbb190f554d4349872578abd40eec2",
      "old_mode": 33188,
      "old_path": "fs/ext4/mballoc.c",
      "new_id": "78de5d3c5dcec19b8a4bc1b64615679c2ed6058f",
      "new_mode": 33188,
      "new_path": "fs/ext4/mballoc.c"
    },
    {
      "type": "modify",
      "old_id": "a93d5b80f3e2f02b1c33592cbd1abc93193677a5",
      "old_mode": 33188,
      "old_path": "fs/ext4/migrate.c",
      "new_id": "d641e13e740ef9afb3a59a6470c1c274a26cb2b3",
      "new_mode": 33188,
      "new_path": "fs/ext4/migrate.c"
    },
    {
      "type": "modify",
      "old_id": "025701926f9aed63cee73c530ff718a41bdd3946",
      "old_mode": 33188,
      "old_path": "fs/ext4/xattr.c",
      "new_id": "910bf9a59cb39c6018d7c7f4d31c0bc00ef26749",
      "new_mode": 33188,
      "new_path": "fs/ext4/xattr.c"
    },
    {
      "type": "modify",
      "old_id": "b390e1fc4a7bc7335b8dc0a85ebcb3a4c7927da2",
      "old_mode": 33188,
      "old_path": "include/trace/events/ext4.h",
      "new_id": "74f628bfdd1b72360059faf28f881c79896fe259",
      "new_mode": 33188,
      "new_path": "include/trace/events/ext4.h"
    }
  ]
}
