)]}'
{
  "log": [
    {
      "commit": "4b48d9d44ebe0e8c31b4fe3b7480941576fff613",
      "tree": "457e0f1214ba44742f63e3cfc472ffbec206d0f3",
      "parents": [
        "b762666cc7c9f83ac5759127c29dfad438c09e48",
        "c071fcfdb60e7abbe95e02460005d6bca165bf24"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 16 09:32:33 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 16 09:32:33 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable:\n  Btrfs: fix ioctl arg size (userland incompatible change!)\n  Btrfs: Clear the device-\u003erunning_pending flag before bailing on congestion\n"
    },
    {
      "commit": "c071fcfdb60e7abbe95e02460005d6bca165bf24",
      "tree": "2f7b32f7a554e03e012586ae429ea3bd2794fcb6",
      "parents": [
        "1d9e2ae949411c2f329f30e01ea0355cd02c4296"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jan 16 11:59:08 2009 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jan 16 11:59:08 2009 -0500"
      },
      "message": "Btrfs: fix ioctl arg size (userland incompatible change!)\n\nThe structure used to send device in btrfs ioctl calls was not\nproperly aligned, and so 32 bit ioctls would not work properly on\n64 bit kernels.\n\nWe could fix this with compat ioctls, but we\u0027re just one byte away\nand it doesn\u0027t make sense at this stage to carry about the compat ioctls\nforever at this stage in the project.\n\nThis patch brings the ioctl arg up to an evenly aligned 4k.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "1d9e2ae949411c2f329f30e01ea0355cd02c4296",
      "tree": "64287747fdbb1641052d8ec146c8997c3797bc48",
      "parents": [
        "e293e97e363e419d8a3628a927321e3f75206a0b"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jan 16 11:58:19 2009 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jan 16 11:58:19 2009 -0500"
      },
      "message": "Btrfs: Clear the device-\u003erunning_pending flag before bailing on congestion\n\nBtrfs maintains a queue of async bio submissions so the checksumming\nthreads don\u0027t have to wait on get_request_wait.  In order to avoid\nextra wakeups, this code has a running_pending flag that is used\nto tell new submissions they don\u0027t need to wake the thread.\n\nWhen the threads notice congestion on a single device, they\nmay decide to requeue the job and move on to other devices.  This\nmakes sure the running_pending flag is cleared before the\njob is requeued.\n\nIt should help avoid IO stalls by making sure the task is woken up\nwhen new submissions come in.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n\n"
    },
    {
      "commit": "6b7021ef7e1a703c7092daeceda063951b22b4f6",
      "tree": "ee2a92121f102bc8e948c17a3fa4a357f6687f2a",
      "parents": [
        "634a84f8d5b74da497688d3346f6809c28239eda"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Thu Jan 15 13:51:29 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 15 16:39:42 2009 -0800"
      },
      "message": "ext2: also update the inode on disk when dir is IS_DIRSYNC\n\nWe used to just write changed page for IS_DIRSYNC inodes.  But we also\nhave to update the directory inode itself just for the case that we\u0027ve\nallocated a new block and changed i_size.\n\n[akpm@linux-foundation.org: still sync the data page]\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nTested-by: Pavel Machek \u003cpavel@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1bcbf31337391a2f54ef6c1e8871c2de5944a7dc",
      "tree": "f027bf7b9e0a96d1df01ecd860699c016a875963",
      "parents": [
        "71038f527f3665f562cf9afe083df729958a099b"
      ],
      "author": {
        "name": "Qinghuang Feng",
        "email": "qhfeng.kernel@gmail.com",
        "time": "Thu Jan 15 13:51:03 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 15 16:39:38 2009 -0800"
      },
      "message": "btrfs \u0026 squashfs: Move btrfs and squashfsto\u0027s magic number to \u003clinux/magic.h\u003e\n\nUse the standard magic.h for btrfs and squashfs.\n\nSigned-off-by: Qinghuang Feng \u003cqhfeng.kernel@gmail.com\u003e\nCc: Phillip Lougher \u003cphillip@lougher.demon.co.uk\u003e\nCc: Chris Mason \u003cchris.mason@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "bca268565fd18f0b36ab8fff6e1623d8dffae2b1",
      "tree": "11abda03d7a7764cfa6a49a6ec2da1576b3058ee",
      "parents": [
        "74d96f018673759d04d032c137d132f6447bfb1e",
        "26689452f5ca201add63b1b1ff0dbcf82d6885e7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 14 19:58:40 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 14 19:58:40 2009 -0800"
      },
      "message": "Merge branch \u0027syscalls\u0027 of git://git390.osdl.marist.edu/pub/scm/linux-2.6\n\n* \u0027syscalls\u0027 of git://git390.osdl.marist.edu/pub/scm/linux-2.6: (44 commits)\n  [CVE-2009-0029] s390 specific system call wrappers\n  [CVE-2009-0029] System call wrappers part 33\n  [CVE-2009-0029] System call wrappers part 32\n  [CVE-2009-0029] System call wrappers part 31\n  [CVE-2009-0029] System call wrappers part 30\n  [CVE-2009-0029] System call wrappers part 29\n  [CVE-2009-0029] System call wrappers part 28\n  [CVE-2009-0029] System call wrappers part 27\n  [CVE-2009-0029] System call wrappers part 26\n  [CVE-2009-0029] System call wrappers part 25\n  [CVE-2009-0029] System call wrappers part 24\n  [CVE-2009-0029] System call wrappers part 23\n  [CVE-2009-0029] System call wrappers part 22\n  [CVE-2009-0029] System call wrappers part 21\n  [CVE-2009-0029] System call wrappers part 20\n  [CVE-2009-0029] System call wrappers part 19\n  [CVE-2009-0029] System call wrappers part 18\n  [CVE-2009-0029] System call wrappers part 17\n  [CVE-2009-0029] System call wrappers part 16\n  [CVE-2009-0029] System call wrappers part 15\n  ...\n"
    },
    {
      "commit": "2b66421995d2e93c9d1a0111acf2581f8529c6e5",
      "tree": "6e22e752ab4e24b9b1c6b1ddfd2b30a3c9e58893",
      "parents": [
        "d4e82042c4cfa87a7d51710b71f568fe80132551"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:35 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:32 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 33\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "d4e82042c4cfa87a7d51710b71f568fe80132551",
      "tree": "202c311b52f4e4db9fbbbd80607744e2aa2e5885",
      "parents": [
        "836f92adf121f806e9beb5b6b88bd5c9c4ea3f24"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:34 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:31 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 32\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "836f92adf121f806e9beb5b6b88bd5c9c4ea3f24",
      "tree": "0deccad6d01b7761a8d96cbc12b8e9541317380e",
      "parents": [
        "6559eed8ca7db0531a207cd80be5e28cd6f213c5"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:33 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:31 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 31\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "6559eed8ca7db0531a207cd80be5e28cd6f213c5",
      "tree": "08d7a42d9eb8e7e9b7aa6930a07f1acecb35a282",
      "parents": [
        "2e4d0924eb0c403ce4014fa139d1d61bf2c44fee"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:32 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:30 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 30\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "2e4d0924eb0c403ce4014fa139d1d61bf2c44fee",
      "tree": "58249b615c3a7a77154d4c9d006ea9acd04bbef9",
      "parents": [
        "938bb9f5e840eddbf54e4f62f6c5ba9b3ae12c9d"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:31 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:30 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 29\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "938bb9f5e840eddbf54e4f62f6c5ba9b3ae12c9d",
      "tree": "a25324159ed8cc96b97a4d39aaf228bbd07e3824",
      "parents": [
        "1e7bfb2134dfec37ce04fb3a4ca89299e892d10c"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:30 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:30 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 28\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "1e7bfb2134dfec37ce04fb3a4ca89299e892d10c",
      "tree": "99c676262e696754dcbfb2d6f59499972cd0c38c",
      "parents": [
        "c4ea37c26a691ad0b7e86aa5884aab27830e95c9"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:29 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:29 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 27\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "5a8a82b1d306a325d899b67715618413657efda4",
      "tree": "ac599eb041a3cdcbbb3ba0a67ff2f14e251371f5",
      "parents": [
        "3e0fa65f8ba4fd24b3dcfaf14d5b15eaab0fdc61"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:25 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:28 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 23\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "20f37034fb966a1c35894f9fe529fda0b6440101",
      "tree": "5394f0a3e4046567fb9b271ee1834aaff09467eb",
      "parents": [
        "3cdad42884bbd95d5aa01297e8236ea1bad70053"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:23 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:26 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 21\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "3cdad42884bbd95d5aa01297e8236ea1bad70053",
      "tree": "169b8958b56d5c39a4f437d041baf0412bb53b96",
      "parents": [
        "003d7ab479168132a2b2c6700fe682b08f08ab0c"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:22 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:26 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 20\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "003d7ab479168132a2b2c6700fe682b08f08ab0c",
      "tree": "e9f51f17949cabab6324ee1415a55e350334c841",
      "parents": [
        "a6b42e83f249aad723589b2bdf6d1dfb2b0997c8"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:21 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:26 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 19\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "ca013e945b1ba5828b151ee646946f1297b67a4c",
      "tree": "d277caa7b4581492ab9c4bb42912de3b3d931f50",
      "parents": [
        "002c8976ee537724b20a5e179d9b349309438836"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:19 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:25 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 17\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "002c8976ee537724b20a5e179d9b349309438836",
      "tree": "272ebe6d0dcb06bb16b978fb9793d266dbc1301a",
      "parents": [
        "a26eab2400f0477bfac0255600552394855016f7"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:18 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:25 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 16\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "a26eab2400f0477bfac0255600552394855016f7",
      "tree": "f5554eddf4928cc83e572c15c0b314daaa7cba66",
      "parents": [
        "3480b25743cb7404928d57efeaa3d085708b04c2"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:17 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:24 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 15\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "3480b25743cb7404928d57efeaa3d085708b04c2",
      "tree": "14d7b42301f2e76cea6772c446f3ee920b29a1b6",
      "parents": [
        "6a6160a7b5c27b3c38651baef92a14fa7072b3c1"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:16 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:24 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 14\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "6a6160a7b5c27b3c38651baef92a14fa7072b3c1",
      "tree": "a4a7640bd12611c445dfc013f69ce307674d1b13",
      "parents": [
        "64fd1de3d821659ac0a3004fd5ee1de59e64af30"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:15 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:23 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 13\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "64fd1de3d821659ac0a3004fd5ee1de59e64af30",
      "tree": "ddabe8c4b4ed99631e3b62ea393d2088a62ccdfe",
      "parents": [
        "257ac264d69017270fbc3cf5536953525db4076c"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:14 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:23 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 12\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "257ac264d69017270fbc3cf5536953525db4076c",
      "tree": "4638386ef7a5ac2b5140b055807e973e52c47f4d",
      "parents": [
        "bdc480e3bef6eb0e7071770834cbdda7e30a5436"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:13 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:23 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 11\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "bdc480e3bef6eb0e7071770834cbdda7e30a5436",
      "tree": "2bfea8d2b61ccedc3edea4f78e3250eea7f770cc",
      "parents": [
        "a5f8fa9e9ba5ef3305e147f41ad6e1e84ac1f0bd"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:12 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:22 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 10\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "a5f8fa9e9ba5ef3305e147f41ad6e1e84ac1f0bd",
      "tree": "a9bedc6890d6379f0839c280a20c5da3bd9f2352",
      "parents": [
        "17da2bd90abf428523de0fb98f7075e00e3ed42e"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:11 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:21 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrappers part 09\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "6673e0c3fbeaed2cd08e2fd4a4aa97382d6fedb0",
      "tree": "eb33a94f5e4b0e035001f7c96ef44cade0fbb489",
      "parents": [
        "ed6bb6194350dc6ae97a65dbf2d621a3dbe6bbe9"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:14:02 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:18 2009 +0100"
      },
      "message": "[CVE-2009-0029] System call wrapper special cases\n\nSystem calls with an unsigned long long argument can\u0027t be converted with\nthe standard wrappers since that would include a cast to long, which in\nturn means that we would lose the upper 32 bit on 32 bit architectures.\nAlso semctl can\u0027t use the standard wrapper since it has a \u0027union\u0027\nparameter.\n\nSo we handle them as special case and add some extra wrappers instead.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "c9da9f2129d6a421c32e334a83770a9e67f7feac",
      "tree": "389d3392e5d0508ce772c30a88006194baa1c5a6",
      "parents": [
        "1134723e96f6e2abcf8bfd7a2d1c96fcc323ef35"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:13:57 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:16 2009 +0100"
      },
      "message": "[CVE-2009-0029] Make sys_pselect7 static\n\nNot a single architecture has wired up sys_pselect7 plus it is the\nonly system call with seven parameters. Just make it static and\nrename it to do_pselect which will do the work for sys_pselect6.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "1134723e96f6e2abcf8bfd7a2d1c96fcc323ef35",
      "tree": "7a056eb6845609e298568190603b71801f7e7e8f",
      "parents": [
        "e55380edf68796d75bf41391a781c68ee678587d"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:13:56 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:15 2009 +0100"
      },
      "message": "[CVE-2009-0029] Remove __attribute__((weak)) from sys_pipe/sys_pipe2\n\nRemove __attribute__((weak)) from common code sys_pipe implemantation.\nIA64, ALPHA, SUPERH (32bit) and SPARC (32bit) have own implemantations\nwith the same name. Just rename them.\nFor sys_pipe2 there is no architecture specific implementation.\n\nCc: Richard Henderson \u003crth@twiddle.net\u003e\nCc: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Tony Luck \u003ctony.luck@intel.com\u003e\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "e55380edf68796d75bf41391a781c68ee678587d",
      "tree": "3f40b4c46c8723bb5bec0e2e009416069a7725fc",
      "parents": [
        "2ed7c03ec17779afb4fcfa3b8c61df61bd4879ba"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:13:55 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:15 2009 +0100"
      },
      "message": "[CVE-2009-0029] Rename old_readdir to sys_old_readdir\n\nThis way it matches the generic system call name convention.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "2ed7c03ec17779afb4fcfa3b8c61df61bd4879ba",
      "tree": "4e0fefd574bab5470a02edf439727f472a9663c6",
      "parents": [
        "4c696ba7982501d43dea11dbbaabd2aa8a19cc42"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:13:54 2009 +0100"
      },
      "committer": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 14 14:15:14 2009 +0100"
      },
      "message": "[CVE-2009-0029] Convert all system calls to return a long\n\nConvert all system calls to return a long. This should be a NOP since all\nconverted types should have the same size anyway.\nWith the exception of sys_exit_group which returned void. But that doesn\u0027t\nmatter since the system call doesn\u0027t return.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\n"
    },
    {
      "commit": "cb7a97d01521797cad9f63e8478403c3e51fea49",
      "tree": "84cddf20369f82f10c1c3712e6cce20dd1b9d863",
      "parents": [
        "0335cb76aa3fa913a2164bc9b669e5aef9d56fa3",
        "a6525042bfdfcab128bd91fad264de10fd24a55e"
      ],
      "author": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Wed Jan 14 16:29:51 2009 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Wed Jan 14 16:29:51 2009 +1100"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6 into for-linus\n"
    },
    {
      "commit": "62568510b8e2679cbc331d7de10ea9ba81ae8b3d",
      "tree": "6a0d4d7b6d50737c1bfcf93a74ad46855c244dc9",
      "parents": [
        "125c97d8a59888c5678734c2b70cbd08c847bd99"
      ],
      "author": {
        "name": "Bernd Schmidt",
        "email": "bernds_cb1@t-online.de",
        "time": "Tue Jan 13 22:14:48 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jan 13 14:45:17 2009 -0800"
      },
      "message": "Fix timeouts in sys_pselect7\n\nSince we (Analog Devices) updated our Blackfin kernel to 2.6.28, we\u0027ve\nseen occasional 5-second hangs from telnet.  telnetd calls select with a\nNULL timeout, but with the new kernel, the system call occasionally\nreturns 0, which causes telnet to call sleep (5).  This did not happen\nwith earlier kernels.\n\nThe code in sys_pselect7 looks a bit strange, in particular the variable\n\"to\" is initialized to NULL, then changed if a non-null timeout was\npassed in, but not used further.  It needs to be passed to\ncore_sys_select instead of \u0026end_time.\n\nThis bug was introduced by 8ff3e8e85fa6c312051134b3953e397feb639f51\n(\"select: switch select() and poll() over to hrtimers\").\n\nSigned-off-by: Bernd Schmidt \u003cbernd.schmidt@analog.com\u003e\nReviewed-by: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nTested-by: Robin Getz \u003crgetz@blackfin.uclinux.org\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c69e8839c230c60d3c5f62c8f88bd23d8d6519ee",
      "tree": "8d4a28c589b8df9020561e19766bb9ba9edfebbf",
      "parents": [
        "3e55f1a292583b11ff85952eec77d65a459da2dd",
        "c7be761a8163d2f1ac0b606c21e4316b7abc5af7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 12 15:54:27 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jan 12 15:54:27 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/teigland/dlm:\n  dlm: change rsbtbl rwlock to spinlock\n  dlm: fix seq_file usage in debugfs lock dump\n"
    },
    {
      "commit": "0176260fc30842e358cf34afa7dcd9413db44822",
      "tree": "c41a99cfbfc904740f81b7b948a05d259ad3aec4",
      "parents": [
        "f4b477c47332367d35686bd2b808c2156b96d7c7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 10 06:09:52 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jan 10 06:09:52 2009 -0800"
      },
      "message": "btrfs: fix for write_super_lockfs/unlockfs error handling\n\nCommit c4be0c1dc4cdc37b175579be1460f15ac6495e9a added the ability for\nwrite_super_lockfs to return errors, and renamed them to match.  But\nbtrfs didn\u0027t get converted.\n\nDo the minimal conversion to make it compile again.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8e961870bb9804110d5c8211d5d9d500451c4518",
      "tree": "a2354082d3a0255f58cd4e097f662b8bdeedd490",
      "parents": [
        "fcccf502540e3d752d33b2d8e976034dee81f9f7"
      ],
      "author": {
        "name": "Takashi Sato",
        "email": "t-sato@yk.jp.nec.com",
        "time": "Fri Jan 09 16:41:00 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 16:54:42 2009 -0800"
      },
      "message": "filesystem freeze: remove XFS specific ioctl interfaces for freeze feature\n\nIt removes XFS specific ioctl interfaces and request codes\nfor freeze feature.\n\nThis patch has been supplied by David Chinner.\n\nSigned-off-by: Dave Chinner \u003cdgc@sgi.com\u003e\nSigned-off-by: Takashi Sato \u003ct-sato@yk.jp.nec.com\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: \u003cxfs-masters@oss.sgi.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nCc: Alasdair G Kergon \u003cagk@redhat.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "fcccf502540e3d752d33b2d8e976034dee81f9f7",
      "tree": "401be4ad2fc3c535a2fc77e413b1be4a736f320c",
      "parents": [
        "c4be0c1dc4cdc37b175579be1460f15ac6495e9a"
      ],
      "author": {
        "name": "Takashi Sato",
        "email": "t-sato@yk.jp.nec.com",
        "time": "Fri Jan 09 16:40:59 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 16:54:42 2009 -0800"
      },
      "message": "filesystem freeze: implement generic freeze feature\n\nThe ioctls for the generic freeze feature are below.\no Freeze the filesystem\n  int ioctl(int fd, int FIFREEZE, arg)\n    fd: The file descriptor of the mountpoint\n    FIFREEZE: request code for the freeze\n    arg: Ignored\n    Return value: 0 if the operation succeeds. Otherwise, -1\n\no Unfreeze the filesystem\n  int ioctl(int fd, int FITHAW, arg)\n    fd: The file descriptor of the mountpoint\n    FITHAW: request code for unfreeze\n    arg: Ignored\n    Return value: 0 if the operation succeeds. Otherwise, -1\n    Error number: If the filesystem has already been unfrozen,\n                  errno is set to EINVAL.\n\n[akpm@linux-foundation.org: fix CONFIG_BLOCK\u003dn]\nSigned-off-by: Takashi Sato \u003ct-sato@yk.jp.nec.com\u003e\nSigned-off-by: Masayuki Hamaguchi \u003cm-hamaguchi@ys.jp.nec.com\u003e\nCc: \u003cxfs-masters@oss.sgi.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Alasdair G Kergon \u003cagk@redhat.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c4be0c1dc4cdc37b175579be1460f15ac6495e9a",
      "tree": "716ea88318211ed27cadcebda0fd85c1f8246edb",
      "parents": [
        "69347a236b22c3962ea812511495e502dedfd50c"
      ],
      "author": {
        "name": "Takashi Sato",
        "email": "t-sato@yk.jp.nec.com",
        "time": "Fri Jan 09 16:40:58 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 16:54:42 2009 -0800"
      },
      "message": "filesystem freeze: add error handling of write_super_lockfs/unlockfs\n\nCurrently, ext3 in mainline Linux doesn\u0027t have the freeze feature which\nsuspends write requests.  So, we cannot take a backup which keeps the\nfilesystem\u0027s consistency with the storage device\u0027s features (snapshot and\nreplication) while it is mounted.\n\nIn many case, a commercial filesystem (e.g.  VxFS) has the freeze feature\nand it would be used to get the consistent backup.\n\nIf Linux\u0027s standard filesystem ext3 has the freeze feature, we can do it\nwithout a commercial filesystem.\n\nSo I have implemented the ioctls of the freeze feature.\nI think we can take the consistent backup with the following steps.\n1. Freeze the filesystem with the freeze ioctl.\n2. Separate the replication volume or create the snapshot\n   with the storage device\u0027s feature.\n3. Unfreeze the filesystem with the unfreeze ioctl.\n4. Take the backup from the separated replication volume\n   or the snapshot.\n\nThis patch:\n\nVFS:\nChanged the type of write_super_lockfs and unlockfs from \"void\"\nto \"int\" so that they can return an error.\nRename write_super_lockfs and unlockfs of the super block operation\nfreeze_fs and unfreeze_fs to avoid a confusion.\n\next3, ext4, xfs, gfs2, jfs:\nChanged the type of write_super_lockfs and unlockfs from \"void\"\nto \"int\" so that write_super_lockfs returns an error if needed,\nand unlockfs always returns 0.\n\nreiserfs:\nChanged the type of write_super_lockfs and unlockfs from \"void\"\nto \"int\" so that they always return 0 (success) to keep a current behavior.\n\nSigned-off-by: Takashi Sato \u003ct-sato@yk.jp.nec.com\u003e\nSigned-off-by: Masayuki Hamaguchi \u003cm-hamaguchi@ys.jp.nec.com\u003e\nCc: \u003cxfs-masters@oss.sgi.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nCc: Christoph Hellwig \u003chch@lst.de\u003e\nCc: Dave Kleikamp \u003cshaggy@austin.ibm.com\u003e\nCc: Dave Chinner \u003cdavid@fromorbit.com\u003e\nCc: Alasdair G Kergon \u003cagk@redhat.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2d96d1053d97cf0db832c4545bfb02a337043e09",
      "tree": "33196ac26f86b5297f474293a78400adaa2b39cb",
      "parents": [
        "9a100a4464917b5ffff3a8ce1c2758088fd9bb32"
      ],
      "author": {
        "name": "David Brownell",
        "email": "dbrownell@users.sourceforge.net",
        "time": "Fri Jan 09 16:40:52 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 16:54:41 2009 -0800"
      },
      "message": "CORE_DUMP_DEFAULT_ELF_HEADERS depends on ELF_CORE\n\nKernels that don\u0027t support ELF coredumps at all surely can\u0027t be supporting\nnew partial-segment flavored ELF coredumps ...  don\u0027t make folk answer\nKconfig questions about that flavor.\n\nSigned-off-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9a100a4464917b5ffff3a8ce1c2758088fd9bb32",
      "tree": "2c0e42dd23907dbdff147fa0097ccc2ef7be9ae1",
      "parents": [
        "0d34052dfeba307ebc18d2f672e80e3f419714d4",
        "cdb80f630be5cbc23d82331f24dc4704f75b64f4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 15:32:26 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 15:32:26 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-async-2\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-async-2:\n  async: make async a command line option for now\n  partial revert of asynchronous inode delete\n"
    },
    {
      "commit": "32b838b8cfa269d688889b3213e7ee37ee901f72",
      "tree": "ccb287245ff7e90ee728b01643d563b95af05288",
      "parents": [
        "2fb585a10e421b4eeae066eb99080bd7e4512079",
        "ab5610b434645518aca6e4de5ad851f9fef006f3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 15:29:04 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 15:29:04 2009 -0800"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6:\n  [JFFS2] remove junk prototypes\n"
    },
    {
      "commit": "31aeb6c815549948571eec988ad9728c27d7a68d",
      "tree": "e155438be253924ebb1b792182e406947369b3eb",
      "parents": [
        "c40f6f8bbc4cbd2902671aacd587400ddca62627",
        "fc55584175589b70f4c30cb594f09f4bd6ad5d40"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 15:18:49 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 15:18:49 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/pkl/squashfs-linus:\n  MAINTAINERS: squashfs entry\n  Squashfs: documentation\n  Squashfs: initrd support\n  Squashfs: Kconfig entry\n  Squashfs: Makefiles\n  Squashfs: header files\n  Squashfs: block operations\n  Squashfs: cache operations\n  Squashfs: uid/gid lookup operations\n  Squashfs: fragment block operations\n  Squashfs: export operations\n  Squashfs: super block operations\n  Squashfs: symlink operations\n  Squashfs: regular file operations\n  Squashfs: directory readdir operations\n  Squashfs: directory lookup operations\n  Squashfs: inode operations\n"
    },
    {
      "commit": "c40f6f8bbc4cbd2902671aacd587400ddca62627",
      "tree": "a991e5521e10943f4457fb7f494e00aec75cc7df",
      "parents": [
        "1a7d0f0bec4be078ce2cfb11538c0f4ffbbed8e5",
        "cb6ff208076b5f434db1b8c983429269d719cef5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 14:00:58 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 14:00:58 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-2.6-nommu\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/dhowells/linux-2.6-nommu:\n  NOMMU: Support XIP on initramfs\n  NOMMU: Teach kobjsize() about VMA regions.\n  FLAT: Don\u0027t attempt to expand the userspace stack to fill the space allocated\n  FDPIC: Don\u0027t attempt to expand the userspace stack to fill the space allocated\n  NOMMU: Improve procfs output using per-MM VMAs\n  NOMMU: Make mmap allocation page trimming behaviour configurable.\n  NOMMU: Make VMAs per MM as for MMU-mode linux\n  NOMMU: Delete askedalloc and realalloc variables\n  NOMMU: Rename ARM\u0027s struct vm_region\n  NOMMU: Fix cleanup handling in ramfs_nommu_get_umapped_area()\n"
    },
    {
      "commit": "b32714ba29358a688ef337d5297bf4bdc9f596dc",
      "tree": "7f7e7bbb7e7db106c012772e3c95d427b55d6a4b",
      "parents": [
        "7c51d57e9d7fbce89f79c41dc8da383101dbe9c6"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Jan 09 07:04:15 2009 -0800"
      },
      "committer": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Fri Jan 09 13:15:49 2009 -0800"
      },
      "message": "partial revert of asynchronous inode delete\n\nlet the core of this one bake in -next as well, but leave\nsome of the infrastructure in place.\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\n"
    },
    {
      "commit": "ab5610b434645518aca6e4de5ad851f9fef006f3",
      "tree": "a4daa31cc9b9a55a4cf687a37ba523fd28582655",
      "parents": [
        "7c51d57e9d7fbce89f79c41dc8da383101dbe9c6"
      ],
      "author": {
        "name": "Artem Bityutskiy",
        "email": "Artem.Bityutskiy@nokia.com",
        "time": "Thu Jan 08 19:38:07 2009 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Fri Jan 09 21:05:21 2009 +0000"
      },
      "message": "[JFFS2] remove junk prototypes\n\n\u0027rb_prev()\u0027, \u0027rb_next()\u0027 and \u0027rb_replace_node()\u0027 are declared in\ninclude/linux/rbtree.h, no need for JFFS2 to re-declare them. I\nbelieve these are left-overs from the old days when the common\nRB tree code did not have those call and JFFS2 had private\nimplementation.\n\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "73d59314e6ed268d6f322ae1bdd723b23fa5a4ed",
      "tree": "ec7159b13dfd57739ed840e88a436d8d6f4eee5f",
      "parents": [
        "6ddaab20c32af03d68de00e7c97ae8d9820e4dab",
        "e293e97e363e419d8a3628a927321e3f75206a0b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 13:01:38 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 13:01:38 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/mason/btrfs-unstable: (864 commits)\n  Btrfs: explicitly mark the tree log root for writeback\n  Btrfs: Drop the hardware crc32c asm code\n  Btrfs: Add Documentation/filesystem/btrfs.txt, remove old COPYING\n  Btrfs: kmap_atomic(KM_USER0) is safe for btrfs_readpage_end_io_hook\n  Btrfs: Don\u0027t use kmap_atomic(..., KM_IRQ0) during checksum verifies\n  Btrfs: tree logging checksum fixes\n  Btrfs: don\u0027t change file extent\u0027s ram_bytes in btrfs_drop_extents\n  Btrfs: Use btrfs_join_transaction to avoid deadlocks during snapshot creation\n  Btrfs: drop remaining LINUX_KERNEL_VERSION checks and compat code\n  Btrfs: drop EXPORT symbols from extent_io.c\n  Btrfs: Fix checkpatch.pl warnings\n  Btrfs: Fix free block discard calls down to the block layer\n  Btrfs: avoid orphan inode caused by log replay\n  Btrfs: avoid potential super block corruption\n  Btrfs: do not call kfree if kmalloc failed in btrfs_sysfs_add_super\n  Btrfs: fix a memory leak in btrfs_get_sb\n  Btrfs: Fix typo in clear_state_cb\n  Btrfs: Fix memset length in btrfs_file_write\n  Btrfs: update directory\u0027s size when creating subvol/snapshot\n  Btrfs: add permission checks to the ioctls\n  ...\n"
    },
    {
      "commit": "6ddaab20c32af03d68de00e7c97ae8d9820e4dab",
      "tree": "3098699e4ec12f4b35dc34c488f799485452beb8",
      "parents": [
        "c4295fbb6048d85f0b41c5ced5cbf63f6811c46c",
        "54b0d127696aba2ef1ec5430301c968ab539fa0d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 12:57:34 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 12:57:34 2009 -0800"
      },
      "message": "Merge branch \u0027for-2.6.29\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.29\u0027 of git://git.kernel.dk/linux-2.6-block:\n  block: fix bug in ptbl lookup cache\n"
    },
    {
      "commit": "54b0d127696aba2ef1ec5430301c968ab539fa0d",
      "tree": "be6d3ddccce6a17a053ea6e286bf2822bc6ee912",
      "parents": [
        "2150edc6c5cf00f7adb54538b9ea2a3e9cedca3f"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Wed Jan 07 08:55:39 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jan 09 21:46:13 2009 +0100"
      },
      "message": "block: fix bug in ptbl lookup cache\n\nNeil writes:\n\n   Hi Jens,\n\n    I\u0027ve found a little bug for you.  It was introduced by\n        a6f23657d3072bde6844055bbc2290e497f33fbc\n\n        block: add one-hit cache for disk partition lookup\n\n    and has the effect of killing my machine whenever I try to assemble\n    an md array :-(\n    One of the devices in the array has partitions, and mdadm always\n    deletes partitions before putting a whole-device in an array (as it\n    can cause confusion).  The next IO to that device locks the machine.\n    I don\u0027t really understand exactly why it locks up, but it happens in\n    disk_map_sector_rcu().  This patch fixes it.\n\nWhich is due to a missing clear of the (now) stale partition lookup\ndata. So clear that when we delete a partition.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "7c51d57e9d7fbce89f79c41dc8da383101dbe9c6",
      "tree": "9f45a5ac5ce627b4c6138595b23ae7f02e1ee7fb",
      "parents": [
        "a3a798c88a14b35e5d4ca30716dbc9eb9a1ddfe2",
        "85795dac740e63e81aeec8d49aada54ab07656b5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 12:36:45 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jan 09 12:37:15 2009 -0800"
      },
      "message": "Merge git://git.infradead.org/mtd-2.6\n\n* git://git.infradead.org/mtd-2.6: (67 commits)\n  [MTD] [MAPS] Fix printk format warning in nettel.c\n  [MTD] [NAND] add cmdline parsing (mtdparts\u003d) support to cafe_nand\n  [MTD] CFI: remove major/minor version check for command set 0x0002\n  [MTD] [NAND] ndfc driver\n  [MTD] [TESTS] Fix some size_t printk format warnings\n  [MTD] LPDDR Makefile and KConfig\n  [MTD] LPDDR extended physmap driver to support LPDDR flash\n  [MTD] LPDDR added new pfow_base parameter\n  [MTD] LPDDR Command set driver\n  [MTD] LPDDR PFOW definition\n  [MTD] LPDDR QINFO records definitions\n  [MTD] LPDDR qinfo probing.\n  [MTD] [NAND] pxa3xx: convert from ns to clock ticks more accurately\n  [MTD] [NAND] pxa3xx: fix non-page-aligned reads\n  [MTD] [NAND] fix nandsim sched.h references\n  [MTD] [NAND] alauda: use USB API functions rather than constants\n  [MTD] struct device - replace bus_id with dev_name(), dev_set_name()\n  [MTD] fix m25p80 64-bit divisions\n  [MTD] fix dataflash 64-bit divisions\n  [MTD] [NAND] Set the fsl elbc ECCM according the settings in bootloader.\n  ...\n\nFixed up trivial debug conflicts in drivers/mtd/devices/{m25p80.c,mtd_dataflash.c}\n"
    },
    {
      "commit": "e293e97e363e419d8a3628a927321e3f75206a0b",
      "tree": "067fb82bb4cabba35429b28c9e43f9614aea6274",
      "parents": [
        "755efdc3c4d3b42d5ffcef0f4d6e5b37ecd3bf21"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jan 09 13:14:17 2009 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Fri Jan 09 13:14:17 2009 -0500"
      },
      "message": "Btrfs: explicitly mark the tree log root for writeback\n\nEach subvolume has an extent_state_tree used to mark metadata\nthat needs to be sent to disk while syncing the tree.  This is\nused in addition to the dirty bits on the pages themselves so that\na single subvolume can be sent to disk efficiently in disk order.\n\nNormally this marking happens in btrfs_alloc_free_block, which also does\nspecial recording of dirty tree blocks for the tree log roots.\n\nYan Zheng noticed that when the root of the log tree is allocated, it is added\nto the wrong writeback list.  The fix used here is to explicitly set\nit dirty as part of tree log creation.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n\n"
    },
    {
      "commit": "0087167c9d5b1273e7e6bbe39a9ab13bdb9a39bb",
      "tree": "d91aa240f9e83b23b77c44d82fe976168ad882e5",
      "parents": [
        "958f8c0e4fc311e23a40635a530c01aec366a6e8"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Jan 06 14:43:09 2009 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Jan 09 17:09:47 2009 +1100"
      },
      "message": "[XFS] use scalable vmap API\n\nImplement XFS\u0027s large buffer support with the new vmap APIs. See the vmap\nrewrite (db64fe02) for some numbers. The biggest improvement that comes from\nusing the new APIs is avoiding the global KVA allocation lock on every call.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nReviewed-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "958f8c0e4fc311e23a40635a530c01aec366a6e8",
      "tree": "bc497954825bc438b3765e641e62c3e1740ed8a8",
      "parents": [
        "058652a37dd9eac18d6b8c1a311137c679de9dae"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Tue Jan 06 14:40:44 2009 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Jan 09 17:09:25 2009 +1100"
      },
      "message": "[XFS] remove old vmap cache\n\nXFS\u0027s vmap batching simply defers a number (up to 64) of vunmaps, and keeps\ntrack of them in a list. To purge the batch, it just goes through the list and\ncalls vunamp on each one. This is pretty poor: a global TLB flush is generally\nstill performed on each vunmap, with the most expensive parts of the operation\nbeing the broadcast IPIs and locking involved in the SMP callouts, and the\nlocking involved in the vmap management -- none of these are avoided by just\nbatching up the calls. I\u0027m actually surprised it ever made much difference.\n(Now that the lazy vmap allocator is upstream, this description is not quite\nright, but the vunmap batching still doesn\u0027t seem to do much)\n\nRip all this logic out of XFS completely. I will improve vmap performance\nand scalability directly in subsequent patch.\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nReviewed-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "058652a37dd9eac18d6b8c1a311137c679de9dae",
      "tree": "4b9cba6d274980af4ae4a124af8b084bb8ec5572",
      "parents": [
        "15440319767942a363f282d6585303d3d75088ba"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Jan 08 13:42:25 2009 -0500"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Jan 09 16:19:14 2009 +1100"
      },
      "message": "[XFS] make xfs_ino_t an unsigned long long\n\nCurrently xfs_ino_t is defined as a u64 which can either be an unsigned\nlong long or on some 64 bit platforms and unsigned long.  Just making\nit and unsigned long long mean\u0027s it\u0027s still always 64 bits wide, but we\ndon\u0027t need to resort to cases to print it.\n\nFixes a warning regression on 64 bit powerpc in current git.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "15440319767942a363f282d6585303d3d75088ba",
      "tree": "9b7e64cba3989d78561b5c4e37544790f8cf5ba5",
      "parents": [
        "e6edbd1c1cbef278d58cdd8b046599ba8ac90cfc"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Jan 08 14:00:00 2009 -0500"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Jan 09 16:18:24 2009 +1100"
      },
      "message": "[XFS] truncate readdir offsets to signed 32 bit values\n\nJohn Stanley reported EOVERFLOW errors in readdir from his self-build\nglibc.  I traced this down to glibc enabling d_off overflow checks\nin one of the about five million different getdents implementations.\n\nIn 2.6.28 Dave Woodhouse moved our readdir double buffering required\nfor NFS4 readdirplus into nfsd and at that point we lost the capping\nof the directory offsets to 32 bit signed values.  Johns glibc used\ngetdents64 to even implement readdir for normal 32 bit offset dirents,\nand failed with EOVERFLOW only if this happens on the first dirent in\na getdents call.  I managed to come up with a testcase that uses\nraw getdents and does the EOVERFLOW check manually.  We always hit\nit with our last entry due to the special end of directory marker.\n\nThe patch below is a dumb version of just putting back the masking,\nto make sure we have the same behavior as in 2.6.27 and earlier.\n\nI will work on a better and cleaner fix for 2.6.30.\n\nReported-by: John Stanley \u003cjpsinthemix@verizon.net\u003e\nTested-by: John Stanley \u003cjpsinthemix@verizon.net\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "e6edbd1c1cbef278d58cdd8b046599ba8ac90cfc",
      "tree": "daa5fbe9e31d532d917979de603f9e3898291fea",
      "parents": [
        "fb82557f16f3700ae4961a4ce599bdaff6a10b1c"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Jan 08 13:42:23 2009 -0500"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Jan 09 16:16:51 2009 +1100"
      },
      "message": "[XFS] fix compile of xfs_btree_readahead_lblock on m68k\n\nChange the left/right variables to the proper always 64bit xfs_dfsbo_t\ntype because otherwise compilation fails for Geert on m68k without\nCONFIG_LBD:\n\n| fs/xfs/xfs_btree.c: In function \u0027xfs_btree_readahead_lblock\u0027:\n| fs/xfs/xfs_btree.c:736: warning: comparison is always true due to limited range of data type\n| fs/xfs/xfs_btree.c:741: warning: comparison is always true due to limited range of data type\n\nReported-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Dave Chinner \u003cdavid@fromorbit.com\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "fb82557f16f3700ae4961a4ce599bdaff6a10b1c",
      "tree": "afe34477e8676bfbf02593f3144e2cf39f756173",
      "parents": [
        "c9fb86a917640d66ba2e0613a12f3a76eda8a30f"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Fri Jan 09 15:53:54 2009 +1100"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Jan 09 15:53:54 2009 +1100"
      },
      "message": "[XFS] Remove macro-to-function indirections in the mask code\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReviewed-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "c9fb86a917640d66ba2e0613a12f3a76eda8a30f",
      "tree": "4fcea0b84b1d5f9ca6e3974c7dd3228e0c71eb63",
      "parents": [
        "9800b550355e99c9bcaba7ec6540751dce0823d7"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Thu Jan 01 16:40:11 2009 -0600"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Jan 09 15:46:44 2009 +1100"
      },
      "message": "[XFS] Remove macro-to-function indirections in attr code\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReviewed-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "9800b550355e99c9bcaba7ec6540751dce0823d7",
      "tree": "2002aefbe3b9816b151a505555c2787263cf1ad0",
      "parents": [
        "c9a98553d513dfc82cdce869970d5662c1f22c68"
      ],
      "author": {
        "name": "Eric Sandeen",
        "email": "sandeen@sandeen.net",
        "time": "Thu Jan 01 16:40:10 2009 -0600"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Jan 09 15:46:16 2009 +1100"
      },
      "message": "[XFS] Remove several unused typedefs.\n\nSigned-off-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nReviewed-by: Christoph Hellwig \u003chch@infradead.org\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "c9a98553d513dfc82cdce869970d5662c1f22c68",
      "tree": "d68cc98fa807d9f9719cb04307739ab9f9d9b9b5",
      "parents": [
        "9e42d0cf5020aaf217433cad1a224745241d212a"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@infradead.org",
        "time": "Thu Jan 01 14:21:16 2009 -0500"
      },
      "committer": {
        "name": "Lachlan McIlroy",
        "email": "lachlan@redback.melbourne.sgi.com",
        "time": "Fri Jan 09 15:17:17 2009 +1100"
      },
      "message": "[XFS] pass XFS_IGET_BULKSTAT to xfs_iget for handle operations\n\nNFS clients or users of the handle ioctls can pass us arbitrary inode\nnumbers through the exportfs interface.  Make sure we use the\nXFS_IGET_BULKSTAT so that these don\u0027t cause shutdowns due to the corruption\nchecks.  Also translate the EINVAL we get back for invalid inode clusters\ninto an ESTALE which is more appropinquate, and remove the useless check\nfor a NULL inode on a successfull xfs_iget return.\n\nI have a testcase to reproduce this using the handle interface which\nI will submit to xfsqa.\n\nReported-by: Mario Becroft \u003cmb@gem.win.co.nz\u003e\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nReviewed-by: Eric Sandeen \u003csandeen@sandeen.net\u003e\nSigned-off-by: Lachlan McIlroy \u003clachlan@sgi.com\u003e\n"
    },
    {
      "commit": "2150edc6c5cf00f7adb54538b9ea2a3e9cedca3f",
      "tree": "f72a0d85e66f500b4cead348a231e3d3b9f357bc",
      "parents": [
        "cd764695b67386a81964f68e9c66efd9f13f4d29",
        "4b905671d2ea09fd48fed72c581df17e40823f39"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 17:14:59 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 17:14:59 2009 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (57 commits)\n  jbd2: Fix oops in jbd2_journal_init_inode() on corrupted fs\n  ext4: Remove \"extents\" mount option\n  block: Add Kconfig help which notes that ext4 needs CONFIG_LBD\n  ext4: Make printk\u0027s consistently prefixed with \"EXT4-fs: \"\n  ext4: Add sanity checks for the superblock before mounting the filesystem\n  ext4: Add mount option to set kjournald\u0027s I/O priority\n  jbd2: Submit writes to the journal using WRITE_SYNC\n  jbd2: Add pid and journal device name to the \"kjournald2 starting\" message\n  ext4: Add markers for better debuggability\n  ext4: Remove code to create the journal inode\n  ext4: provide function to release metadata pages under memory pressure\n  ext3: provide function to release metadata pages under memory pressure\n  add releasepage hooks to block devices which can be used by file systems\n  ext4: Fix s_dirty_blocks_counter if block allocation failed with nodelalloc\n  ext4: Init the complete page while building buddy cache\n  ext4: Don\u0027t allow new groups to be added during block allocation\n  ext4: mark the blocks/inode bitmap beyond end of group as used\n  ext4: Use new buffer_head flag to check uninit group bitmaps initialization\n  ext4: Fix the race between read_inode_bitmap() and ext4_new_inode()\n  ext4: code cleanup\n  ...\n"
    },
    {
      "commit": "cd764695b67386a81964f68e9c66efd9f13f4d29",
      "tree": "504e961ab6bad164c41f4b9c1ff00c0ce7f645ee",
      "parents": [
        "97d61b8e3aef163a75f80f4762794c154572293d",
        "ffda8c7dc492e2170bb263f7c56f286992ceb54b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 16:27:31 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 16:27:31 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (45 commits)\n  [SCSI] qla2xxx: Update version number to 8.03.00-k1.\n  [SCSI] qla2xxx: Add ISP81XX support.\n  [SCSI] qla2xxx: Use proper request/response queues with MQ instantiations.\n  [SCSI] qla2xxx: Correct MQ-chain information retrieval during a firmware dump.\n  [SCSI] qla2xxx: Collapse EFT/FCE copy procedures during a firmware dump.\n  [SCSI] qla2xxx: Don\u0027t pollute kernel logs with ZIO/RIO status messages.\n  [SCSI] qla2xxx: Don\u0027t fallback to interrupt-polling during re-initialization with MSI-X enabled.\n  [SCSI] qla2xxx: Remove support for reading/writing HW-event-log.\n  [SCSI] cxgb3i: add missing include\n  [SCSI] scsi_lib: fix DID_RESET status problems\n  [SCSI] fc transport: restore missing dev_loss_tmo callback to LLDD\n  [SCSI] aha152x_cs: Fix regression that keeps driver from using shared interrupts\n  [SCSI] sd: Correctly handle 6-byte commands with DIX\n  [SCSI] sd: DIF: Fix tagging on platforms with signed char\n  [SCSI] sd: DIF: Show app tag on error\n  [SCSI] Fix error handling for DIF/DIX\n  [SCSI] scsi_lib: don\u0027t decrement busy counters when inserting commands\n  [SCSI] libsas: fix test for negative unsigned and typos\n  [SCSI] a2091, gvp11: kill warn_unused_result warnings\n  [SCSI] fusion: Move a dereference below a NULL test\n  ...\n\nFixed up trivial conflict due to moving the async part of sd_probe\naround in the async probes vs using dev_set_name() in naming.\n"
    },
    {
      "commit": "894bcdfb1a40a7c5032242c380b956aab106e05d",
      "tree": "cb5d34da6a7f524bb3188be539422896f2427405",
      "parents": [
        "a419df8a0ff01b6694cebc8885778f854165d17d",
        "4044ba58dd15cb01797c4fd034f39ef4a75f7cc3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 14:03:34 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 14:03:34 2009 -0800"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://neil.brown.name/md\n\n* \u0027for-linus\u0027 of git://neil.brown.name/md:\n  md: don\u0027t retry recovery of raid1 that fails due to error on source drive.\n  md: Allow md devices to be created by name.\n  md: make devices disappear when they are no longer needed.\n  md: centralise all freeing of an \u0027mddev\u0027 in \u0027md_free\u0027\n  md: move allocation of -\u003equeue from mddev_find to md_probe\n  md: need another print_sb for mdp_superblock_1\n  md: use list_for_each_entry macro directly\n  md: raid0: make hash_spacing and preshift sector-based.\n  md: raid0: Represent the size of strip zones in sectors.\n  md: raid0 create_strip_zones(): Add KERN_INFO/KERN_ERR to printk\u0027s.\n  md: raid0 create_strip_zones(): Make two local variables sector-based.\n  md: raid0: Represent zone-\u003ezone_offset in sectors.\n  md: raid0: Represent device offset in sectors.\n  md: raid0_make_request(): Replace local variable block by sector.\n  md: raid0_make_request(): Remove local variable chunk_size.\n  md: raid0_make_request(): Replace chunksize_bits by chunksect_bits.\n  md: use sysfs_notify_dirent to notify changes to md/sync_action.\n  md: fix bitmap-on-external-file bug.\n"
    },
    {
      "commit": "d3374825ce57ba2214d375023979f6197ccc1385",
      "tree": "441ea927a7c702e4eadeafbac8be97d664bfb83b",
      "parents": [
        "a21d15042d8cd736caf82c2bac564f3f93f3d017"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 09 08:31:10 2009 +1100"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Fri Jan 09 08:31:10 2009 +1100"
      },
      "message": "md: make devices disappear when they are no longer needed.\n\nCurrently md devices, once created, never disappear until the module\nis unloaded.  This is essentially because the gendisk holds a\nreference to the mddev, and the mddev holds a reference to the\ngendisk, this a circular reference.\n\nIf we drop the reference from mddev to gendisk, then we need to ensure\nthat the mddev is destroyed when the gendisk is destroyed.  However it\nis not possible to hook into the gendisk destruction process to enable\nthis.\n\nSo we drop the reference from the gendisk to the mddev and destroy the\ngendisk when the mddev gets destroyed.  However this has a\ncomplication.\nBetween the call\n   __blkdev_get-\u003eget_gendisk-\u003ekobj_lookup-\u003emd_probe\nand the call\n   __blkdev_get-\u003emd_open\n\nthere is no obvious way to hold a reference on the mddev any more, so\nunless something is done, it will disappear and gendisk will be\ndestroyed prematurely.\n\nAlso, once we decide to destroy the mddev, there will be an unlockable\nmoment before the gendisk is unlinked (blk_unregister_region) during\nwhich a new reference to the gendisk can be created.  We need to\nensure that this reference can not be used.  i.e. the -\u003eopen must\nfail.\n\nSo:\n 1/  in md_probe we set a flag in the mddev (hold_active) which\n     indicates that the array should be treated as active, even\n     though there are no references, and no appearance of activity.\n     This is cleared by md_release when the device is closed if it\n     is no longer needed.\n     This ensures that the gendisk will survive between md_probe and\n     md_open.\n\n 2/  In md_open we check if the mddev we expect to open matches\n     the gendisk that we did open.\n     If there is a mismatch we return -ERESTARTSYS and modify\n     __blkdev_get to retry from the top in that case.\n     In the -ERESTARTSYS sys case we make sure to wait until\n     the old gendisk (that we succeeded in opening) is really gone so\n     we loop at most once.\n\nSome udev configurations will always open an md device when it first\nappears.   If we allow an md device that was just created by an open\nto disappear on an immediate close, then this can race with such udev\nconfigurations and result in an infinite loop the device being opened\nand closed, then re-open due to the \u0027ADD\u0027 even from the first open,\nand then close and so on.\nSo we make sure an md device, once created by an open, remains active\nat least until some md \u0027ioctl\u0027 has been made on it.  This means that\nall normal usage of md devices will allow them to disappear promptly\nwhen not needed, but the worst that an incorrect usage will do it\ncause an inactive md device to be left in existence (it can easily be\nremoved).\n\nAs an array can be stopped by writing to a sysfs attribute\n  echo clear \u003e /sys/block/mdXXX/md/array_state\nwe need to use scheduled work for deleting the gendisk and other\nkobjects.  This allows us to wait for any pending gendisk deletion to\ncomplete by simply calling flush_scheduled_work().\n\n\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "c7be761a8163d2f1ac0b606c21e4316b7abc5af7",
      "tree": "1687373b56379c1c310f43b1c05ac486c67dec48",
      "parents": [
        "892c4467e335e9050c95e0d8409c136c4dadaca2"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 07 16:50:41 2009 -0600"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Thu Jan 08 15:12:39 2009 -0600"
      },
      "message": "dlm: change rsbtbl rwlock to spinlock\n\nThe rwlock is almost always used in write mode, so there\u0027s no reason\nto not use a spinlock instead.\n\nSigned-off-by: David Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "892c4467e335e9050c95e0d8409c136c4dadaca2",
      "tree": "aa5fda6f6f6db529212980def510edf8810debfc",
      "parents": [
        "238c6d54830c624f34ac9cf123ac04aebfca5013"
      ],
      "author": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Wed Jan 07 16:48:52 2009 -0600"
      },
      "committer": {
        "name": "David Teigland",
        "email": "teigland@redhat.com",
        "time": "Thu Jan 08 15:12:31 2009 -0600"
      },
      "message": "dlm: fix seq_file usage in debugfs lock dump\n\nThe old code would leak iterators and leave reference counts on\nrsbs because it was ignoring the \"stop\" seq callback.  The code\nfollowed an example that used the seq operations differently.\nThis new code is based on actually understanding how the seq\noperations work.  It also improves things by saving the hash bucket\nin the position to avoid cycling through completed buckets in start.\n\nSiged-off-by: Davd Teigland \u003cteigland@redhat.com\u003e\n"
    },
    {
      "commit": "73ac36ea14fd18ea3dc057e41b16ff31a3c0bd5a",
      "tree": "7f187cade83d9ca9bd180273c25e1216a1dff506",
      "parents": [
        "da2bdf9a6ff40b10d77620d0d76b02a738c103cb"
      ],
      "author": {
        "name": "Coly Li",
        "email": "coyli@suse.de",
        "time": "Wed Jan 07 18:09:16 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:15 2009 -0800"
      },
      "message": "fix similar typos to successfull\n\nWhen I review ocfs2 code, find there are 2 typos to \"successfull\".  After\ndoing grep \"successfull \" in kernel tree, 22 typos found totally -- great\nminds always think alike :)\n\nThis patch fixes all the similar typos. Thanks for Randy\u0027s ack and comments.\n\nSigned-off-by: Coly Li \u003ccoyli@suse.de\u003e\nAcked-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nAcked-by: Roland Dreier \u003crolandd@cisco.com\u003e\nCc: Jeremy Kerr \u003cjk@ozlabs.org\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nCc: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nCc: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nCc: Mark Fasheh \u003cmfasheh@suse.com\u003e\nCc: Vlad Yasevich \u003cvladislav.yasevich@hp.com\u003e\nCc: Sridhar Samudrala \u003csri@us.ibm.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9a8d5bb4ad829e66ab5428ccdce2cbc8ab0ac96c",
      "tree": "dd328a002fdc141a9b45d1262c2956209644c95a",
      "parents": [
        "df4927bf6ccf6278a97a44bd107080c71b269cb5"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Wed Jan 07 18:09:14 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:15 2009 -0800"
      },
      "message": "generic swap(): dcache: use swap() instead of private do_switch()\n\nUse the new generic implementation.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "97e133b4543c5c677e768a8538d6d704c4218ff2",
      "tree": "3473e5e7e634cab8cfb2c3b59c1bfe99182d7b70",
      "parents": [
        "be857df1dd8d8e1491e60d999caf3b8446ccd475"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Wed Jan 07 18:09:13 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:15 2009 -0800"
      },
      "message": "generic swap(): ext4: remove local swap() macro\n\nUse the new generic implementation.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "be857df1dd8d8e1491e60d999caf3b8446ccd475",
      "tree": "c3c45d80066bab95bd6f677f05afebf4ba6efe56",
      "parents": [
        "91f68b7359144aa40bb9668124543d15284750b4"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Wed Jan 07 18:09:12 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:15 2009 -0800"
      },
      "message": "generic swap(): ext3: remove local swap() macro\n\nUse the new generic implementation.\n\nSigned-off-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c19a28e1193a6c854738d609ae9b2fe2f6e6bea4",
      "tree": "79a354f827a5d3656be3f55d18d31265750d9d06",
      "parents": [
        "f15659628b43b27c20447c731456c39cbec973e9"
      ],
      "author": {
        "name": "Fernando Carrijo",
        "email": "fcarrijo@yahoo.com.br",
        "time": "Wed Jan 07 18:09:08 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:14 2009 -0800"
      },
      "message": "remove lots of double-semicolons\n\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nCc: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nAcked-by: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nAcked-by: Mark Fasheh \u003cmfasheh@suse.com\u003e\nAcked-by: David S. Miller \u003cdavem@davemloft.net\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Casey Schaufler \u003ccasey@schaufler-ca.com\u003e\nAcked-by: Takashi Iwai \u003ctiwai@suse.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f15659628b43b27c20447c731456c39cbec973e9",
      "tree": "86f3a346ddf017881005413eb31a032ac8623d6d",
      "parents": [
        "921d58c0e6992f74d3a48180604a298f115d2dee"
      ],
      "author": {
        "name": "roel kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Wed Jan 07 18:09:08 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:14 2009 -0800"
      },
      "message": "romfs: romfs_iget() - unsigned ino \u003e\u003d 0 is always true\n\nromfs_strnlen() returns int\nunsigned X \u003e\u003d 0 is always true\n\n[akpm@linux-foundation.org: coding-style fixes]\nSigned-off-by: roel kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "921d58c0e6992f74d3a48180604a298f115d2dee",
      "tree": "db3128a5957a0ff95d2bce1166d61050b1b3e494",
      "parents": [
        "4037014e3fb71e998189374e19ca141c59d15323"
      ],
      "author": {
        "name": "Magnus Damm",
        "email": "damm@igel.co.jp",
        "time": "Wed Jan 07 18:09:06 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:14 2009 -0800"
      },
      "message": "vmcore: remove saved_max_pfn check\n\nRemove the saved_max_pfn check from the /proc/vmcore function\nread_from_oldmem().  No need to verify, we should be able to just trust\nthat \"elfcorehdr\u003d\" is correctly passed to the crash kernel on the kernel\ncommand line like we do with other parameters.\n\nThe read_from_oldmem() function in fs/proc/vmcore.c is quite similar to\nread_from_oldmem() in drivers/char/mem.c, but only in the latter it makes\nsense to use saved_max_pfn.  For oldmem it is used to determine when to\nstop reading.  For vmcore we already have the elf header info pointing out\nthe physical memory regions, no need to pass the end-of- old-memory twice.\n\nRemoving the saved_max_pfn check from vmcore makes it possible for\narchitectures to skip oldmem but still support crash dump through vmcore -\nwithout the need for the old saved_max_pfn cruft.\n\nArchitectures that want to play safe can do the saved_max_pfn check in\ncopy_oldmem_page().  Not sure why anyone would want to do that, but that\u0027s\neven safer than today - the saved_max_pfn check in vmcore removed by this\npatch only checks the first page.\n\nSigned-off-by: Magnus Damm \u003cdamm@igel.co.jp\u003e\nAcked-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nAcked-by: Simon Horman \u003chorms@verge.net.au\u003e\nCc: \"Eric W. Biederman\" \u003cebiederm@xmission.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f06295b44c296c8fb08823a3118468ae343b60f2",
      "tree": "cf50932653af81aae1dc33bbf18ba7d8a94f5223",
      "parents": [
        "a6684999f7c6bddd75cf9755ad7ff44435f72fff"
      ],
      "author": {
        "name": "Kees Cook",
        "email": "kees.cook@canonical.com",
        "time": "Wed Jan 07 18:08:52 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:12 2009 -0800"
      },
      "message": "ELF: implement AT_RANDOM for glibc PRNG seeding\n\nWhile discussing[1] the need for glibc to have access to random bytes\nduring program load, it seems that an earlier attempt to implement\nAT_RANDOM got stalled.  This implements a random 16 byte string, available\nto every ELF program via a new auxv AT_RANDOM vector.\n\n[1] http://sourceware.org/ml/libc-alpha/2008-10/msg00006.html\n\nUlrich said:\n\nglibc needs right after startup a bit of random data for internal\nprotections (stack canary etc).  What is now in upstream glibc is that we\nalways unconditionally open /dev/urandom, read some data, and use it.  For\nevery process startup.  That\u0027s slow.\n\n...\n\nThe solution is to provide a limited amount of random data to the\nstarting process in the aux vector.  I suggested 16 bytes and this is\nwhat the patch implements.  If we need only 16 bytes or less we use the\ndata directly.  If we need more we\u0027ll use the 16 bytes to see a PRNG.\nThis avoids the costly /dev/urandom use and it allows the kernel to use\nthe most adequate source of random data for this purpose.  It might not\nbe the same pool as that for /dev/urandom.\n\nConcerns were expressed about the depletion of the randomness pool.  But\nthis patch doesn\u0027t make the situation worse, it doesn\u0027t deplete entropy\nmore than happens now.\n\nSigned-off-by: Kees Cook \u003ckees.cook@canonical.com\u003e\nCc: Jakub Jelinek \u003cjakub@redhat.com\u003e\nCc: Andi Kleen \u003candi@firstfloor.org\u003e\nCc: Ulrich Drepper \u003cdrepper@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "08e552c69c6930d64722de3ec18c51844d06ee28",
      "tree": "a744d57ed4b23401115f1033dcaac9e85d550e09",
      "parents": [
        "8c7c6e34a1256a5082d38c8e9bd1474476912715"
      ],
      "author": {
        "name": "KAMEZAWA Hiroyuki",
        "email": "kamezawa.hiroyu@jp.fujitsu.com",
        "time": "Wed Jan 07 18:08:01 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:05 2009 -0800"
      },
      "message": "memcg: synchronized LRU\n\nA big patch for changing memcg\u0027s LRU semantics.\n\nNow,\n  - page_cgroup is linked to mem_cgroup\u0027s its own LRU (per zone).\n\n  - LRU of page_cgroup is not synchronous with global LRU.\n\n  - page and page_cgroup is one-to-one and statically allocated.\n\n  - To find page_cgroup is on what LRU, you have to check pc-\u003emem_cgroup as\n    - lru \u003d page_cgroup_zoneinfo(pc, nid_of_pc, zid_of_pc);\n\n  - SwapCache is handled.\n\nAnd, when we handle LRU list of page_cgroup, we do following.\n\n\tpc \u003d lookup_page_cgroup(page);\n\tlock_page_cgroup(pc); .....................(1)\n\tmz \u003d page_cgroup_zoneinfo(pc);\n\tspin_lock(\u0026mz-\u003elru_lock);\n\t.....add to LRU\n\tspin_unlock(\u0026mz-\u003elru_lock);\n\tunlock_page_cgroup(pc);\n\nBut (1) is spin_lock and we have to be afraid of dead-lock with zone-\u003elru_lock.\nSo, trylock() is used at (1), now. Without (1), we can\u0027t trust \"mz\" is correct.\n\nThis is a trial to remove this dirty nesting of locks.\nThis patch changes mz-\u003elru_lock to be zone-\u003elru_lock.\nThen, above sequence will be written as\n\n        spin_lock(\u0026zone-\u003elru_lock); # in vmscan.c or swap.c via global LRU\n\tmem_cgroup_add/remove/etc_lru() {\n\t\tpc \u003d lookup_page_cgroup(page);\n\t\tmz \u003d page_cgroup_zoneinfo(pc);\n\t\tif (PageCgroupUsed(pc)) {\n\t\t\t....add to LRU\n\t\t}\n        spin_lock(\u0026zone-\u003elru_lock); # in vmscan.c or swap.c via global LRU\n\nThis is much simpler.\n(*) We\u0027re safe even if we don\u0027t take lock_page_cgroup(pc). Because..\n    1. When pc-\u003emem_cgroup can be modified.\n       - at charge.\n       - at account_move().\n    2. at charge\n       the PCG_USED bit is not set before pc-\u003emem_cgroup is fixed.\n    3. at account_move()\n       the page is isolated and not on LRU.\n\nPros.\n  - easy for maintenance.\n  - memcg can make use of laziness of pagevec.\n  - we don\u0027t have to duplicated LRU/Active/Unevictable bit in page_cgroup.\n  - LRU status of memcg will be synchronized with global LRU\u0027s one.\n  - # of locks are reduced.\n  - account_move() is simplified very much.\nCons.\n  - may increase cost of LRU rotation.\n    (no impact if memcg is not configured.)\n\nSigned-off-by: KAMEZAWA Hiroyuki \u003ckamezawa.hiroyu@jp.fujitsu.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nCc: Balbir Singh \u003cbalbir@in.ibm.com\u003e\nCc: Pavel Emelyanov \u003cxemul@openvz.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e04a88a920ff36d03641e1b9c01b7960d94209f1",
      "tree": "0c4bc724372953bdcf027eea2daf87bcfd8e4a2f",
      "parents": [
        "87d1fda5e2ff6527740604a7918fc273b6f9ae13"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Wed Jan 07 18:07:29 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:01 2009 -0800"
      },
      "message": "quota: don\u0027t set grace time when user isn\u0027t above softlimit\n\ndo_set_dqblk() allowed SETDQBLK quotactl to set user\u0027s grace time even if\nuser was not above his softlimit.  This does not make much sence and by\ncoincidence causes quota code to omit softlimit warning when user really\nexceeds softlimit.  This patch makes do_set_dqblk() reset user\u0027s grace\ntime if he has not exceeded softlimit.\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "87d1fda5e2ff6527740604a7918fc273b6f9ae13",
      "tree": "28599bf327319b16841d7ec6d3ea341f014455cf",
      "parents": [
        "1579c3a15c06055713b42b077b805f818638302c"
      ],
      "author": {
        "name": "Richard A. Holden III",
        "email": "aciddeath@gmail.com",
        "time": "Wed Jan 07 18:07:28 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:01 2009 -0800"
      },
      "message": "coda: fix fs/coda/sysctl.c build warnings when !CONFIG_SYSCTL\n\nFix\nfs/coda/sysctl.c:14: warning: \u0027fs_table_header\u0027 defined but not used\nfs/coda/sysctl.c:44: warning: \u0027fs_table\u0027 defined but not used\n\nthese are only used when CONFIG_SYSCTL is defined.\n\nSigned-off-by: Richard A. Holden III \u003caciddeath@gmail.com\u003e\nCc: Jan Harkes \u003cjaharkes@cs.cmu.edu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1579c3a15c06055713b42b077b805f818638302c",
      "tree": "8898416461b4451f095ea0a426dd8a9d91dfd95d",
      "parents": [
        "04143e2fb9d512c21e1dcfb561dbb0445dcfdc8c"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Jan 07 18:07:27 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:01 2009 -0800"
      },
      "message": "jbd: remove excess kernel-doc notation\n\nRemove excess kernel-doc from fs/jbd/transaction.c:\n\nWarning(linux-2.6.28-git5//fs/jbd/transaction.c:764): Excess function parameter \u0027credits\u0027 description in \u0027journal_get_write_access\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "04143e2fb9d512c21e1dcfb561dbb0445dcfdc8c",
      "tree": "1a8b6add3f19db63663bcf33205b771272e451d8",
      "parents": [
        "2e8671cb566da993425d324fc355af31edc6e7f1"
      ],
      "author": {
        "name": "Duane Griffin",
        "email": "duaneg@dghda.com",
        "time": "Wed Jan 07 18:07:26 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:01 2009 -0800"
      },
      "message": "ext3: tighten restrictions on inode flags\n\nAt the moment there are few restrictions on which flags may be set on\nwhich inodes.  Specifically DIRSYNC may only be set on directories and\nIMMUTABLE and APPEND may not be set on links.  Tighten that to disallow\nTOPDIR being set on non-directories and only NODUMP and NOATIME to be set\non non-regular file, non-directories.\n\nIntroduces a flags masking function which masks flags based on mode and\nuse it during inode creation and when flags are set via the ioctl to\nfacilitate future consistency.\n\nSigned-off-by: Duane Griffin \u003cduaneg@dghda.com\u003e\nAcked-by: Andreas Dilger \u003cadilger@sun.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "2e8671cb566da993425d324fc355af31edc6e7f1",
      "tree": "6da1dc8231ecbff398229398b602a6a3543979fd",
      "parents": [
        "5df096d67ec2b6578518caed7d57317a4b807aa1"
      ],
      "author": {
        "name": "Duane Griffin",
        "email": "duaneg@dghda.com",
        "time": "Wed Jan 07 18:07:26 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:01 2009 -0800"
      },
      "message": "ext3: don\u0027t inherit inappropriate inode flags from parent\n\nAt present INDEX is the only flag that new ext3 inodes do NOT inherit from\ntheir parent.  In addition prevent the flags DIRTY, ECOMPR, IMAGIC and\nTOPDIR from being inherited.  List inheritable flags explicitly to prevent\nfuture flags from accidentally being inherited.\n\nThis fixes the TOPDIR flag inheritance bug reported at\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d9866.\n\nSigned-off-by: Duane Griffin \u003cduaneg@dghda.com\u003e\nAcked-by: Andreas Dilger \u003cadilger@sun.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5df096d67ec2b6578518caed7d57317a4b807aa1",
      "tree": "8e92d19c89dea347eed6fc018fc6e4388bf9ebdc",
      "parents": [
        "f420d4dc4272fd223986762df2ad06056ddebada"
      ],
      "author": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Jan 07 18:07:25 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:00 2009 -0800"
      },
      "message": "ext3: allocate -\u003es_blockgroup_lock separately\n\nAs spotted by kmemtrace, struct ext3_sb_info is 17152 bytes on 64-bit\nwhich makes it a very bad fit for SLAB allocators.  The culprit of the\nwasted memory is -\u003es_blockgroup_lock which can be as big as 16 KB when\nNR_CPUS \u003e\u003d 32.\n\nTo fix that, allocate -\u003es_blockgroup_lock, which fits nicely in a order 2\npage in the worst case, separately.  This shinks down struct ext3_sb_info\nenough to fit a 1 KB slab cache so now we allocate 16 KB + 1 KB instead of\n32 KB saving 15 KB of memory.\n\nAcked-by: Andreas Dilger \u003cadilger@sun.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f420d4dc4272fd223986762df2ad06056ddebada",
      "tree": "2ae50476e901dc5c2e5d189d44785e27234bcce9",
      "parents": [
        "ef8b646183868b2d042fa6cde0eef2a31263ff85"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "jbacik@redhat.com",
        "time": "Wed Jan 07 18:07:24 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:00 2009 -0800"
      },
      "message": "jbd: improve fsync batching\n\nThere is a flaw with the way jbd handles fsync batching.  If we fsync() a\nfile and we were not the last person to run fsync() on this fs then we\nautomatically sleep for 1 jiffie in order to wait for new writers to join\ninto the transaction before forcing the commit.  The problem with this is\nthat with really fast storage (ie a Clariion) the time it takes to commit\na transaction to disk is way faster than 1 jiffie in most cases, so\nsleeping means waiting longer with nothing to do than if we just committed\nthe transaction and kept going.  Ric Wheeler noticed this when using\nfs_mark with more than 1 thread, the throughput would plummet as he added\nmore threads.\n\nThis patch attempts to fix this problem by recording the average time in\nnanoseconds that it takes to commit a transaction to disk, and what time\nwe started the transaction.  If we run an fsync() and we have been running\nfor less time than it takes to commit the transaction to disk, we sleep\nfor the delta amount of time and then commit to disk.  We acheive\nsub-jiffie sleeping using schedule_hrtimeout.  This means that the wait\ntime is auto-tuned to the speed of the underlying disk, instead of having\nthis static timeout.  I weighted the average according to somebody\u0027s\ncomments (Andreas Dilger I think) in order to help normalize random\noutliers where we take way longer or way less time to commit than the\naverage.  I also have a min() check in there to make sure we don\u0027t sleep\nlonger than a jiffie in case our storage is super slow, this was requested\nby Andrew.\n\nI unfortunately do not have access to a Clariion, so I had to use a\nramdisk to represent a super fast array.  I tested with a SATA drive with\nbarrier\u003d1 to make sure there was no regression with local disks, I tested\nwith a 4 way multipathed Apple Xserve RAID array and of course the\nramdisk.  I ran the following command\n\nfs_mark -d /mnt/ext3-test -s 4096 -n 2000 -D 64 -t $i\n\nwhere $i was 2, 4, 8, 16 and 32.  I mkfs\u0027ed the fs each time.  Here are my\nresults\n\ntype\tthreads\t\twith patch\twithout patch\nsata\t2\t\t24.6\t\t26.3\nsata\t4\t\t49.2\t\t48.1\nsata\t8\t\t70.1\t\t67.0\nsata\t16\t\t104.0\t\t94.1\nsata\t32\t\t153.6\t\t142.7\n\nxserve\t2\t\t246.4\t\t222.0\nxserve\t4\t\t480.0\t\t440.8\nxserve\t8\t\t829.5\t\t730.8\nxserve\t16\t\t1172.7\t\t1026.9\nxserve\t32\t\t1816.3\t\t1650.5\n\nramdisk\t2\t\t2538.3\t\t1745.6\nramdisk\t4\t\t2942.3\t\t661.9\nramdisk\t8\t\t2882.5\t\t999.8\nramdisk\t16\t\t2738.7\t\t1801.9\nramdisk\t32\t\t2541.9\t\t2394.0\n\nSigned-off-by: Josef Bacik \u003cjbacik@redhat.com\u003e\nCc: Andreas Dilger \u003cadilger@sun.com\u003e\nCc: Arjan van de Ven \u003carjan@infradead.org\u003e\nCc: Ric Wheeler \u003crwheeler@redhat.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ef8b646183868b2d042fa6cde0eef2a31263ff85",
      "tree": "5f8ebd60f844fcb7b1b056d6d663151a2f5e16f9",
      "parents": [
        "0e090f1e05a563cc9acdda442767176bf1616001"
      ],
      "author": {
        "name": "Duane Griffin",
        "email": "duaneg@dghda.com",
        "time": "Wed Jan 07 18:07:21 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:00 2009 -0800"
      },
      "message": "ext2: tighten restrictions on inode flags\n\nAt the moment there are few restrictions on which flags may be set on\nwhich inodes.  Specifically DIRSYNC may only be set on directories and\nIMMUTABLE and APPEND may not be set on links.  Tighten that to disallow\nTOPDIR being set on non-directories and only NODUMP and NOATIME to be set\non non-regular file, non-directories.\n\nIntroduces a flags masking function which masks flags based on mode and\nuse it during inode creation and when flags are set via the ioctl to\nfacilitate future consistency.\n\nSigned-off-by: Duane Griffin \u003cduaneg@dghda.com\u003e\nAcked-by: Andreas Dilger \u003cadilger@sun.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0e090f1e05a563cc9acdda442767176bf1616001",
      "tree": "61ccecf39f24a689a751e070f629775bc8aedcdc",
      "parents": [
        "18a82eb9f980b5e02cea651e4ecda26265d98933"
      ],
      "author": {
        "name": "Duane Griffin",
        "email": "duaneg@dghda.com",
        "time": "Wed Jan 07 18:07:20 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:00 2009 -0800"
      },
      "message": "ext2: don\u0027t inherit inappropriate inode flags from parent\n\nAt present BTREE/INDEX is the only flag that new ext2 inodes do NOT\ninherit from their parent.  In addition prevent the flags DIRTY, ECOMPR,\nINDEX, IMAGIC and TOPDIR from being inherited.  List inheritable flags\nexplicitly to prevent future flags from accidentally being inherited.\n\nThis fixes the TOPDIR flag inheritance bug reported at\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d9866.\n\nSigned-off-by: Duane Griffin \u003cduaneg@dghda.com\u003e\nAcked-by: Andreas Dilger \u003cadilger@sun.com\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "18a82eb9f980b5e02cea651e4ecda26265d98933",
      "tree": "7626c16d880eed47f0eaf323f8e8e9441c84d357",
      "parents": [
        "22d613d13445de9dea6edc3289c304237eb191f6"
      ],
      "author": {
        "name": "Pekka J Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Wed Jan 07 18:07:19 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:00 2009 -0800"
      },
      "message": "ext2: allocate -\u003es_blockgroup_lock separately\n\nAs spotted by kmemtrace, struct ext2_sb_info is 17024 bytes on 64-bit\nwhich makes it a very bad fit for SLAB allocators.  The culprit of the\nwasted memory is -\u003es_blockgroup_lock which can be as big as 16 KB when\nNR_CPUS \u003e\u003d 32.\n\nTo fix that, allocate -\u003es_blockgroup_lock, which fits nicely in a order 2\npage in the worst case, separately.  This shinks down struct ext2_sb_info\nenough to fit a 1 KB slab cache so now we allocate 16 KB + 1 KB instead of\n32 KB saving 15 KB of memory.\n\nAcked-by: Andreas Dilger \u003cadilger@sun.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nCc: \u003clinux-ext4@vger.kernel.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "22d613d13445de9dea6edc3289c304237eb191f6",
      "tree": "c6bf2d88b0d9e2247e6573d8b3f51b50cbe492fd",
      "parents": [
        "74d88eb2930f09e1a63d61cc9d4cffc50c684412"
      ],
      "author": {
        "name": "Qinghuang Feng",
        "email": "qhfeng.kernel@gmail.com",
        "time": "Wed Jan 07 18:07:18 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:31:00 2009 -0800"
      },
      "message": "ext2: fix ext2_splice_branch() comments\n\nThere is no argument named @chain in ext2_splice_branch, remove references\nto it.\n\nSigned-off-by: Qinghuang Feng \u003cqhfeng.kernel@gmail.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "96777fe7b042e5a5d0fe5fb861fcd6cd80ef9634",
      "tree": "a39a7a0a4817ec4b2815730d09a3f8b7b76a8ab2",
      "parents": [
        "9e42d0cf5020aaf217433cad1a224745241d212a"
      ],
      "author": {
        "name": "Dave Kleikamp",
        "email": "shaggy@linux.vnet.ibm.com",
        "time": "Thu Jan 08 09:46:31 2009 -0600"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 08:15:39 2009 -0800"
      },
      "message": "async: Don\u0027t call async_synchronize_full_special() while holding sb_lock\n\nsync_filesystems() shouldn\u0027t be calling async_synchronize_full_special\nwhile holding a spinlock.  The second while loop in that function is the\nright place for this anyway.\n\nSigned-off-by: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nReported-by: Grissiom \u003cchaos.proton@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "0f3e442a403a344a5d0a49af9ecd7632b7e7343a",
      "tree": "6d9557c9b058e04d9afc3ea7032bc155ff79b97e",
      "parents": [
        "f4bbf51050a1e1dd485e9cd89eef4619a7453d71"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Jan 08 12:04:47 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Jan 08 12:04:47 2009 +0000"
      },
      "message": "FLAT: Don\u0027t attempt to expand the userspace stack to fill the space allocated\n\nStop the FLAT binfmt from attempting to expand the userspace stack and brk\nsegments to fill the space actually allocated for it.  The space allocated may\nbe rounded up by mmap(), and may be wasted.\n\nHowever, finding out how much space we actually obtained uses the contentious\nkobjsize() function which we\u0027d like to get rid of as it doesn\u0027t necessarily\nwork for all slab allocators.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nTested-by: Mike Frysinger \u003cvapier.adi@gmail.com\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "f4bbf51050a1e1dd485e9cd89eef4619a7453d71",
      "tree": "074dd5cc064e6fd0ddd0b73a56537943cda5068e",
      "parents": [
        "38f714795b7cf4103c54152200ca66b524f8ed6e"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Jan 08 12:04:47 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Jan 08 12:04:47 2009 +0000"
      },
      "message": "FDPIC: Don\u0027t attempt to expand the userspace stack to fill the space allocated\n\nStop the ELF-FDPIC binfmt from attempting to expand the userspace stack and brk\nsegments to fill the space actually allocated for it.  The space allocated may\nbe rounded up by mmap(), and may be wasted.\n\nHowever, finding out how much space we actually obtained uses the contentious\nkobjsize() function which we\u0027d like to get rid of as it doesn\u0027t necessarily\nwork for all slab allocators.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nTested-by: Mike Frysinger \u003cvapier.adi@gmail.com\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "38f714795b7cf4103c54152200ca66b524f8ed6e",
      "tree": "9378b4a9f8e862e3faa63b3874fc8917d4aad2ea",
      "parents": [
        "dd8632a12e500a684478fea0951f380478d56fed"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Jan 08 12:04:47 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Jan 08 12:04:47 2009 +0000"
      },
      "message": "NOMMU: Improve procfs output using per-MM VMAs\n\nImprove procfs output using per-MM VMAs for process memory accounting.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nTested-by: Mike Frysinger \u003cvapier.adi@gmail.com\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "8feae13110d60cc6287afabc2887366b0eb226c2",
      "tree": "b3188986faab70e753e00ea8670a11ba8ec844c0",
      "parents": [
        "41836382ebb415d68d3ebc4525e78e871fe58baf"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Jan 08 12:04:47 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Jan 08 12:04:47 2009 +0000"
      },
      "message": "NOMMU: Make VMAs per MM as for MMU-mode linux\n\nMake VMAs per mm_struct as for MMU-mode linux.  This solves two problems:\n\n (1) In SYSV SHM where nattch for a segment does not reflect the number of\n     shmat\u0027s (and forks) done.\n\n (2) In mmap() where the VMA\u0027s vm_mm is set to point to the parent mm by an\n     exec\u0027ing process when VM_EXECUTABLE is specified, regardless of the fact\n     that a VMA might be shared and already have its vm_mm assigned to another\n     process or a dead process.\n\nA new struct (vm_region) is introduced to track a mapped region and to remember\nthe circumstances under which it may be shared and the vm_list_struct structure\nis discarded as it\u0027s no longer required.\n\nThis patch makes the following additional changes:\n\n (1) Regions are now allocated with alloc_pages() rather than kmalloc() and\n     with no recourse to __GFP_COMP, so the pages are not composite.  Instead,\n     each page has a reference on it held by the region.  Anything else that is\n     interested in such a page will have to get a reference on it to retain it.\n     When the pages are released due to unmapping, each page is passed to\n     put_page() and will be freed when the page usage count reaches zero.\n\n (2) Excess pages are trimmed after an allocation as the allocation must be\n     made as a power-of-2 quantity of pages.\n\n (3) VMAs are added to the parent MM\u0027s R/B tree and mmap lists.  As an MM may\n     end up with overlapping VMAs within the tree, the VMA struct address is\n     appended to the sort key.\n\n (4) Non-anonymous VMAs are now added to the backing inode\u0027s prio list.\n\n (5) Holes may be punched in anonymous VMAs with munmap(), releasing parts of\n     the backing region.  The VMA and region structs will be split if\n     necessary.\n\n (6) sys_shmdt() only releases one attachment to a SYSV IPC shared memory\n     segment instead of all the attachments at that addresss.  Multiple\n     shmat()\u0027s return the same address under NOMMU-mode instead of different\n     virtual addresses as under MMU-mode.\n\n (7) Core dumping for ELF-FDPIC requires fewer exceptions for NOMMU-mode.\n\n (8) /proc/maps is now the global list of mapped regions, and may list bits\n     that aren\u0027t actually mapped anywhere.\n\n (9) /proc/meminfo gains a line (tagged \"MmapCopy\") that indicates the amount\n     of RAM currently allocated by mmap to hold mappable regions that can\u0027t be\n     mapped directly.  These are copies of the backing device or file if not\n     anonymous.\n\nThese changes make NOMMU mode more similar to MMU mode.  The downside is that\nNOMMU mode requires some extra memory to track things over NOMMU without this\npatch (VMAs are no longer shared, and there are now region structs).\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nTested-by: Mike Frysinger \u003cvapier.adi@gmail.com\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "0e8f989a253b1bf85ea1c8d7987d67c054f4af91",
      "tree": "0b8b2c1e5c09c5cd46851680d8de2a0ad3c0fa9b",
      "parents": [
        "9e42d0cf5020aaf217433cad1a224745241d212a"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Jan 08 12:04:46 2009 +0000"
      },
      "committer": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Thu Jan 08 12:04:46 2009 +0000"
      },
      "message": "NOMMU: Fix cleanup handling in ramfs_nommu_get_umapped_area()\n\nFix cleanup handling in ramfs_nommu_get_umapped_area() by only freeing the\nnumber of pages that find_get_pages() said it had returned (nr) rather than\nattempting to free the number of pages we asked for (lpages) - thus avoiding\nthe situation whereby put_page() may be handed NULL pointers if\nfind_get_pages() returned fewer pages that were requested.\n\nAlso avoid a warning about nr being uninitialised and the need for an\nif-statement in the cleanup path by using appropriate gotos.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\n"
    },
    {
      "commit": "713404d6082fee34a829a0c6d511e4aec72d7654",
      "tree": "dccfa03988c763b0b39241181f37cdffb5b0fdcc",
      "parents": [
        "d599edcaea987e233fad808f88850f725e8a5530",
        "db43910cb42285a99f45f7e0a0a32e32d0b61dcf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 17:21:24 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 17:21:24 2009 -0800"
      },
      "message": "Merge branch \u0027for-2.6.29\u0027 of git://linux-nfs.org/~bfields/linux\n\n* \u0027for-2.6.29\u0027 of git://linux-nfs.org/~bfields/linux: (67 commits)\n  nfsd: get rid of NFSD_VERSION\n  nfsd: last_byte_offset\n  nfsd: delete wrong file comment from nfsd/nfs4xdr.c\n  nfsd: git rid of nfs4_cb_null_ops declaration\n  nfsd: dprint each op status in nfsd4_proc_compound\n  nfsd: add etoosmall to nfserrno\n  NFSD: FIDs need to take precedence over UUIDs\n  SUNRPC: The sunrpc server code should not be used by out-of-tree modules\n  svc: Clean up deferred requests on transport destruction\n  nfsd: fix double-locks of directory mutex\n  svc: Move kfree of deferral record to common code\n  CRED: Fix NFSD regression\n  NLM: Clean up flow of control in make_socks() function\n  NLM: Refactor make_socks() function\n  nfsd: Ensure nfsv4 calls the underlying filesystem on LOCKT\n  SUNRPC: Ensure the server closes sockets in a timely fashion\n  NFSD: Add documenting comments for nfsctl interface\n  NFSD: Replace open-coded integer with macro\n  NFSD: Fix a handful of coding style issues in write_filehandle()\n  NFSD: clean up failover sysctl function naming\n  ...\n"
    },
    {
      "commit": "755efdc3c4d3b42d5ffcef0f4d6e5b37ecd3bf21",
      "tree": "b3eadbdf6d472189a7221080b7e44f2ff0f0ef7b",
      "parents": [
        "709ac06a148a33493d3e2f9391bb746b067d96d6"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Jan 07 19:56:59 2009 -0500"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Jan 07 19:56:59 2009 -0500"
      },
      "message": "Btrfs: Drop the hardware crc32c asm code\n\nThis is already in the arch specific directories in mainline and\nshouldn\u0027t be copied into btrfs.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n\n"
    },
    {
      "commit": "7c7758f99d39d529a64d4f60d22129bbf2f16d74",
      "tree": "8847b5e56812fe4c4c812cfffc78e391a91f4ebe",
      "parents": [
        "67acd8b4b7a3f1b183ae358e1dfdb8a80e170736",
        "8a70da82edc50aa7a4b54864babf2d72538ba1bb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 15:37:24 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 15:37:24 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/gregkh/usb-2.6: (123 commits)\n  wimax/i2400m: add CREDITS and MAINTAINERS entries\n  wimax: export linux/wimax.h and linux/wimax/i2400m.h with headers_install\n  i2400m: Makefile and Kconfig\n  i2400m/SDIO: TX and RX path backends\n  i2400m/SDIO: firmware upload backend\n  i2400m/SDIO: probe/disconnect, dev init/shutdown and reset backends\n  i2400m/SDIO: header for the SDIO subdriver\n  i2400m/USB: TX and RX path backends\n  i2400m/USB: firmware upload backend\n  i2400m/USB: probe/disconnect, dev init/shutdown and reset backends\n  i2400m/USB: header for the USB bus driver\n  i2400m: debugfs controls\n  i2400m: various functions for device management\n  i2400m: RX and TX data/control paths\n  i2400m: firmware loading and bootrom initialization\n  i2400m: linkage to the networking stack\n  i2400m: Generic probe/disconnect, reset and message passing\n  i2400m: host/device procotol and core driver definitions\n  i2400m: documentation and instructions for usage\n  wimax: Makefile, Kconfig and docbook linkage for the stack\n  ...\n"
    },
    {
      "commit": "67acd8b4b7a3f1b183ae358e1dfdb8a80e170736",
      "tree": "4418034f6e83f954337a17bc6a872fa5ae3c4b5e",
      "parents": [
        "b13d3720ecd29d5044334fdbbae3432f26802bae",
        "ad160d23198193135cb2bcc75222e0816b5838c0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 15:35:47 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Jan 07 15:35:47 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-async\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/arjan/linux-2.6-async:\n  async: don\u0027t do the initcall stuff post boot\n  bootchart: improve output based on Dave Jones\u0027 feedback\n  async: make the final inode deletion an asynchronous event\n  fastboot: Make libata initialization even more async\n  fastboot: make the libata port scan asynchronous\n  fastboot: make scsi probes asynchronous\n  async: Asynchronous function calls to speed up kernel boot\n"
    },
    {
      "commit": "87df4de8073f922a1f643b9fa6ba0412d5529ecf",
      "tree": "8a7e5d7c5d531ac277c2e0026329f589ccdae101",
      "parents": [
        "4e65ebf08951326709817e654c149d0a94982e01"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Mon Dec 15 19:42:03 2008 +0200"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 07 17:38:31 2009 -0500"
      },
      "message": "nfsd: last_byte_offset\n\nrefactor the nfs4 server lock code to use last_byte_offset\nto compute the last byte covered by the lock.  Check for overflow\nso that the last byte is set to NFS4_MAX_UINT64 if offset + len\nwraps around.\n\nAlso, use NFS4_MAX_UINT64 for ~(u64)0 where appropriate.\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "4e65ebf08951326709817e654c149d0a94982e01",
      "tree": "46364fb84a91985294ffa47945f0a422137e8497",
      "parents": [
        "df96fcf02a5fd2ae4e9b09e079dd6ef12d10ecd7"
      ],
      "author": {
        "name": "Marc Eshel",
        "email": "eshel@almaden.ibm.com",
        "time": "Mon Dec 15 19:41:31 2008 +0200"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 07 17:32:48 2009 -0500"
      },
      "message": "nfsd: delete wrong file comment from nfsd/nfs4xdr.c\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "df96fcf02a5fd2ae4e9b09e079dd6ef12d10ecd7",
      "tree": "0e51b83a1d83dfb3e7e389fdad8762e338656f85",
      "parents": [
        "0407717d8587f60003f4904bff27650cd836c00c"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Mon Dec 15 19:41:10 2008 +0200"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 07 17:32:46 2009 -0500"
      },
      "message": "nfsd: git rid of nfs4_cb_null_ops declaration\n\nThere\u0027s no use for nfs4_cb_null_ops\u0027s declaration in fs/nfsd/nfs4callback.c\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "0407717d8587f60003f4904bff27650cd836c00c",
      "tree": "5e06a8ecf42e10e44d05d4b4036d17efec1a9486",
      "parents": [
        "b7aeda40d3010666d2c024c80557b6aa92a1a1ad"
      ],
      "author": {
        "name": "Benny Halevy",
        "email": "bhalevy@panasas.com",
        "time": "Mon Dec 15 19:40:49 2008 +0200"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 07 17:32:45 2009 -0500"
      },
      "message": "nfsd: dprint each op status in nfsd4_proc_compound\n\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    },
    {
      "commit": "b7aeda40d3010666d2c024c80557b6aa92a1a1ad",
      "tree": "a869fbe934b41c4122f906f7fd70ec3009b1f6d7",
      "parents": [
        "30fa8c0157e4591ee2227aaa0b17cd3b0da5e6cb"
      ],
      "author": {
        "name": "Dean Hildebrand",
        "email": "dhildeb@us.ibm.com",
        "time": "Mon Dec 15 19:40:15 2008 +0200"
      },
      "committer": {
        "name": "J. Bruce Fields",
        "email": "bfields@citi.umich.edu",
        "time": "Wed Jan 07 17:32:45 2009 -0500"
      },
      "message": "nfsd: add etoosmall to nfserrno\n\nSigned-off-by: Dean Hildebrand \u003cdhildeb@us.ibm.com\u003e\nSigned-off-by: Benny Halevy \u003cbhalevy@panasas.com\u003e\nSigned-off-by: J. Bruce Fields \u003cbfields@citi.umich.edu\u003e\n"
    }
  ],
  "next": "30fa8c0157e4591ee2227aaa0b17cd3b0da5e6cb"
}
