)]}'
{
  "commit": "e35fd6609b2fee54484d520deccb8f18bf7d38f3",
  "tree": "9b786445602819074f599c282b31bead166e8c03",
  "parents": [
    "8e48dcfbd7c0892b4cfd064d682cc4c95a29df32"
  ],
  "author": {
    "name": "Theodore Ts\u0027o",
    "email": "tytso@mit.edu",
    "time": "Sun May 16 19:00:00 2010 -0400"
  },
  "committer": {
    "name": "Theodore Ts\u0027o",
    "email": "tytso@mit.edu",
    "time": "Sun May 16 19:00:00 2010 -0400"
  },
  "message": "ext4: Add new abstraction ext4_map_blocks() underneath ext4_get_blocks()\n\nJack up ext4_get_blocks() and add a new function, ext4_map_blocks()\nwhich uses a much smaller structure, struct ext4_map_blocks which is\n20 bytes, as opposed to a struct buffer_head, which nearly 5 times\nbigger on an x86_64 machine.  By switching things to use\next4_map_blocks(), we can save stack space by using ext4_map_blocks()\nsince we can avoid allocating a struct buffer_head on the stack.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "d266003cac3e4a4d6cf709d08d228a765810d6d2",
      "old_mode": 33188,
      "old_path": "fs/ext4/ext4.h",
      "new_id": "57fc0e5c091834fa61849bdb7d44417f4b11cf4c",
      "new_mode": 33188,
      "new_path": "fs/ext4/ext4.h"
    },
    {
      "type": "modify",
      "old_id": "8a8f9f0be911b2d5191e928d3a7abe70e3f2f682",
      "old_mode": 33188,
      "old_path": "fs/ext4/extents.c",
      "new_id": "37f9387893440e63ade0d69f397a982a9175f02c",
      "new_mode": 33188,
      "new_path": "fs/ext4/extents.c"
    },
    {
      "type": "modify",
      "old_id": "830336d3911bff0938c6a5163cf5f77d78f2c50a",
      "old_mode": 33188,
      "old_path": "fs/ext4/inode.c",
      "new_id": "ff2f5fd681b585f1f0000e511bff005f14eb4bcb",
      "new_mode": 33188,
      "new_path": "fs/ext4/inode.c"
    }
  ]
}
