)]}'
{
  "commit": "eebd2aa355692afaf9906f62118620f1a1c19dbb",
  "tree": "207eead3a736963c3e50942038c463f2f611ccce",
  "parents": [
    "b98348bdd08dc4ec11828aa98a78edde15c53cfa"
  ],
  "author": {
    "name": "Christoph Lameter",
    "email": "clameter@sgi.com",
    "time": "Mon Feb 04 22:28:29 2008 -0800"
  },
  "committer": {
    "name": "Linus Torvalds",
    "email": "torvalds@woody.linux-foundation.org",
    "time": "Tue Feb 05 09:44:13 2008 -0800"
  },
  "message": "Pagecache zeroing: zero_user_segment, zero_user_segments and zero_user\n\nSimplify page cache zeroing of segments of pages through 3 functions\n\nzero_user_segments(page, start1, end1, start2, end2)\n\n        Zeros two segments of the page. It takes the position where to\n        start and end the zeroing which avoids length calculations and\n\tmakes code clearer.\n\nzero_user_segment(page, start, end)\n\n        Same for a single segment.\n\nzero_user(page, start, length)\n\n        Length variant for the case where we know the length.\n\nWe remove the zero_user_page macro. Issues:\n\n1. Its a macro. Inline functions are preferable.\n\n2. The KM_USER0 macro is only defined for HIGHMEM.\n\n   Having to treat this special case everywhere makes the\n   code needlessly complex. The parameter for zeroing is always\n   KM_USER0 except in one single case that we open code.\n\nAvoiding KM_USER0 makes a lot of code not having to be dealing\nwith the special casing for HIGHMEM anymore. Dealing with\nkmap is only necessary for HIGHMEM configurations. In those\nconfigurations we use KM_USER0 like we do for a series of other\nfunctions defined in highmem.h.\n\nSince KM_USER0 is depends on HIGHMEM the existing zero_user_page\nfunction could not be a macro. zero_user_* functions introduced\nhere can be be inline because that constant is not used when these\nfunctions are called.\n\nAlso extract the flushing of the caches to be outside of the kmap.\n\n[akpm@linux-foundation.org: fix nfs and ntfs build]\n[akpm@linux-foundation.org: fix ntfs build some more]\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nCc: \"J. Bruce Fields\" \u003cbfields@fieldses.org\u003e\nCc: Anton Altaparmakov \u003caia21@cantab.net\u003e\nCc: Mark Fasheh \u003cmark.fasheh@oracle.com\u003e\nCc: David Chinner \u003cdgc@sgi.com\u003e\nCc: Michael Halcrow \u003cmhalcrow@us.ibm.com\u003e\nCc: Steven French \u003csfrench@us.ibm.com\u003e\nCc: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\nCc: Trond Myklebust \u003ctrond.myklebust@fys.uio.no\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n",
  "tree_diff": [
    {
      "type": "modify",
      "old_id": "456c9ab7705b0fce1f7299ee455c26614330fb34",
      "old_mode": 33188,
      "old_path": "fs/buffer.c",
      "new_id": "1de921484eacf96720ae424f02b84b83ff9dc9c5",
      "new_mode": 33188,
      "new_path": "fs/buffer.c"
    },
    {
      "type": "modify",
      "old_id": "d9567ba2960bea58e679bd294ea150a609d537d7",
      "old_mode": 33188,
      "old_path": "fs/cifs/inode.c",
      "new_id": "47f2621001e4e09069c2c390f77fb95a4d3dd15f",
      "new_mode": 33188,
      "new_path": "fs/cifs/inode.c"
    },
    {
      "type": "modify",
      "old_id": "acf0da1bd257158fa79b0ba9f9f34b58a7207562",
      "old_mode": 33188,
      "old_path": "fs/direct-io.c",
      "new_id": "9e81addbd6ea7293ad3d2578d20bfeaf92cf8354",
      "new_mode": 33188,
      "new_path": "fs/direct-io.c"
    },
    {
      "type": "modify",
      "old_id": "32c5711d79a320593e9a536590f3b347905055bd",
      "old_mode": 33188,
      "old_path": "fs/ecryptfs/mmap.c",
      "new_id": "0535412d8c64a7793a64d5896c3c8ff031e5905f",
      "new_mode": 33188,
      "new_path": "fs/ecryptfs/mmap.c"
    },
    {
      "type": "modify",
      "old_id": "9b162cd6c16c170ce7c35c3fc2f993ccc648cbc3",
      "old_mode": 33188,
      "old_path": "fs/ext3/inode.c",
      "new_id": "07753543928865399d1be5bd9d551c52a006369b",
      "new_mode": 33188,
      "new_path": "fs/ext3/inode.c"
    },
    {
      "type": "modify",
      "old_id": "bb717cbb749c822265bccdd8159de7af456ad745",
      "old_mode": 33188,
      "old_path": "fs/ext4/inode.c",
      "new_id": "05c4145dd27d3e03b634d7525aea9fe472012a58",
      "new_mode": 33188,
      "new_path": "fs/ext4/inode.c"
    },
    {
      "type": "modify",
      "old_id": "e4effc47abfc865f82f71b6855f06521253c25b5",
      "old_mode": 33188,
      "old_path": "fs/gfs2/bmap.c",
      "new_id": "e9456ebd3bb619c0dc269331ec793d54e3eee319",
      "new_mode": 33188,
      "new_path": "fs/gfs2/bmap.c"
    },
    {
      "type": "modify",
      "old_id": "38dbe99a30ede1ac388596278ef02ca9e9590bae",
      "old_mode": 33188,
      "old_path": "fs/gfs2/ops_address.c",
      "new_id": "ac772b6d9dbbfa6cde57fb366fdd54e11dd68d5a",
      "new_mode": 33188,
      "new_path": "fs/gfs2/ops_address.c"
    },
    {
      "type": "modify",
      "old_id": "6e68b700958d331e7e0c2446d54b7d9d06b8f3c2",
      "old_mode": 33188,
      "old_path": "fs/libfs.c",
      "new_id": "5523bde963879d6060c9a9d19396e8a8615b40a2",
      "new_mode": 33188,
      "new_path": "fs/libfs.c"
    },
    {
      "type": "modify",
      "old_id": "d54f8f8972242a62e437bc904059773d2c697e6d",
      "old_mode": 33188,
      "old_path": "fs/mpage.c",
      "new_id": "5df564366f36b5ea287245b3b5fd060ab1012f31",
      "new_mode": 33188,
      "new_path": "fs/mpage.c"
    },
    {
      "type": "modify",
      "old_id": "8fd6dfbe1bc3b8c248595a85fc5d3f3b86779ee3",
      "old_mode": 33188,
      "old_path": "fs/nfs/read.c",
      "new_id": "3d7d9631e1254f7ad898863e66519740af1e34e9",
      "new_mode": 33188,
      "new_path": "fs/nfs/read.c"
    },
    {
      "type": "modify",
      "old_id": "522efff3e2c51b67befab23c1b4d6c2673d54aeb",
      "old_mode": 33188,
      "old_path": "fs/nfs/write.c",
      "new_id": "b144b1957dd99f7e011e7f635454f4d9215e4757",
      "new_mode": 33188,
      "new_path": "fs/nfs/write.c"
    },
    {
      "type": "modify",
      "old_id": "ad87cb01299b6d8febb7ae670fddb36ce33cc666",
      "old_mode": 33188,
      "old_path": "fs/ntfs/aops.c",
      "new_id": "00e9ccde8e42b787724bee44aedc432df37e7875",
      "new_mode": 33188,
      "new_path": "fs/ntfs/aops.c"
    },
    {
      "type": "modify",
      "old_id": "d1619d05eb23bce83bea2d9f005e663625fa1f2e",
      "old_mode": 33188,
      "old_path": "fs/ntfs/compress.c",
      "new_id": "33ff314cc5073cf9f88a3623db7129fd4ad4e772",
      "new_mode": 33188,
      "new_path": "fs/ntfs/compress.c"
    },
    {
      "type": "modify",
      "old_id": "6cd08dfdc2ed17afcacb1985e2c444910f18e4dd",
      "old_mode": 33188,
      "old_path": "fs/ntfs/file.c",
      "new_id": "3c5550cd11d67b53a5d3ef6ff49dd6d4312f9d4c",
      "new_mode": 33188,
      "new_path": "fs/ntfs/file.c"
    },
    {
      "type": "modify",
      "old_id": "64713e149e46b3f4f9a6c4b265eb1ddca4ab25a6",
      "old_mode": 33188,
      "old_path": "fs/ocfs2/alloc.c",
      "new_id": "447206eb5c2e85fe1c0a4e1542f3a3083cac0982",
      "new_mode": 33188,
      "new_path": "fs/ocfs2/alloc.c"
    },
    {
      "type": "modify",
      "old_id": "bc7b4cbbe8eca6f418761b64d0ff8f24141242b0",
      "old_mode": 33188,
      "old_path": "fs/ocfs2/aops.c",
      "new_id": "82243127eebf6b81d80acd239609bdc1fd26ae43",
      "new_mode": 33188,
      "new_path": "fs/ocfs2/aops.c"
    },
    {
      "type": "modify",
      "old_id": "231fd5ccadc52040775842b7a8867c18656314b8",
      "old_mode": 33188,
      "old_path": "fs/reiserfs/inode.c",
      "new_id": "195309857e6323048e20b2286952e56b754b5301",
      "new_mode": 33188,
      "new_path": "fs/reiserfs/inode.c"
    },
    {
      "type": "modify",
      "old_id": "d6a8dddb2268bab8a341499d0debadba041f3928",
      "old_mode": 33188,
      "old_path": "fs/xfs/linux-2.6/xfs_lrw.c",
      "new_id": "6f614f35f65015140d2078a92484328d275e94c1",
      "new_mode": 33188,
      "new_path": "fs/xfs/linux-2.6/xfs_lrw.c"
    },
    {
      "type": "modify",
      "old_id": "1fcb0033179ec4e68442a5cc389c8f93a6bcd528",
      "old_mode": 33188,
      "old_path": "include/linux/highmem.h",
      "new_id": "61a5e5eb27f0e794de97a7f94d78b9ff2346dc61",
      "new_mode": 33188,
      "new_path": "include/linux/highmem.h"
    },
    {
      "type": "modify",
      "old_id": "f874ae818ad3812f7cd051972c823c743a154d33",
      "old_mode": 33188,
      "old_path": "mm/filemap_xip.c",
      "new_id": "0420a0292b0306425306b8db141b55b59f1010be",
      "new_mode": 33188,
      "new_path": "mm/filemap_xip.c"
    },
    {
      "type": "modify",
      "old_id": "c3123b08ff6dfcaf75224809e9f704fd552d81fd",
      "old_mode": 33188,
      "old_path": "mm/truncate.c",
      "new_id": "3855492f1c3a4fe654384cbb44d158611eec68ac",
      "new_mode": 33188,
      "new_path": "mm/truncate.c"
    }
  ]
}
