)]}'
{
  "commit": "818d276ceb83aa9fdebb5e0a53188290312de987",
  "tree": "de3fb4ffadd72caea2876c5232ce76cd14b3646e",
  "parents": [
    "8e85fb3f305b24b79c6d9cb7a56d22b062335ad3"
  ],
  "author": {
    "name": "Girish Shilamkar",
    "email": "girish@clusterfs.com",
    "time": "Mon Jan 28 23:58:27 2008 -0500"
  },
  "committer": {
    "name": "Theodore Ts\u0027o",
    "email": "tytso@mit.edu",
    "time": "Mon Jan 28 23:58:27 2008 -0500"
  },
  "message": "ext4: Add the journal checksum feature\n\nThe journal checksum feature adds two new flags i.e\nJBD2_FEATURE_INCOMPAT_ASYNC_COMMIT and JBD2_FEATURE_COMPAT_CHECKSUM.\n\nJBD2_FEATURE_CHECKSUM flag indicates that the commit block contains the\nchecksum for the blocks described by the descriptor blocks.\nDue to checksums, writing of the commit record no longer needs to be\nsynchronous. Now commit record can be sent to disk without waiting for\ndescriptor blocks to be written to disk. This behavior is controlled\nusing JBD2_FEATURE_ASYNC_COMMIT flag. Older kernels/e2fsck should not be\nable to recover the journal with _ASYNC_COMMIT hence it is made\nincompat.\nThe commit header has been extended to hold the checksum along with the\ntype of the checksum.\n\nFor recovery in pass scan checksums are verified to ensure the sanity\nand completeness(in case of _ASYNC_COMMIT) of every transaction.\n\nSigned-off-by: Andreas Dilger \u003cadilger@clusterfs.com\u003e\nSigned-off-by: Girish Shilamkar \u003cgirish@clusterfs.com\u003e\nSigned-off-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "6a4adcae9f9a699d624a0bb114f8e0d5f86161c5",
      "old_mode": 33188,
      "old_path": "Documentation/filesystems/ext4.txt",
      "new_id": "4f329afe20ec33a13d1c4d08a76763e3d9263ab8",
      "new_mode": 33188,
      "new_path": "Documentation/filesystems/ext4.txt"
    },
    {
      "type": "modify",
      "old_id": "9656139d2e990ce8c11e6ed34a2b61182da332ff",
      "old_mode": 33188,
      "old_path": "fs/Kconfig",
      "new_id": "219ec06a8c7e2cd057a28898c4827776a1abf0c3",
      "new_mode": 33188,
      "new_path": "fs/Kconfig"
    },
    {
      "type": "modify",
      "old_id": "c7305443e1004ec154d9c0b733fe94e166187ecf",
      "old_mode": 33188,
      "old_path": "fs/ext4/super.c",
      "new_id": "f7479d30735ecf7761c3e77ac8fbc58909c16a20",
      "new_mode": 33188,
      "new_path": "fs/ext4/super.c"
    },
    {
      "type": "modify",
      "old_id": "8749a86f417546a8c96150b47973788a2034abbf",
      "old_mode": 33188,
      "old_path": "fs/jbd2/commit.c",
      "new_id": "da8d0eb3b7b9c8933091561e7e44852fd814de66",
      "new_mode": 33188,
      "new_path": "fs/jbd2/commit.c"
    },
    {
      "type": "modify",
      "old_id": "3667c91bc786d0922eb720d8b1047dab06d550ab",
      "old_mode": 33188,
      "old_path": "fs/jbd2/journal.c",
      "new_id": "59ba2494dcaf8627b6719c46ffeb18374cd128f7",
      "new_mode": 33188,
      "new_path": "fs/jbd2/journal.c"
    },
    {
      "type": "modify",
      "old_id": "d0ce627539ef11710993c0c4236dc4821e0eacdf",
      "old_mode": 33188,
      "old_path": "fs/jbd2/recovery.c",
      "new_id": "921680663fa2771319837ad1ff24d4c8f9d8c55e",
      "new_mode": 33188,
      "new_path": "fs/jbd2/recovery.c"
    },
    {
      "type": "modify",
      "old_id": "300cc5a5adb95a714fb7dd9a9ec05c5a9beb6d8a",
      "old_mode": 33188,
      "old_path": "include/linux/ext4_fs.h",
      "new_id": "cd406dba0e6408f6e738126213cb67a9537afb61",
      "new_mode": 33188,
      "new_path": "include/linux/ext4_fs.h"
    },
    {
      "type": "modify",
      "old_id": "685640036e81a6ed2a22034dc4c1072ea6da0774",
      "old_mode": 33188,
      "old_path": "include/linux/jbd2.h",
      "new_id": "98a2bc5d3e3f9463f298ff1b78320e28d211d36d",
      "new_mode": 33188,
      "new_path": "include/linux/jbd2.h"
    }
  ]
}
