)]}'
{
  "commit": "1c2bf374a4b8c2e1a3e6ff3a64fb67272a8cd2e2",
  "tree": "abb4e01a4bc146183d5cf1f0e18c1aa6e847aa5e",
  "parents": [
    "cedfb178ada245b6c52a654936b34d7996e26a1d"
  ],
  "author": {
    "name": "Mingming Cao",
    "email": "cmm@us.ibm.com",
    "time": "Sun Jun 25 05:48:06 2006 -0700"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@g5.osdl.org",
    "time": "Sun Jun 25 10:01:10 2006 -0700"
  },
  "message": "[PATCH] ext3_fsblk_t: filesystem, group blocks and bug fixes\n\nSome of the in-kernel ext3 block variable type are treated as signed 4 bytes\nint type, thus limited ext3 filesystem to 8TB (4kblock size based).  While\ntrying to fix them, it seems quite confusing in the ext3 code where some\nblocks are filesystem-wide blocks, some are group relative offsets that need\nto be signed value (as -1 has special meaning).  So it seem saner to define\ntwo types of physical blocks: one is filesystem wide blocks, another is\ngroup-relative blocks.  The following patches clarify these two types of\nblocks in the ext3 code, and fix the type bugs which limit current 32 bit ext3\nfilesystem limit to 8TB.\n\nWith this series of patches and the percpu counter data type changes in the mm\ntree, we are able to extend exts filesystem limit to 16TB.\n\nThis work is also a pre-request for the recent \u003e32 bit ext3 work, and makes\nthe kernel to able to address 48 bit ext3 block a lot easier: Simply redefine\next3_fsblk_t from unsigned long to sector_t and redefine the format string for\next3 filesystem block corresponding.\n\nTwo RFC with a series patches have been posted to ext2-devel list and have\nbeen reviewed and discussed:\nhttp://marc.theaimsgroup.com/?l\u003dext2-devel\u0026m\u003d114722190816690\u0026w\u003d2\n\nhttp://marc.theaimsgroup.com/?l\u003dext2-devel\u0026m\u003d114784919525942\u0026w\u003d2\n\nPatches are tested on both 32 bit machine and 64 bit machine, \u003c8TB ext3 and\n\u003e8TB ext3 filesystem(with the latest to be released e2fsprogs-1.39).  Tests\nincludes overnight fsx, tiobench, dbench and fsstress.\n\nThis patch:\n\nDefines ext3_fsblk_t and ext3_grpblk_t, and the printk format string for\nfilesystem wide blocks.\n\nThis patch classifies all block group relative blocks, and ext3_fsblk_t blocks\noccurs in the same function where used to be confusing before.  Also include\nkernel bug fixes for filesystem wide in-kernel block variables.  There are\nsome fileystem wide blocks are treated as int/unsigned int type in the kernel\ncurrently, especially in ext3 block allocation and reservation code.  This\npatch fixed those bugs by converting those variables to ext3_fsblk_t(unsigned\nlong) type.\n\nSigned-off-by: Mingming Cao \u003ccmm@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@osdl.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@osdl.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "77927d6938f61d369e0f64f4bfec1637d2ebd203",
      "old_mode": 33188,
      "old_path": "fs/ext3/balloc.c",
      "new_id": "b1633cd28ecaafd4c96c16064036b0a68d29b211",
      "new_mode": 33188,
      "new_path": "fs/ext3/balloc.c"
    },
    {
      "type": "modify",
      "old_id": "dc826464f313d884a55276786a0a7aed008fe711",
      "old_mode": 33188,
      "old_path": "fs/ext3/ialloc.c",
      "new_id": "36546ed36a1476df87adf736bcab38a9dbcac822",
      "new_mode": 33188,
      "new_path": "fs/ext3/ialloc.c"
    },
    {
      "type": "modify",
      "old_id": "2edd7eec88fd90295338042bd39dcc525ae78460",
      "old_mode": 33188,
      "old_path": "fs/ext3/inode.c",
      "new_id": "b02bc32c57a4e7a735e33472fb5c220541d334ac",
      "new_mode": 33188,
      "new_path": "fs/ext3/inode.c"
    },
    {
      "type": "modify",
      "old_id": "a31dff81ed779feff2e4ae69f80694cc17bf235c",
      "old_mode": 33188,
      "old_path": "fs/ext3/resize.c",
      "new_id": "82c678e926824ce0a43421b3e8677e11bfb7bebf",
      "new_mode": 33188,
      "new_path": "fs/ext3/resize.c"
    },
    {
      "type": "modify",
      "old_id": "e0fc0c83be90e7b8cb2ef7f130c0f651c84764b3",
      "old_mode": 33188,
      "old_path": "fs/ext3/super.c",
      "new_id": "94113500fc5510e98161e9f012b7445e36cdc723",
      "new_mode": 33188,
      "new_path": "fs/ext3/super.c"
    },
    {
      "type": "modify",
      "old_id": "e8d60bf6b7df7b6bc964eccc2046d72dd5c0064e",
      "old_mode": 33188,
      "old_path": "fs/ext3/xattr.c",
      "new_id": "1ba515de5a7557e2b956917aa1d2e77940fb8f53",
      "new_mode": 33188,
      "new_path": "fs/ext3/xattr.c"
    },
    {
      "type": "modify",
      "old_id": "757d54d8f1a58f3a15c5467df00438b5f9d6e075",
      "old_mode": 33188,
      "old_path": "include/linux/ext3_fs.h",
      "new_id": "34136ff02aca632401b93e8f64e617cabbfbd9fe",
      "new_mode": 33188,
      "new_path": "include/linux/ext3_fs.h"
    },
    {
      "type": "modify",
      "old_id": "7abf9014718023ef8042d78131a2a3fe4c319d25",
      "old_mode": 33188,
      "old_path": "include/linux/ext3_fs_i.h",
      "new_id": "e1c7509c0c9ffdc3af4b6d19a28f067f29337464",
      "new_mode": 33188,
      "new_path": "include/linux/ext3_fs_i.h"
    }
  ]
}
