)]}'
{
  "log": [
    {
      "commit": "bf1fb512a58d7aeb41aaa40d6d2d2d29e08e506a",
      "tree": "7a4dca58c7a39cbe12e0931353fa66586f240075",
      "parents": [
        "1bec1aed1e7e632b3cc43b6807c2b4dcd1572e28"
      ],
      "author": {
        "name": "Yan Zheng",
        "email": "zheng.yan@oracle.com",
        "time": "Wed Jul 22 09:59:00 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Jul 22 09:59:00 2009 -0400"
      },
      "message": "Btrfs: properly update space information after shrinking device.\n\nChange \u0027goto done\u0027 to \u0027break\u0027 for the case of all device extents have\nbeen freed, so that the code updates space information will be execute.\n\nSigned-off-by: Yan Zheng \u003czheng.yan@oracle.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "1bec1aed1e7e632b3cc43b6807c2b4dcd1572e28",
      "tree": "82ae1710227adaf27d915e40508aaf4bb62a7422",
      "parents": [
        "68f5a38c3ea4ae9cc7a40f86ff6d6d031583d93a"
      ],
      "author": {
        "name": "Yan Zheng",
        "email": "zheng.yan@oracle.com",
        "time": "Wed Jul 22 09:59:00 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Jul 22 09:59:00 2009 -0400"
      },
      "message": "Btrfs: fix definition of struct btrfs_extent_inline_ref\n\nuse __le64 instead of u64 in on-disk structure definition.\n\nSigned-off-by: Yan Zheng \u003czheng.yan@oracle.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "68f5a38c3ea4ae9cc7a40f86ff6d6d031583d93a",
      "tree": "bc409be7ea8e4da6fa6b9d6d97d0af715aa982f9",
      "parents": [
        "9b627e9bf49ebfeb060dfae0435bdba06cf27cb8"
      ],
      "author": {
        "name": "Hu Tao",
        "email": "cnhutao@gmail.com",
        "time": "Thu Jul 02 13:55:45 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Jul 02 13:55:45 2009 -0400"
      },
      "message": "Btrfs: fix error message formatting\n\nMake an error msg look nicer by inserting a space between number and word.\n\nSigned-off-by: Hu Tao \u003chu.taoo@gmail.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "9b627e9bf49ebfeb060dfae0435bdba06cf27cb8",
      "tree": "cbd6255b5dd72f7b17c08ac5bfab9a95819008ee",
      "parents": [
        "9427216476d4fa75103f39d4b228c47d56ba20da"
      ],
      "author": {
        "name": "Jiri Slaby",
        "email": "jirislaby@gmail.com",
        "time": "Thu Jul 02 13:50:58 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Jul 02 13:50:58 2009 -0400"
      },
      "message": "Btrfs: fix use after free in btrfs_start_workers fail path\n\nworker memory is already freed on one fail path in btrfs_start_workers,\nbut is still dereferenced. Switch the dereference and kfree.\n\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "9427216476d4fa75103f39d4b228c47d56ba20da",
      "tree": "a6ed7b28aa778a4f9e0c9326f20215e75eb48d40",
      "parents": [
        "2c47e605a91dde6b0514f689645e7ab336c8592a"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Jul 02 12:26:06 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Jul 02 13:41:17 2009 -0400"
      },
      "message": "Btrfs: honor nodatacow/sum mount options for new files\n\nThe btrfs attr patches unconditionally inherited the inode flags field\nwithout honoring nodatacow and nodatasum.  This fix makes sure\nwe properly record the nodatacow/sum mount options in new inodes.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "2c47e605a91dde6b0514f689645e7ab336c8592a",
      "tree": "d541e61440f06f37d17e2d14cbaa78fc0cd41ff2",
      "parents": [
        "a970b0a16cc416a509d5ae8b1d70978664e6f4fe"
      ],
      "author": {
        "name": "Yan Zheng",
        "email": "zheng.yan@oracle.com",
        "time": "Sat Jun 27 21:07:35 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Jul 02 13:41:17 2009 -0400"
      },
      "message": "Btrfs: update backrefs while dropping snapshot\n\nThe new backref format has restriction on type of backref item.  If a tree\nblock isn\u0027t referenced by its owner tree, full backrefs must be used for the\npointers in it. When a tree block loses its owner tree\u0027s reference, backrefs\nfor the pointers in it should be updated to full backrefs. Current\nbtrfs_drop_snapshot misses the code that updates backrefs, so it\u0027s unsafe for\ngeneral use.\n\nThis patch adds backrefs update code to btrfs_drop_snapshot.  It isn\u0027t a\nproblem in the restricted form btrfs_drop_snapshot is used today, but for\ngeneral snapshot deletion this update is required.\n\nSigned-off-by: Yan Zheng \u003czheng.yan@oracle.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "a970b0a16cc416a509d5ae8b1d70978664e6f4fe",
      "tree": "fa371ca55fd97cd00ddb3b27ba1a784551a469a0",
      "parents": [
        "c8a894d77de4a1e0a544577fd4eabc9aacd453a8"
      ],
      "author": {
        "name": "Josef Bacik",
        "email": "jbacik@redhat.com",
        "time": "Sat Jun 27 21:07:34 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Jul 02 13:41:16 2009 -0400"
      },
      "message": "Btrfs: account for space we may use in fallocate\n\nUsing Eric Sandeen\u0027s xfstest for fallocate, you can easily trigger a ENOSPC\npanic on btrfs.  This is because we do not account for data we may use when\ndoing the fallocate.  This patch fixes the problem by properly reserving space,\nand then just freeing it when we are done.  The reservation stuff was made with\ndelalloc in mind, so its a little crude for this case, but it keeps the box\nfrom panicing.\n\nSigned-off-by: Josef Bacik \u003cjbacik@redhat.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "c8a894d77de4a1e0a544577fd4eabc9aacd453a8",
      "tree": "536f2a4d775f3b4180a85d4192bae92fbd38347b",
      "parents": [
        "f597bb19ccd034cbcf05e1194238e2c8d9505a8a"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat Jun 27 21:07:03 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Jul 02 13:41:16 2009 -0400"
      },
      "message": "Btrfs: fix the file clone ioctl for preallocated extents\n"
    },
    {
      "commit": "f597bb19ccd034cbcf05e1194238e2c8d9505a8a",
      "tree": "7389f4fab4606b95e4985403f21f0e851ab050ab",
      "parents": [
        "978d910d31c5202e251298bf3f603300a54605dd"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Sat Jun 27 21:06:22 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Jul 02 13:41:16 2009 -0400"
      },
      "message": "Btrfs: don\u0027t log the inode in file_write while growing the file\n"
    },
    {
      "commit": "978d910d31c5202e251298bf3f603300a54605dd",
      "tree": "69a5c7a2f1fac9b98dcc3bc95d9214686d487f16",
      "parents": [
        "b263c2c8bf13c273485bd99dbbeba79c844409dd"
      ],
      "author": {
        "name": "Yan Zheng",
        "email": "zheng.yan@oracle.com",
        "time": "Mon Jun 15 20:01:02 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon Jun 15 20:01:02 2009 -0400"
      },
      "message": "Btrfs: always update root items for fs trees at commit time\n\ncommit_fs_roots skips updating root items for fs trees that aren\u0027t modified.\nThis is unsafe now that relocation code modifies root item\u0027s last_snapshot\nfield without modifying corresponding fs tree.\n\nSigned-off-by: Yan Zheng \u003czheng.yan@oracle.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "b263c2c8bf13c273485bd99dbbeba79c844409dd",
      "tree": "8816eaabd20cfce5e37432ecf61cc8303863c48d",
      "parents": [
        "0b4dcea579a1b6f4d249d61f5bc8adeaa7c895d8"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Jun 11 11:24:47 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Jun 11 11:24:47 2009 -0400"
      },
      "message": "Btrfs: fix extent_buffer leak during tree log replay\n\nDuring tree log replay, we read in the tree log roots,\nprocess them and then free them.  A recent change\ntakes an extra reference on the root node of the tree\nwhen the root is read in, and stores that reference\nin root-\u003ecommit_root.\n\nThis reference was not being freed, leaving us with\none buffer pinned in ram for each subvol with\na tree log root after a crash.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "0b4dcea579a1b6f4d249d61f5bc8adeaa7c895d8",
      "tree": "2d8c0a56d853516136fcf9ff43672aca9f011057",
      "parents": [
        "067c28adc53807514ac0c6ebb6af3243cbd071fa"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Jun 11 11:13:35 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Jun 11 11:13:35 2009 -0400"
      },
      "message": "Btrfs: fix oops when btrfs_inherit_iflags called with a NULL dir\n\nThis happens during subvol creation.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "067c28adc53807514ac0c6ebb6af3243cbd071fa",
      "tree": "fa3e60e01cb2ba71fd9f3ab5d29147bc3fe781a1",
      "parents": [
        "85d4198e40c289dd623cecd16601fa613559bed7"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Jun 11 09:30:13 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Jun 11 09:30:13 2009 -0400"
      },
      "message": "Btrfs: fix -o nodatasum printk spelling\n\nIt was printing nodatacsum, which was not the correct option name.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "85d4198e40c289dd623cecd16601fa613559bed7",
      "tree": "8f76a9567063bded47b69f2f39d557307cdf5b54",
      "parents": [
        "fd0fb038d5a308c7faddd1701be5e70aaffec98b"
      ],
      "author": {
        "name": "Yan Zheng",
        "email": "zheng.yan@oracle.com",
        "time": "Thu Jun 11 08:51:10 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Jun 11 08:51:34 2009 -0400"
      },
      "message": "Btrfs: check duplicate backrefs for both data and metadata\n\nlookup_inline_extent_backref only checks for duplicate backref for data\nextents. It assumes backrefs for tree block never conflict.\n\nThis patch makes lookup_inline_extent_backref check for duplicate backrefs\nfor both data and tree block, so that we can detect potential bug earlier.\nThis is a safety check, strictly speaking it is not required.\n\nSigned-off-by: Yan Zheng \u003czheng.yan@oracle.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "fd0fb038d5a308c7faddd1701be5e70aaffec98b",
      "tree": "50b0f3cda5a957bad1090ec4d7bd4e49f43171da",
      "parents": [
        "4eedeb75e7f15ffdb12d1ad559b565e7505bdbaf"
      ],
      "author": {
        "name": "Shin Hong",
        "email": "hongshin@gmail.com",
        "time": "Wed Jun 10 20:11:29 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Jun 10 20:11:29 2009 -0400"
      },
      "message": "Btrfs: init worker struct fields before kthread-run\n\nThis patch fixes a bug which may result race condition\nbetween btrfs_start_workers() and worker_loop().\n\nbtrfs_start_workers() executed in a parent thread writes\non workers-\u003eworker and worker_loop() in a child thread\nreads workers-\u003eworker. However, there is no synchronization\nenforcing the order of two operations.\n\nThis patch makes btrfs_start_workers() fill workers-\u003eworker\nbefore it starts a child thread with worker_loop()\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "4eedeb75e7f15ffdb12d1ad559b565e7505bdbaf",
      "tree": "2f78c56c30d5f4f96b85d012bcb412262f6a735c",
      "parents": [
        "e5e9a5206a171b2c467e494aebcdcf70c47289bc"
      ],
      "author": {
        "name": "Hisashi Hifumi",
        "email": "hifumi.hisashi@oss.ntt.co.jp",
        "time": "Wed Jun 10 15:28:55 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Jun 10 16:49:25 2009 -0400"
      },
      "message": "Btrfs: pin buffers during write_dev_supers\n\nwrite_dev_supers is called in sequence.  First is it called with wait \u003d\u003d 0,\nwhich starts IO on all of the super blocks for a given device.  Then it is\ncalled with wait \u003d\u003d 1 to make sure they all reach the disk.\n\nIt doesn\u0027t currently pin the buffers between the two calls, and it also\nassumes the buffers won\u0027t go away between the two calls, leading to\nan oops if the VM manages to free the buffers in the middle of the sync.\n\nThis fixes that assumption and updates the code to return an error if things\nare not up to date when the wait \u003d\u003d 1 run is done.\n\nSigned-off-by: Hisashi Hifumi \u003chifumi.hisashi@oss.ntt.co.jp\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "e5e9a5206a171b2c467e494aebcdcf70c47289bc",
      "tree": "d9a6a89cccbd084db923f1661b52d5a1dfdb83fe",
      "parents": [
        "7df336ec1266dccbb253bac52c529d3dcc7c22d0"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Jun 10 15:17:02 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Jun 10 15:17:02 2009 -0400"
      },
      "message": "Btrfs: avoid races between super writeout and device list updates\n\nOn multi-device filesystems, btrfs writes supers to all of the devices\nbefore considering a sync complete.  There wasn\u0027t any additional\nlocking between super writeout and the device list management code\nbecause device management was done inside a transaction and\nsuper writeout only happened  with no transation writers running.\n\nWith the btrfs fsync log and other async transaction updates, this\nhas been racey for some time.  This adds a mutex to protect\nthe device list.  The existing volume mutex could not be reused due to\ntransaction lock ordering requirements.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "7df336ec1266dccbb253bac52c529d3dcc7c22d0",
      "tree": "f52acd46f2db0886669d18494a5e7e0f885b2fb5",
      "parents": [
        "524724ed1f224875a117be593540591ed050c73d"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Wed Jun 10 11:36:43 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Jun 10 11:36:43 2009 -0400"
      },
      "message": "Fix btrfs when ACLs are configured out\n\n... otherwise generic_permission() will allow *anything* for all\nfiles you don\u0027t own and that have some group permissions.\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "524724ed1f224875a117be593540591ed050c73d",
      "tree": "80f02291dc9f991dfd788d9ec6f4c8ee155997c7",
      "parents": [
        "163e783e6a8b1e8bcb4c9084d438091386b589df"
      ],
      "author": {
        "name": "Hisashi Hifumi",
        "email": "hifumi.hisashi@oss.ntt.co.jp",
        "time": "Wed Jun 10 11:13:17 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Jun 10 11:29:53 2009 -0400"
      },
      "message": "Btrfs: fdatasync should skip metadata writeout\n\nIn btrfs, fdatasync and fsync are identical, but\nfdatasync should skip committing transaction when\ninode-\u003ei_state is set just I_DIRTY_SYNC and this indicates\nonly atime or/and mtime updates.\nFollowing patch improves fdatasync throughput.\n\n--file-block-size\u003d4K --file-total-size\u003d16G --file-test-mode\u003drndwr\n--file-fsync-mode\u003dfdatasync run\n\nResults:\n-2.6.30-rc8\nTest execution summary:\n    total time:                          1980.6540s\n    total number of events:              10001\n    total time taken by event execution: 1192.9804\n    per-request statistics:\n         min:                            0.0000s\n         avg:                            0.1193s\n         max:                            15.3720s\n         approx.  95 percentile:         0.7257s\n\nThreads fairness:\n    events (avg/stddev):           625.0625/151.32\n    execution time (avg/stddev):   74.5613/9.46\n\n-2.6.30-rc8-patched\nTest execution summary:\n    total time:                          1695.9118s\n    total number of events:              10000\n    total time taken by event execution: 871.3214\n    per-request statistics:\n         min:                            0.0000s\n         avg:                            0.0871s\n         max:                            10.4644s\n         approx.  95 percentile:         0.4787s\n\nThreads fairness:\n    events (avg/stddev):           625.0000/131.86\n    execution time (avg/stddev):   54.4576/8.98\n\nSigned-off-by: Hisashi Hifumi \u003chifumi.hisashi@oss.ntt.co.jp\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "163e783e6a8b1e8bcb4c9084d438091386b589df",
      "tree": "dd7fbe662b7c81ba8c548b309fed4376f07ea495",
      "parents": [
        "6cbff00f4632c8060b06bfc9585805217f11e12e"
      ],
      "author": {
        "name": "David Woodhouse",
        "email": "dwmw2@infradead.org",
        "time": "Sun Apr 19 13:02:41 2009 +0100"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Jun 10 11:29:53 2009 -0400"
      },
      "message": "Btrfs: remove crc32c.h and use libcrc32c directly.\n\nThere\u0027s no need to preserve this abstraction; it used to let us use\nhardware crc32c support directly, but libcrc32c is already doing that for us\nthrough the crypto API -- so we\u0027re already using the Intel crc32c\nacceleration where appropriate.\n\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "6cbff00f4632c8060b06bfc9585805217f11e12e",
      "tree": "1886c4c855662172b84be2bfbd2aa5ac6a5c429d",
      "parents": [
        "c289811cc096c57ff35550ee8132793a4f9b5b59"
      ],
      "author": {
        "name": "Christoph Hellwig",
        "email": "hch@lst.de",
        "time": "Fri Apr 17 10:37:41 2009 +0200"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Jun 10 11:29:52 2009 -0400"
      },
      "message": "Btrfs: implement FS_IOC_GETFLAGS/SETFLAGS/GETVERSION\n\nAdd support for the standard attributes set via chattr and read via\nlsattr.  Currently we store the attributes in the flags value in\nthe btrfs inode, but I wonder whether we should split it into two so\nthat we don\u0027t have to keep converting between the two formats.\n\nRemove the btrfs_clear_flag/btrfs_set_flag/btrfs_test_flag macros\nas they were confusing the existing code and got in the way of the\nnew additions.\n\nAlso add the FS_IOC_GETVERSION ioctl for getting i_generation as it\u0027s\ntrivial.\n\nSigned-off-by: Christoph Hellwig \u003chch@lst.de\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "c289811cc096c57ff35550ee8132793a4f9b5b59",
      "tree": "47599d47419911c8365e0350e286dece1d5e48dd",
      "parents": [
        "451d7585a8bb1b9bec0d676ce3dece1923164e55"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Jun 10 09:51:32 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Jun 10 11:29:52 2009 -0400"
      },
      "message": "Btrfs: autodetect SSD devices\n\nDuring mount, btrfs will check the queue nonrot flag\nfor all the devices found in the FS.  If they are all\nnon-rotating, SSD mode is enabled by default.\n\nIf the FS was mounted with -o nossd, the non-rotating\nflag is ignored.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "451d7585a8bb1b9bec0d676ce3dece1923164e55",
      "tree": "b4e9103b7010e45e02deff9ae4470df71475f8de",
      "parents": [
        "c604480171c510c1beeb81b82418e5bc4de8f1ae"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Jun 09 20:28:34 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Jun 10 11:29:52 2009 -0400"
      },
      "message": "Btrfs: add mount -o ssd_spread to spread allocations out\n\nSome SSDs perform best when reusing block numbers often, while\nothers perform much better when clustering strictly allocates\nbig chunks of unused space.\n\nThe default mount -o ssd will find rough groupings of blocks\nwhere there are a bunch of free blocks that might have some\nallocated blocks mixed in.\n\nmount -o ssd_spread will make sure there are no allocated blocks\nmixed in.  It should perform better on lower end SSDs.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "c604480171c510c1beeb81b82418e5bc4de8f1ae",
      "tree": "54be031aa42874f827e1c7d2aa79f1ec54b36a33",
      "parents": [
        "3b30c22f64a6bb297719c60e494af1d26563f584"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Jun 09 18:35:15 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Jun 10 11:29:51 2009 -0400"
      },
      "message": "Btrfs: avoid allocation clusters that are too spread out\n\nIn SSD mode for data, and all the time for metadata the allocator\nwill try to find a cluster of nearby blocks for allocations.  This\ncommit adds extra checks to make sure that each free block in the\ncluster is close to the last one.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "3b30c22f64a6bb297719c60e494af1d26563f584",
      "tree": "2730226cb21de6c61f6d1fb265c64523e0073354",
      "parents": [
        "d644d8a1e30b88a93bcfb63cada2ae628462ddba"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Jun 09 16:42:22 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Jun 10 11:29:50 2009 -0400"
      },
      "message": "Btrfs: Add mount -o nossd\n\nThis allows you to turn off the ssd mode via remount.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "d644d8a1e30b88a93bcfb63cada2ae628462ddba",
      "tree": "0037b0282390f5bced029d0a2973e5a03777ca12",
      "parents": [
        "d84275c938e1a5e2dc5b89eb9b878e0ddb2c55e0"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Jun 09 15:59:22 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Jun 10 11:29:49 2009 -0400"
      },
      "message": "Btrfs: avoid IO stalls behind congested devices in a multi-device FS\n\nThe btrfs IO submission threads try to service a bunch of devices with a small\nnumber of threads.  They do a congestion check to try and avoid waiting\non requests for a busy device.\n\nThe checks make sure we\u0027ve sent a few requests down to a given device just so\nthat we aren\u0027t bouncing between busy devices without actually sending down\nany IO.  The counter used to decide if we can switch to the next device\nis somewhat overloaded.  It is also being used to decide if we\u0027ve done\na good batch of requests between the WRITE_SYNC or regular priority lists.\nIt may get reset to zero often, leaving us hammering on a busy device\ninstead of moving on to another disk.\n\nThis commit adds a new counter for the number of bios sent while\nservicing a device.  It doesn\u0027t get reset or fiddled with.  On\nmulti-device filesystems, this fixes IO stalls in streaming\nwrite workloads.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "d84275c938e1a5e2dc5b89eb9b878e0ddb2c55e0",
      "tree": "7d8f49716140738c1bdcb97978b06328dd148a7a",
      "parents": [
        "585ad2c3797dcaa643aeba75b9f072778adf3490"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Tue Jun 09 15:39:08 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Jun 10 11:29:49 2009 -0400"
      },
      "message": "Btrfs: don\u0027t allow WRITE_SYNC bios to starve out regular writes\n\nBtrfs uses dedicated threads to submit bios when checksumming is on,\nwhich allows us to make sure the threads dedicated to checksumming don\u0027t get\nstuck waiting for requests.  For each btrfs device, there are\ntwo lists of bios.  One list is for WRITE_SYNC bios and the other\nis for regular priority bios.\n\nThe IO submission threads used to process all of the WRITE_SYNC bios first and\nthen switch to the regular bios.  This commit makes sure we don\u0027t completely\nstarve the regular bios by rotating between the two lists.\n\nWRITE_SYNC bios are still favored 2:1 over the regular bios, and this tries\nto run in batches to avoid seeking.  Benchmarking shows this eliminates\nstalls during streaming buffered writes on both multi-device and\nsingle device filesystems.\n\nIf the regular bios starve, the system can end up with a large amount of ram\npinned down in writeback pages.  If we are a little more fair between the two\nclasses, we\u0027re able to keep throughput up and make progress on the bulk of\nour dirty ram.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "585ad2c3797dcaa643aeba75b9f072778adf3490",
      "tree": "4d48ff8f61f81a84bc620eb59215e1273f788d35",
      "parents": [
        "2c943de6ad795a174dcc424c293bb77f15ae3b8c"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon May 18 10:41:58 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Jun 10 11:29:48 2009 -0400"
      },
      "message": "Btrfs: fix metadata dirty throttling limits\n\nOnce a metadata block has been written, it must be recowed, so the\nbtrfs dirty balancing call has a check to make sure a fair amount of metadata\nwas actually dirty before it started writing it back to disk.\n\nA previous commit had changed the dirty tracking for metadata without\nupdating the btrfs dirty balancing checks.  This commit switches it\nto use the correct counter.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "2c943de6ad795a174dcc424c293bb77f15ae3b8c",
      "tree": "15e54377cb925312ce0332a6520d78ae99b9fafc",
      "parents": [
        "cfbb9308463f6dad1334884db046ccf0f1a77918"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon May 18 10:41:58 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Jun 10 11:29:48 2009 -0400"
      },
      "message": "Btrfs: reduce mount -o ssd CPU usage\n\nThe block allocator in SSD mode will try to find groups of free blocks\nthat are close together.  This commit makes it loop less on a given\ngroup size before bumping it.\n\nThe end result is that we are less likely to fill small holes in the\navailable free space, but we don\u0027t waste as much CPU building the\nlarge cluster used by ssd mode.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "cfbb9308463f6dad1334884db046ccf0f1a77918",
      "tree": "12faa0d785c3e3adec21770db7112514d834f77b",
      "parents": [
        "b36124210248706186a02093427bdff4b3f548e8"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Mon May 18 10:41:58 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Jun 10 11:29:47 2009 -0400"
      },
      "message": "Btrfs: balance btree more often\n\nWith the new back reference code, the cost of a balance has gone down\nin terms of the number of back reference updates done.  This commit\nmakes us more aggressively balance leaves and nodes as they become\nless full.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "b36124210248706186a02093427bdff4b3f548e8",
      "tree": "42859bcab04454fe639f39ddbf65f9c408e6bbbc",
      "parents": [
        "5d4f98a28c7d334091c1b7744f48a1acdd2a4ae0"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed May 13 19:12:15 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Jun 10 11:29:47 2009 -0400"
      },
      "message": "Btrfs: stop avoiding balancing at the end of the transaction.\n\nWhen the delayed reference code was added, some checks were added\nto avoid extra balancing while the delayed references were being flushed.\nThis made for less efficient btrees, but it reduced the chances of\nloops where no forward progress was made because the balances made\nmore delayed ref updates.\n\nWith the new dead root removal code and the mixed back references,\nthe extent allocation tree is no longer using precise back refs, and\nthe delayed reference updates don\u0027t carry the risk of looping forever\nanymore.  So, the balance avoidance is no longer required.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "5d4f98a28c7d334091c1b7744f48a1acdd2a4ae0",
      "tree": "c611d7d824cbcdb777dd2d8e33e2ed1c5df8a9c6",
      "parents": [
        "5c939df56c3ea018b58e5aa76181284c2053d699"
      ],
      "author": {
        "name": "Yan Zheng",
        "email": "zheng.yan@oracle.com",
        "time": "Wed Jun 10 10:45:14 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Jun 10 11:29:46 2009 -0400"
      },
      "message": "Btrfs: Mixed back reference  (FORWARD ROLLING FORMAT CHANGE)\n\nThis commit introduces a new kind of back reference for btrfs metadata.\nOnce a filesystem has been mounted with this commit, IT WILL NO LONGER\nBE MOUNTABLE BY OLDER KERNELS.\n\nWhen a tree block in subvolume tree is cow\u0027d, the reference counts of all\nextents it points to are increased by one.  At transaction commit time,\nthe old root of the subvolume is recorded in a \"dead root\" data structure,\nand the btree it points to is later walked, dropping reference counts\nand freeing any blocks where the reference count goes to 0.\n\nThe increments done during cow and decrements done after commit cancel out,\nand the walk is a very expensive way to go about freeing the blocks that\nare no longer referenced by the new btree root.  This commit reduces the\ntransaction overhead by avoiding the need for dead root records.\n\nWhen a non-shared tree block is cow\u0027d, we free the old block at once, and the\nnew block inherits old block\u0027s references. When a tree block with reference\ncount \u003e 1 is cow\u0027d, we increase the reference counts of all extents\nthe new block points to by one, and decrease the old block\u0027s reference count by\none.\n\nThis dead tree avoidance code removes the need to modify the reference\ncounts of lower level extents when a non-shared tree block is cow\u0027d.\nBut we still need to update back ref for all pointers in the block.\nThis is because the location of the block is recorded in the back ref\nitem.\n\nWe can solve this by introducing a new type of back ref. The new\nback ref provides information about pointer\u0027s key, level and in which\ntree the pointer lives. This information allow us to find the pointer\nby searching the tree. The shortcoming of the new back ref is that it\nonly works for pointers in tree blocks referenced by their owner trees.\n\nThis is mostly a problem for snapshots, where resolving one of these\nfuzzy back references would be O(number_of_snapshots) and quite slow.\nThe solution used here is to use the fuzzy back references in the common\ncase where a given tree block is only referenced by one root,\nand use the full back references when multiple roots have a reference\non a given block.\n\nThis commit adds per subvolume red-black tree to keep trace of cached\ninodes. The red-black tree helps the balancing code to find cached\ninodes whose inode numbers within a given range.\n\nThis commit improves the balancing code by introducing several data\nstructures to keep the state of balancing. The most important one\nis the back ref cache. It caches how the upper level tree blocks are\nreferenced. This greatly reduce the overhead of checking back ref.\n\nThe improved balancing code scales significantly better with a large\nnumber of snapshots.\n\nThis is a very large commit and was written in a number of\npieces.  But, they depend heavily on the disk format change and were\nsquashed together to make sure git bisect didn\u0027t end up in a\nbad state wrt space balancing or the format change.\n\nSigned-off-by: Yan Zheng \u003czheng.yan@oracle.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "5c939df56c3ea018b58e5aa76181284c2053d699",
      "tree": "6d97449faa69c96998833fcb56a3b65050d34354",
      "parents": [
        "07a2039b8eb0af4ff464efd3dfd95de5c02648c6"
      ],
      "author": {
        "name": "Yan Zheng",
        "email": "zheng.yan@oracle.com",
        "time": "Wed May 27 09:16:03 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Wed Jun 10 11:29:46 2009 -0400"
      },
      "message": "btrfs: Fix set/clear_extent_bit for \u0027end \u003d\u003d (u64)-1\u0027\n\nThere are some \u0027start \u003d state-\u003eend + 1;\u0027 like code in set_extent_bit\nand clear_extent_bit. They overflow when end \u003d\u003d (u64)-1.\n\nSigned-off-by: Yan Zheng \u003czheng.yan@oracle.com\u003e\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "07a2039b8eb0af4ff464efd3dfd95de5c02648c6",
      "tree": "0cea46e43f0625244c3d06a71d6559e5ec5419ca",
      "parents": [
        "96050dfb25966612008dcea7d342e91fa01e993c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 09 20:05:27 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 09 20:05:27 2009 -0700"
      },
      "message": "Linux 2.6.30\n"
    },
    {
      "commit": "96050dfb25966612008dcea7d342e91fa01e993c",
      "tree": "787b6337a9ef0ad018181218e9d36c883998c090",
      "parents": [
        "a61d90d75d0f9e86432c45b496b4b0fbf0fd03dc"
      ],
      "author": {
        "name": "Peter Botha",
        "email": "peterb@goldcircle.co.za",
        "time": "Tue Jun 09 17:16:32 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 09 18:09:03 2009 -0700"
      },
      "message": "char: mxser, fix ISA board lookup\n\nThere\u0027s a bug in the mxser kernel module that still appears in the\n2.6.29.4 kernel.\n\nmxser_get_ISA_conf takes a ioaddress as its first argument, by passing the\nnot of the ioaddr, you\u0027re effectively passing 0 which means it won\u0027t be\nable to talk to an ISA card.  I have tested this, and removing the !\nfixes the problem.\n\nCc: \"Peter Botha\" \u003cpeterb@goldcircle.co.za\u003e\nSigned-off-by: Jiri Slaby \u003cjirislaby@gmail.com\u003e\nAcked-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nCc: \u003cstable@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": "a61d90d75d0f9e86432c45b496b4b0fbf0fd03dc",
      "tree": "85d557e9d67cbad0347c6f12f7a60c474e485f7c",
      "parents": [
        "463aea1a1c49f1a7d4b50656dfd6c8bb33358b1b"
      ],
      "author": {
        "name": "Jan Kara",
        "email": "jack@suse.cz",
        "time": "Tue Jun 09 16:26:26 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 09 16:59:03 2009 -0700"
      },
      "message": "jbd: fix race in buffer processing in commit code\n\nIn commit code, we scan buffers attached to a transaction.  During this\nscan, we sometimes have to drop j_list_lock and then we recheck whether\nthe journal buffer head didn\u0027t get freed by journal_try_to_free_buffers().\n But checking for buffer_jbd(bh) isn\u0027t enough because a new journal head\ncould get attached to our buffer head.  So add a check whether the journal\nhead remained the same and whether it\u0027s still at the same transaction and\nlist.\n\nThis is a nasty bug and can cause problems like memory corruption (use after\nfree) or trigger various assertions in JBD code (observed).\n\nSigned-off-by: Jan Kara \u003cjack@suse.cz\u003e\nCc: \u003cstable@kernel.org\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": "463aea1a1c49f1a7d4b50656dfd6c8bb33358b1b",
      "tree": "9eb2a2b926f239ea703343e26fbda5dde8663998",
      "parents": [
        "586c7e6a280580fd94b662bf486f9bb31098d14b"
      ],
      "author": {
        "name": "Ian Kent",
        "email": "raven@themaw.net",
        "time": "Tue Jun 09 16:26:24 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 09 16:59:03 2009 -0700"
      },
      "message": "autofs4: remove hashed check in validate_wait()\n\nThe recent -\u003elookup() deadlock correction required the directory inode\nmutex to be dropped while waiting for expire completion.  We were\nconcerned about side effects from this change and one has been identified.\n\nI saw several error messages.\n\nThey cause autofs to become quite confused and don\u0027t really point to the\nactual problem.\n\nThings like:\n\nhandle_packet_missing_direct:1376: can\u0027t find map entry for (43,1827932)\n\nwhich is usually totally fatal (although in this case it wouldn\u0027t be\nexcept that I treat is as such because it normally is).\n\ndo_mount_direct: direct trigger not valid or already mounted\n/test/nested/g3c/s1/ss1\n\nwhich is recoverable, however if this problem is at play it can cause\nautofs to become quite confused as to the dependencies in the mount tree\nbecause mount triggers end up mounted multiple times.  It\u0027s hard to\naccurately check for this over mounting case and automount shouldn\u0027t need\nto if the kernel module is doing its job.\n\nThere was one other message, similar in consequence of this last one but I\ncan\u0027t locate a log example just now.\n\nWhen checking if a mount has already completed prior to adding a new mount\nrequest to the wait queue we check if the dentry is hashed and, if so, if\nit is a mount point.  But, if a mount successfully completed while we\nslept on the wait queue mutex the dentry must exist for the mount to have\ncompleted so the test is not really needed.\n\nMounts can also be done on top of a global root dentry, so for the above\ncase, where a mount request completes and the wait queue entry has already\nbeen removed, the hashed test returning false can cause an incorrect\ncallback to the daemon.  Also, d_mountpoint() is not sufficient to check\nif a mount has completed for the multi-mount case when we don\u0027t have a\nreal mount at the base of the tree.\n\nSigned-off-by: Ian Kent \u003craven@themaw.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "586c7e6a280580fd94b662bf486f9bb31098d14b",
      "tree": "27547e0dc35c34431f9504ad51b70ccccc55c14f",
      "parents": [
        "13df635f080d411a152c92087a384135c1562fac"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Tue Jun 09 16:26:23 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 09 16:59:03 2009 -0700"
      },
      "message": "shm: fix unused warnings on nommu\n\nThe massive nommu update (8feae131) resulted in these warnings:\nipc/shm.c: In function `sys_shmdt\u0027:\nipc/shm.c:974: warning: unused variable `size\u0027\nipc/shm.c:972: warning: unused variable `next\u0027\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: David Howells \u003cdhowells@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": "13df635f080d411a152c92087a384135c1562fac",
      "tree": "71330df816c147e2c11dc68dfbd39a0c296cb163",
      "parents": [
        "9cdba30283ecad22970e954c5595c9079d7a7f63",
        "8437a617708d014d6f220df201a24960e00d57b1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 09 08:48:32 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 09 08:48:32 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-for-linus:\n  kvm: fix kvm reboot crash when MAXSMP is used\n  cpumask: alloc zeroed cpumask for static cpumask_var_ts\n  cpumask: introduce zalloc_cpumask_var\n"
    },
    {
      "commit": "9cdba30283ecad22970e954c5595c9079d7a7f63",
      "tree": "abbd662082da905358db1ac98ada0bfd35dc7622",
      "parents": [
        "fd4d34295b36c5d9a1aba3d3f2764d721db093be",
        "c1d4c41f2fdfe66dea957b76d005affba3e56b26"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 09 08:47:43 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 09 08:47:43 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  bsg: setting rq-\u003ebio to NULL\n"
    },
    {
      "commit": "fd4d34295b36c5d9a1aba3d3f2764d721db093be",
      "tree": "8fc6069c00b156519c78fc3644a7eed4105a7bab",
      "parents": [
        "4d11eff66889e65e9351111b1cc39f066f9f9729",
        "52ea3a56a3268bc2a5a7c75e98c81463004e38ef"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 09 08:47:27 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 09 08:47:27 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  cls_cgroup: Fix oops when user send improperly \u0027tc filter add\u0027 request\n  r8169: fix crash when large packets are received\n"
    },
    {
      "commit": "4d11eff66889e65e9351111b1cc39f066f9f9729",
      "tree": "e96ed48c0f9ad90e3d8dd319874dc6b577958374",
      "parents": [
        "3af968e066d593bc4dacc021715f3e95ddf0996f",
        "0e6e0271a210817e202c8a4bfffbde3e3c0616d1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 09 08:41:22 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 09 08:41:22 2009 -0700"
      },
      "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/raid5: fix bug in reshape code when chunk_size decreases.\n  md/raid5 - avoid deadlocks in get_active_stripe during reshape\n  md/raid5: use conf-\u003eraid_disks in preference to mddev-\u003eraid_disk\n"
    },
    {
      "commit": "c1d4c41f2fdfe66dea957b76d005affba3e56b26",
      "tree": "9436a0f4417c1f938103a55c739c6c6e1fdbf94b",
      "parents": [
        "3af968e066d593bc4dacc021715f3e95ddf0996f"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Jun 09 15:17:37 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jun 09 15:17:37 2009 +0200"
      },
      "message": "bsg: setting rq-\u003ebio to NULL\n\nDue to commit 1cd96c242a829d52f7a5ae98f554ca9775429685 (\"block: WARN\nin __blk_put_request() for potential bio leak\"), BSG SMP requests get\nthe false warnings:\n\nWARNING: at block/blk-core.c:1068 __blk_put_request+0x52/0xc0()\n\nThis sets rq-\u003ebio to NULL to avoid that false warnings.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "8437a617708d014d6f220df201a24960e00d57b1",
      "tree": "ca718011279a8aff274872fded63efe263665c86",
      "parents": [
        "eaa958402ea40851097d051f52ba1bb7a885efe9"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sat Jun 06 14:52:35 2009 -0700"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jun 09 22:30:28 2009 +0930"
      },
      "message": "kvm: fix kvm reboot crash when MAXSMP is used\n\none system was found there is crash during reboot then kvm/MAXSMP\nSending all processes the KILL signal...                              done\nPlease stand by while rebooting the system...\n[ 1721.856538] md: stopping all md devices.\n[ 1722.852139] kvm: exiting hardware virtualization\n[ 1722.854601] BUG: unable to handle kernel NULL pointer dereference at (null)\n[ 1722.872219] IP: [\u003cffffffff8102c6b6\u003e] hardware_disable+0x4c/0xb4\n[ 1722.877955] PGD 0\n[ 1722.880042] Oops: 0000 [#1] SMP\n[ 1722.892548] last sysfs file: /sys/devices/pci0000:00/0000:00:01.0/0000:01:00.0/host0/target0:2:0/0:2:0:0/vendor\n[ 1722.900977] CPU 9\n[ 1722.912606] Modules linked in:\n[ 1722.914226] Pid: 0, comm: swapper Not tainted 2.6.30-rc7-tip-01843-g2305324-dirty #299 ...\n[ 1722.932589] RIP: 0010:[\u003cffffffff8102c6b6\u003e]  [\u003cffffffff8102c6b6\u003e] hardware_disable+0x4c/0xb4\n[ 1722.942709] RSP: 0018:ffffc900010b6ed8  EFLAGS: 00010046\n[ 1722.956121] RAX: 0000000000000000 RBX: ffffc9000e253140 RCX: 0000000000000009\n[ 1722.972202] RDX: 000000000000b020 RSI: ffffc900010c3220 RDI: ffffffffffffd790\n[ 1722.977399] RBP: ffffc900010b6f08 R08: 0000000000000000 R09: 0000000000000000\n[ 1722.995149] R10: 00000000000004b8 R11: 966912b6c78fddbd R12: 0000000000000009\n[ 1723.011551] R13: 000000000000b020 R14: 0000000000000009 R15: 0000000000000000\n[ 1723.019898] FS:  0000000000000000(0000) GS:ffffc900010b3000(0000) knlGS:0000000000000000\n[ 1723.034389] CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b\n[ 1723.041164] CR2: 0000000000000000 CR3: 0000000001001000 CR4: 00000000000006e0\n[ 1723.056192] DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n[ 1723.072546] DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n[ 1723.080562] Process swapper (pid: 0, threadinfo ffff88107e464000, task ffff88047e5a2550)\n[ 1723.096144] Stack:\n[ 1723.099071]  0000000000000046 ffffc9000e253168 966912b6c78fddbd ffffc9000e253140\n[ 1723.115471]  ffff880c7d4304d0 ffffc9000e253168 ffffc900010b6f28 ffffffff81011022\n[ 1723.132428]  ffffc900010b6f48 966912b6c78fddbd ffffc900010b6f48 ffffffff8100b83b\n[ 1723.141973] Call Trace:\n[ 1723.142981]  \u003cIRQ\u003e \u003c0\u003e [\u003cffffffff81011022\u003e] kvm_arch_hardware_disable+0x26/0x3c\n[ 1723.158153]  [\u003cffffffff8100b83b\u003e] hardware_disable+0x3f/0x55\n[ 1723.172168]  [\u003cffffffff810b95f6\u003e] generic_smp_call_function_interrupt+0x76/0x13c\n[ 1723.178836]  [\u003cffffffff8104cbea\u003e] smp_call_function_interrupt+0x3a/0x5e\n[ 1723.194689]  [\u003cffffffff81035bf3\u003e] call_function_interrupt+0x13/0x20\n[ 1723.199750]  \u003cEOI\u003e \u003c0\u003e [\u003cffffffff814ad3b4\u003e] ? acpi_idle_enter_c1+0xd3/0xf4\n[ 1723.217508]  [\u003cffffffff814ad3ae\u003e] ? acpi_idle_enter_c1+0xcd/0xf4\n[ 1723.232172]  [\u003cffffffff814ad4bc\u003e] ? acpi_idle_enter_bm+0xe7/0x2ce\n[ 1723.235141]  [\u003cffffffff81a8d93f\u003e] ? __atomic_notifier_call_chain+0x0/0xac\n[ 1723.253381]  [\u003cffffffff818c3dff\u003e] ? menu_select+0x58/0xd2\n[ 1723.258179]  [\u003cffffffff818c2c9d\u003e] ? cpuidle_idle_call+0xa4/0xf3\n[ 1723.272828]  [\u003cffffffff81034085\u003e] ? cpu_idle+0xb8/0x101\n[ 1723.277085]  [\u003cffffffff81a80163\u003e] ? start_secondary+0x1bc/0x1d7\n[ 1723.293708] Code: b0 00 00 65 48 8b 04 25 28 00 00 00 48 89 45 e0 31 c0 48 8b 04 cd 30 ee 27 82 49 89 cc 49 89 d5 48 8b 04 10 48 8d b8 90 d7 ff ff \u003c48\u003e 8b 87 70 28 00 00 48 8d 98 90 d7 ff ff eb 16 e8 e9 fe ff ff\n[ 1723.335524] RIP  [\u003cffffffff8102c6b6\u003e] hardware_disable+0x4c/0xb4\n[ 1723.342076]  RSP \u003cffffc900010b6ed8\u003e\n[ 1723.352021] CR2: 0000000000000000\n[ 1723.354348] ---[ end trace e2aec53dae150aa1 ]---\n\nit turns out that we need clear cpus_hardware_enabled in that case.\n\nReported-and-tested-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "eaa958402ea40851097d051f52ba1bb7a885efe9",
      "tree": "9187f59ff0ee6ac138b5c81a2212bc10f46d04a5",
      "parents": [
        "0281b5dc0350cbf6dd21ed558a33cccce77abc02"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Sat Jun 06 14:51:36 2009 -0700"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jun 09 22:30:27 2009 +0930"
      },
      "message": "cpumask: alloc zeroed cpumask for static cpumask_var_ts\n\nThese are defined as static cpumask_var_t so if MAXSMP is not used,\nthey are cleared already.  Avoid surprises when MAXSMP is enabled.\n\nSigned-off-by: Yinghai Lu \u003cyinghai.lu@kernel.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "0281b5dc0350cbf6dd21ed558a33cccce77abc02",
      "tree": "4523b6f48722eee44a854207e268c71ae4d84771",
      "parents": [
        "3af968e066d593bc4dacc021715f3e95ddf0996f"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Sat Jun 06 14:50:36 2009 -0700"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Jun 09 22:30:26 2009 +0930"
      },
      "message": "cpumask: introduce zalloc_cpumask_var\n\nSo can get cpumask_var with cpumask_clear\n\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "52ea3a56a3268bc2a5a7c75e98c81463004e38ef",
      "tree": "4f99bbf8015d252c1a145a1b610db9eddb192f98",
      "parents": [
        "fdd7b4c3302c93f6833e338903ea77245eb510b4"
      ],
      "author": {
        "name": "Minoru Usui",
        "email": "usui@mxm.nes.nec.co.jp",
        "time": "Tue Jun 09 04:03:09 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 09 04:03:09 2009 -0700"
      },
      "message": "cls_cgroup: Fix oops when user send improperly \u0027tc filter add\u0027 request\n\nI found a bug in cls_cgroup_change() in cls_cgroup.c.\ncls_cgroup_change() expected tca[TCA_OPTIONS] was set from user space properly,\nbut tc in iproute2-2.6.29-1 (which I used) didn\u0027t set it.\n\nIn the current source code of tc in git, it set tca[TCA_OPTIONS].\n\n  git://git.kernel.org/pub/scm/linux/kernel/git/shemminger/iproute2.git\n\nIf we always use a newest iproute2 in git when we use cls_cgroup, \nwe don\u0027t face this oops probably.\nBut I think, kernel shouldn\u0027t panic regardless of use program\u0027s behaviour. \n\nSigned-off-by: Minoru Usui \u003cusui@mxm.nes.nec.co.jp\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "fdd7b4c3302c93f6833e338903ea77245eb510b4",
      "tree": "f09d48d0fbdde7c643b81fad64c402d7fe93b3d0",
      "parents": [
        "12186be7d2e1106cede1cc728526e3d7998cbe94"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Tue Jun 09 04:01:02 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Tue Jun 09 04:01:02 2009 -0700"
      },
      "message": "r8169: fix crash when large packets are received\n\nMichael Tokarev reported receiving a large packet could crash\na machine with RTL8169 NIC.\n( original thread at http://lkml.org/lkml/2009/6/8/192 )\n\nProblem is this driver tells that NIC frames up to 16383 bytes\ncan be received but provides skb to rx ring allocated with\nsmaller sizes (1536 bytes in case standard 1500 bytes MTU is used)\n\nWhen a frame larger than what was allocated by driver is received,\ndma transfert can occurs past the end of buffer and corrupt\nkernel memory.\n\nFix is to tell to NIC what is the maximum size a frame can be.\n\nThis bug is very old, (before git introduction, linux-2.6.10), and \nshould be backported to stable versions.\n\nReported-by: Michael Tokarev \u003cmjt@tls.msk.ru\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nTested-by: Michael Tokarev \u003cmjt@tls.msk.ru\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "0e6e0271a210817e202c8a4bfffbde3e3c0616d1",
      "tree": "0452e29d393b7688f09f38c98f113703d1b5cc3d",
      "parents": [
        "a8c906ca3f63d05f0d25490cf82276f73c6fe095"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Jun 09 16:32:22 2009 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Jun 09 16:32:22 2009 +1000"
      },
      "message": "md/raid5: fix bug in reshape code when chunk_size decreases.\n\nNow that we support changing the chunksize, we calculate\n\"reshape_sectors\" to be the max of number of sectors in old\nand new chunk size.\nHowever there is one please where we still use \u0027chunksize\u0027\nrather than \u0027reshape_sectors\u0027.\nThis causes a reshape that reduces the size of chunks to freeze.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "a8c906ca3f63d05f0d25490cf82276f73c6fe095",
      "tree": "993249ef5865a2ec81ed21e8934ed9c0eb9f33dd",
      "parents": [
        "f001a70cdc61c01452d42e8b32fd7c7842ef62d5"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Jun 09 14:39:59 2009 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Jun 09 14:39:59 2009 +1000"
      },
      "message": "md/raid5 - avoid deadlocks in get_active_stripe during reshape\n\nmd has functionality to \u0027quiesce\u0027 and array so that all pending\nIO completed and no new IO starts.  This is used to achieve a\nstable state before making internal changes.\n\nCurrently this quiescing applies equally to normal IO, resync\nIO, and reshape IO.\nHowever there is a problem with applying it to reshape IO.\nReshape can have multiple \u0027stripe_heads\u0027 that must be active together.\nIf the quiesce come between allocating the first and the last of\nsuch a collection, then we deadlock, as the last will not be allocated\nuntil the quiesce is lifted, the quiesce will not be lifted until the\nfirst (which has been allocated) gets used, and that first cannot be\nused until the last is allocated.\n\nIt is not necessary to inhibit reshape IO when a quiesce is\nrequested.  Those places in the code that require a full quiesce will\nensure the reshape thread is not running at all.\n\nSo allow reshape requests to get access to new stripe_heads without\nbeing blocked by a \u0027quiesce\u0027.\n\nThis only affects in-place reshapes (i.e. where the array does not\ngrow or shrink) and these are only newly supported.  So this patch is\nnot needed in earlier kernels.\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "f001a70cdc61c01452d42e8b32fd7c7842ef62d5",
      "tree": "6427a1baca4b818aa2081cbeb5534f2e6b17cf5e",
      "parents": [
        "ccc0d38ec13d4649d4168c1db590137df53ad783"
      ],
      "author": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Jun 09 14:30:31 2009 +1000"
      },
      "committer": {
        "name": "NeilBrown",
        "email": "neilb@suse.de",
        "time": "Tue Jun 09 14:30:31 2009 +1000"
      },
      "message": "md/raid5: use conf-\u003eraid_disks in preference to mddev-\u003eraid_disk\n\nmddev-\u003eraid_disks can be changed and any time by a request from\nuser-space.  It is a suggestion as to what number of raid_disks is\ndesired.\n\nconf-\u003eraid_disks can only be changed by the raid5 module with suitable\nlocks in place.  It is a statement as to the current number of\nraid_disks.\n\nThere are two places where the latter should be used, but the former\nis used.  This can lead to a crash when reshaping an array.\n\nThis patch changes to mddev-\u003e to conf-\u003e\n\nSigned-off-by: NeilBrown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "3af968e066d593bc4dacc021715f3e95ddf0996f",
      "tree": "37851a67d855e228d503a569973469b067ef218a",
      "parents": [
        "46056be71c37378f518711da651e4bb76d650ee9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 08 12:31:53 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 08 12:31:53 2009 -0700"
      },
      "message": "async: Fix lack of boot-time console due to insufficient synchronization\n\nOur async work synchronization was broken by \"async: make sure\nindependent async domains can\u0027t accidentally entangle\" (commit\nd5a877e8dd409d8c702986d06485c374b705d340), because it would report\nthe wrong lowest active async ID when there was both running and\npending async work.\n\nThis caused things like no being able to read the root filesystem,\nresulting in missing console devices and inability to run \u0027init\u0027,\ncausing a boot-time panic.\n\nThis fixes it by properly returning the lowest pending async ID: if\nthere is any running async work, that will have a lower ID than any\npending work, and we should _not_ look at the pending work list.\n\nThere were alternative patches from Jaswinder and James, but this one\nalso cleans up the code by removing the pointless \u0027ret\u0027 variable and\nthe unnecesary testing for an empty list around \u0027for_each_entry()\u0027 (if\nthe list is empty, the for_each_entry() thing just won\u0027t execute).\n\nFixes-bug: http://bugzilla.kernel.org/show_bug.cgi?id\u003d13474\nReported-and-tested-by: Chris Clayton \u003cchris2553@googlemail.com\u003e\nCc: Jaswinder Singh Rajput \u003cjaswinder@kernel.org\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "46056be71c37378f518711da651e4bb76d650ee9",
      "tree": "63c563bc3b84f22b517114ebb101b991958228a4",
      "parents": [
        "5284c6b99ea017f73c09b50f34a637ff9d5d26a0",
        "5636919b5c909fee54a6ef5226475ecae012ad02"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 08 09:22:53 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 08 09:22:53 2009 -0700"
      },
      "message": "Merge branch \u0027upstream\u0027 of git://ftp.linux-mips.org/pub/scm/upstream-linus\n\n* \u0027upstream\u0027 of git://ftp.linux-mips.org/pub/scm/upstream-linus:\n  MIPS: Outline udelay and fix a few issues.\n  MIPS: ioctl.h: Fix headers_check warnings\n  MIPS: Cobalt: PCI bus is always required to obtain the board ID\n  MIPS: Kconfig: Remove \"Support for\" from Cavium system type\n  MIPS: Sibyte: Honor CONFIG_CMDLINE\n  SSB: BCM47xx: Export ssb_watchdog_timer_set\n"
    },
    {
      "commit": "5284c6b99ea017f73c09b50f34a637ff9d5d26a0",
      "tree": "9bcaab75026c94d92e54e1ec74395b3236d445b7",
      "parents": [
        "c7e9cb4c0c6d6807e9b07ec1b01fecac0c7b0532"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Mon Jun 08 12:31:00 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 08 09:12:28 2009 -0700"
      },
      "message": "pata_netcell: Fix typo\n\nThe previous patch submission had a I typo I didn\u0027t catch but Bartlomiej\nnoted. Guess this proves the point about any patch being risky late in an rc\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "c7e9cb4c0c6d6807e9b07ec1b01fecac0c7b0532",
      "tree": "8b314b85cec0540dfbe3d7edc713af2475e7a1f1",
      "parents": [
        "c46f87f121f815a67e84379511310e5c03862a60",
        "a4c0364be3f43d3e17fe19270f8b3d64881606e6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 08 09:05:48 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 08 09:05:48 2009 -0700"
      },
      "message": "Merge branch \u0027kvm-updates/2.6.30\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm\n\n* \u0027kvm-updates/2.6.30\u0027 of git://git.kernel.org/pub/scm/virt/kvm/kvm:\n  KVM: Explicity initialize cpus_hardware_enabled\n"
    },
    {
      "commit": "c46f87f121f815a67e84379511310e5c03862a60",
      "tree": "56c25d0ab7cd45b388810629afb52f8a983d7aa6",
      "parents": [
        "6025974bab1c3da8662df79bdeb694588bc3eb93",
        "669165daad2ec839df85b8c5f7bc155e76a2f404"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 08 09:04:55 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 08 09:04:55 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6:\n  pdc202xx_old: fix resetproc() method\n  pdc202xx_old: fix \u0027pdc20246_dma_ops\u0027\n"
    },
    {
      "commit": "5636919b5c909fee54a6ef5226475ecae012ad02",
      "tree": "c77fa89c56ee2d493fb82117ab5dbc5b28a8deeb",
      "parents": [
        "3a553147eaad5d4de90ab1f695aa13ddbea684ec"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Sat Feb 28 09:44:28 2009 +0000"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Jun 08 16:57:51 2009 +0100"
      },
      "message": "MIPS: Outline udelay and fix a few issues.\n\nOutlining fixes the issue were on certain CPUs such as the R10000 family\nthe delay loop would need an extra cycle if it overlaps a cacheline\nboundary.\n\nThe rewrite also fixes build errors with GCC 4.4 which was changed in\nway incompatible with the kernel\u0027s inline assembly.\n\nRelying on pure C for computation of the delay value removes the need for\nexplicit.  The price we pay is a slight slowdown of the computation - to\nbe fixed on another day.\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "3a553147eaad5d4de90ab1f695aa13ddbea684ec",
      "tree": "2fa920074f701d1b79529520428745983f44a599",
      "parents": [
        "e25bfc9243f2eab12a2ce92b7f4b8a2e3e6949a6"
      ],
      "author": {
        "name": "Jaswinder Singh Rajput",
        "email": "jaswinder@kernel.org",
        "time": "Thu Jun 04 18:05:49 2009 +0530"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Jun 08 16:57:51 2009 +0100"
      },
      "message": "MIPS: ioctl.h: Fix headers_check warnings\n\nMake ioctl.h compatible with asm-generic/ioctl.h and userspace\n\nfix the following \u0027make headers_check\u0027 warning:\n\n  usr/include/asm-mips/ioctl.h:64: extern\u0027s make no sense in userspace\n\nSigned-off-by: Jaswinder Singh Rajput \u003cjaswinderrajput@gmail.com\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "e25bfc9243f2eab12a2ce92b7f4b8a2e3e6949a6",
      "tree": "2829e2a9341cba56d6af96824b37bfcd0fc5336d",
      "parents": [
        "c9d89d97f0d174b9154820dd5c6726d1c794cd99"
      ],
      "author": {
        "name": "Yoichi Yuasa",
        "email": "yoichi_yuasa@tripeaks.co.jp",
        "time": "Tue Jun 02 23:17:07 2009 +0900"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Jun 08 16:57:50 2009 +0100"
      },
      "message": "MIPS: Cobalt: PCI bus is always required to obtain the board ID\n\nSigned-off-by: Yoichi Yuasa \u003cyoichi_yuasa@tripeaks.co.jp\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "c9d89d97f0d174b9154820dd5c6726d1c794cd99",
      "tree": "74a940addc6ba9293bc757925cfbb733fc4d27d8",
      "parents": [
        "e082f188f774544bc2c2edf51176157503c98fe4"
      ],
      "author": {
        "name": "Yoichi Yuasa",
        "email": "yoichi_yuasa@tripeaks.co.jp",
        "time": "Tue Jun 02 23:15:10 2009 +0900"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Jun 08 16:57:50 2009 +0100"
      },
      "message": "MIPS: Kconfig: Remove \"Support for\" from Cavium system type\n\nSigned-off-by: Yoichi Yuasa \u003cyoichi_yuasa@tripeaks.co.jp\u003e\nAcked-by: David Daney \u003cddaney@caviumnetworks.com\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "e082f188f774544bc2c2edf51176157503c98fe4",
      "tree": "55046f4b2dcb1afee5a23b1bfb37537682c8b27f",
      "parents": [
        "e36b80b658d471be5a8a40f00e2c7614524b86a2"
      ],
      "author": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Tue Jun 02 19:05:28 2009 +0100"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Jun 08 16:57:50 2009 +0100"
      },
      "message": "MIPS: Sibyte: Honor CONFIG_CMDLINE\n\nOriginal patch by Imre Kaloz \u003ckaloz@openwrt.org\u003e.\n\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "e36b80b658d471be5a8a40f00e2c7614524b86a2",
      "tree": "4184c1bf2e79282ac44060baa95b8e2871321cfb",
      "parents": [
        "ccc0d38ec13d4649d4168c1db590137df53ad783"
      ],
      "author": {
        "name": "Matthieu Castet",
        "email": "castet.matthieu@free.fr",
        "time": "Fri May 22 22:25:04 2009 +0200"
      },
      "committer": {
        "name": "Ralf Baechle",
        "email": "ralf@linux-mips.org",
        "time": "Mon Jun 08 16:57:50 2009 +0100"
      },
      "message": "SSB: BCM47xx: Export ssb_watchdog_timer_set\n\nthis patch export ssb_watchdog_timer_set to allow to use it in a Linux \nwatchdog driver.\n\nSigned-off-by: Matthieu CASTET \u003ccastet.matthieu@free.fr\u003e\nAcked-by : Michael Buesch \u003cmb@bu3sch.de\u003e\nSigned-off-by: Ralf Baechle \u003cralf@linux-mips.org\u003e\n"
    },
    {
      "commit": "6025974bab1c3da8662df79bdeb694588bc3eb93",
      "tree": "27a8fbd7544f7ddcedee541954ab2af04338db4a",
      "parents": [
        "33fa108ed1fa46a53a99dd853bdec7c8eaed4732",
        "aa853f85d9ed593672d0f24a98c72a2518cb63e6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 08 08:29:31 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 08 08:29:31 2009 -0700"
      },
      "message": "Merge master.kernel.org:/home/rmk/linux-2.6-arm\n\n* master.kernel.org:/home/rmk/linux-2.6-arm:\n  [ARM] 5543/1: arm: serial amba: add missing declaration in serial.h\n  [ARM] pxa: fix pxa27x_udc default pullup GPIO\n  [ARM] pxa/imote2: fix UCAM sensor board ADC model number\n  mx[23]: don\u0027t put clock lookups in __initdata\n  fix oops when using console\u003dttymxcN with N \u003e 0\n  [ARM] ARMv7 errata: only apply fixes when running on applicable CPU\n  [ARM] 5534/1: kmalloc must return a cache line aligned buffer\n"
    },
    {
      "commit": "33fa108ed1fa46a53a99dd853bdec7c8eaed4732",
      "tree": "fcc5e1ea7d52b315b4b518f65dd6b07089a20abe",
      "parents": [
        "ccc0d38ec13d4649d4168c1db590137df53ad783",
        "fbf6a5fcbcc2248f1e676f7a0a7d49cd4b535d2a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 08 07:53:59 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 08 07:53:59 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/drzeus/mmc:\n  sdhci-of: Fix the wrong accessor to HOSTVER register\n  mvsdio: fix config failure with some high speed SDHC cards\n  mvsdio: ignore high speed timing requests from the core\n  mmc/omap: Use disable_irq_nosync() from within irq handlers.\n  sdhci-of: Add fsl,esdhc as a valid compatible to bind against\n  mvsdio: allow automatic loading when modular\n  mxcmmc: Fix missing return value checking in DMA setup code.\n  mxcmmc : Reset the SDHC hardware if software timeout occurs.\n  omap_hsmmc: Trivial fix for a typo in comment\n  mxcmmc: decrease minimum frequency to make MMC cards work\n"
    },
    {
      "commit": "a4c0364be3f43d3e17fe19270f8b3d64881606e6",
      "tree": "c1ccc1f5d96a25e36d20874dd15a48e6fb05d3ee",
      "parents": [
        "ccc0d38ec13d4649d4168c1db590137df53ad783"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Sat Jun 06 12:34:39 2009 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@redhat.com",
        "time": "Mon Jun 08 10:50:46 2009 +0300"
      },
      "message": "KVM: Explicity initialize cpus_hardware_enabled\n\nUnder CONFIG_MAXSMP, cpus_hardware_enabled is allocated from the heap and\nnot statically initialized.  This causes a crash on reboot when kvm thinks\nvmx is enabled on random nonexistent cpus and accesses nonexistent percpu\nlists.\n\nFix by explicitly clearing the variable.\n\nCc: stable@kernel.org\nReported-and-tested-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nSigned-off-by: Avi Kivity \u003cavi@redhat.com\u003e\n"
    },
    {
      "commit": "aa853f85d9ed593672d0f24a98c72a2518cb63e6",
      "tree": "e86a9c1c224a918802c421336ad411742c8f8a2e",
      "parents": [
        "754c0f9a95b685163cfa9ea3ba9bd48310f9b06f"
      ],
      "author": {
        "name": "Alessandro Rubini",
        "email": "rubini@gnudd.com",
        "time": "Sat Jun 06 10:17:57 2009 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Sun Jun 07 16:19:47 2009 +0100"
      },
      "message": "[ARM] 5543/1: arm: serial amba: add missing declaration in serial.h\n\nThis header is sometimes included in the uncompress stage to get\nregister values, but no \u003clinux/amba/bus.h\u003e can be included there.\nSo declare \"struct amba_device\" here before using it in a prototype.\n\nSigned-off-by: Alessandro Rubini \u003crubini@unipv.it\u003e\nAcked-by: Andrea Gallo \u003candrea.gallo@stericsson.com\u003e\nSigned-off-by: Russell King \u003crmk+kernel@arm.linux.org.uk\u003e\n"
    },
    {
      "commit": "669165daad2ec839df85b8c5f7bc155e76a2f404",
      "tree": "8f30dad6d22568f42bf187264f267b80ac88b1e4",
      "parents": [
        "521a415c9f6d4e5463807ce6d36598acabcd204f"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Sun Jun 07 13:52:50 2009 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sun Jun 07 13:52:50 2009 +0200"
      },
      "message": "pdc202xx_old: fix resetproc() method\n\npdc202xx_reset() calls pdc202xx_reset_host() twice, for both channels, while\nthat function actually twiddles the single, shared software reset bit -- the\nnet effect is a duplicated reset and horrendous 4 second delay happening not\nonly on a channel reset but also when dma_lost_irq() and dma_clear() methods\nare called.  Fold pdc202xx_reset_host() into pdc202xx_reset(), fix printk(),\nand move it before the actual reset...\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "521a415c9f6d4e5463807ce6d36598acabcd204f",
      "tree": "31c561cbbb304c464bdeaaf54a97055ec2aa42a0",
      "parents": [
        "c339dfdd65b52bfd947ab29d1210314a2f6d622d"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Sun Jun 07 13:52:50 2009 +0200"
      },
      "committer": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Sun Jun 07 13:52:50 2009 +0200"
      },
      "message": "pdc202xx_old: fix \u0027pdc20246_dma_ops\u0027\n\nCommit ac95beedf8bc97b24f9540d4da9952f07221c023 (ide: add struct ide_port_ops\n(take 2)) erroneously converted the driver\u0027s dma_timeout() and dma_lost_irq()\nmethods to call the driver\u0027s resetproc() method regardless of whether it was\ndefined for this specific controller while it hadn\u0027t been defined and hence\ncalled for PDC20246. So the dma_clear() method, the successor of dma_timeout(),\nshouldn\u0027t exist and the dma_lost_irq() method should be standard for PDC20246.\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\n"
    },
    {
      "commit": "ccc0d38ec13d4649d4168c1db590137df53ad783",
      "tree": "8512448edfcaeb7a0604a4872a380ff233c1f50a",
      "parents": [
        "f07502dae230a2c3b65381fd1b06e8a18b2c7525",
        "75e613cdc7bb2ba3795b1bc3ddf19476c767ba68"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 06 14:33:54 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 06 14:33:54 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:\n  x86/pci: fix mmconfig detection with 32bit near 4g\n  PCI: use fixed-up device class when configuring device\n"
    },
    {
      "commit": "f07502dae230a2c3b65381fd1b06e8a18b2c7525",
      "tree": "0576d509666204c8c2ad3fd023c673b46f57bf78",
      "parents": [
        "81ee1bad86bd6752c626018d43a74e3f81f1ae72"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh.dickins@tiscali.co.uk",
        "time": "Sat Jun 06 21:18:09 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 06 14:33:41 2009 -0700"
      },
      "message": "integrity: fix IMA inode leak\n\nCONFIG_IMA\u003dy inode activity leaks iint_cache and radix_tree_node objects\nuntil the system runs out of memory.  Nowhere is calling ima_inode_free()\na.k.a. ima_iint_delete().  Fix that by calling it from destroy_inode().\n\nSigned-off-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "81ee1bad86bd6752c626018d43a74e3f81f1ae72",
      "tree": "fb4b04433a95989dddd7729be3fe6a3250c90cb5",
      "parents": [
        "9ccb1aa16cef6316831fef61e4aeaa3784035cb8",
        "72a43d63cb51057393edfbcfc4596066205ad15d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 06 12:18:14 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 06 12:18:14 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/viro/vfs-2.6:\n  ext3/4 with synchronous writes gets wedged by Postfix\n  Fix nobh_truncate_page() to not pass stack garbage to get_block()\n"
    },
    {
      "commit": "9ccb1aa16cef6316831fef61e4aeaa3784035cb8",
      "tree": "ff6d41695b8d715c9a96e2cd5674cf7da398ea51",
      "parents": [
        "064e38aaded5269e573ac1c765284fd65c8ebd13",
        "a3cb900cc408977a11519bc7c760f3e499079589"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 06 12:17:03 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 06 12:17:03 2009 -0700"
      },
      "message": "Merge branch \u0027upstream-linus2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev\n\n* \u0027upstream-linus2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:\n  [libata] pata_ali: Use IGN_SIMPLEX\n"
    },
    {
      "commit": "72a43d63cb51057393edfbcfc4596066205ad15d",
      "tree": "25b59cdaa08aabadc20100bd2a0c12b5feeaf520",
      "parents": [
        "460bcf57b128ce1c0dd553d905fedc097f9955c6"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@ZenIV.linux.org.uk",
        "time": "Wed May 13 19:13:40 2009 +0100"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 06 06:17:26 2009 -0400"
      },
      "message": "ext3/4 with synchronous writes gets wedged by Postfix\n\nOK, that\u0027s probably the easiest way to do that, as much as I don\u0027t like it...\nSince iget() et.al. will not accept I_FREEING (will wait to go away\nand restart), and since we\u0027d better have serialization between new/free\non fs data structures anyway, we can afford simply skipping I_FREEING\net.al. in insert_inode_locked().\n\nWe do that from new_inode, so it won\u0027t race with free_inode in any interesting\nways and it won\u0027t race with iget (of any origin; nfsd or in case of fs\ncorruption a lookup) since both still will wait for I_LOCK.\n\nReviewed-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nAcked-by: Jan Kara \u003cjack@suse.cz\u003e\nTested-by: David Watson \u003cdbwatson@ukfsn.org\u003e\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "460bcf57b128ce1c0dd553d905fedc097f9955c6",
      "tree": "5e5f45d6c3b5584a086a306a67d4fb984fef5653",
      "parents": [
        "064e38aaded5269e573ac1c765284fd65c8ebd13"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue May 12 07:37:56 2009 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Sat Jun 06 06:17:25 2009 -0400"
      },
      "message": "Fix nobh_truncate_page() to not pass stack garbage to get_block()\n\nThe nobh_truncate_page() function is used by ext2, exofs, and jfs.  Of\nthese three, only ext2 and jfs\u0027s get_block() function pays attention\nto bh-\u003eb_size --- which is normally always the filesystem blocksize\nexcept when the get_block() function is called by either\nmpage_readpage(), mpage_readpages(), or the direct I/O routines in\nfs/direct_io.c.\n\nUnfortunately, nobh_truncate_page() does not initialize map_bh before\ncalling the filesystem-supplied get_block() function.  So ext2 and jfs\nwill try to calculate the number of blocks to map by taking stack\ngarbage and shifting it left by inode-\u003ei_blkbits.  This should be\n*mostly* harmless (except the filesystem will do some unnneeded work)\nunless the stack garbage is less than filesystem\u0027s blocksize, in which\ncase maxblocks will be zero, and the attempt to find out whether or\nnot the filesystem has a hole at a given logical block will fail, and\nthe page cache entry might not get zero\u0027ed out.\n\nAlso if the stack garbage in in map_bh-\u003estate happens to have the\nBH_Mapped bit set, there could be an attempt to call readpage() on a\nnon-existent page, which could cause nobh_truncate_page() to return an\nerror when it should not.\n\nFix this by initializing map_bh-\u003estate and map_bh-\u003esize.\n\nFortunately, it\u0027s probably fairly unlikely that ext2 and jfs users\nmount with nobh these days.\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Dave Kleikamp \u003cshaggy@linux.vnet.ibm.com\u003e\nCc: linux-fsdevel@vger.kernel.org\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "a3cb900cc408977a11519bc7c760f3e499079589",
      "tree": "e89cf76bf484081ea057b5362445a7ec667c0162",
      "parents": [
        "65e31643115349fd7a81acbe75ec4a54d5df8aad"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Wed May 13 15:02:27 2009 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri Jun 05 17:10:54 2009 -0400"
      },
      "message": "[libata] pata_ali: Use IGN_SIMPLEX\n\nSome ALi devices report simplex if they have been disabled and re-enabled, and\nrestoring the byte does not work. Ignore it - the needed supporting logic is\nalready present for the SATA ULi ports.\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "064e38aaded5269e573ac1c765284fd65c8ebd13",
      "tree": "efce870caf67069df9dd42d95a232a347bbbdb17",
      "parents": [
        "cd24f8c1e7e27a2c6051a9a338d4704a2431dbf0",
        "44fb5511638938a2c37c895abc14df648ffc07e9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 05 11:54:28 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 05 11:54:28 2009 -0700"
      },
      "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 oops and use after free during space balancing\n  Btrfs: set device-\u003etotal_disk_bytes when adding new device\n"
    },
    {
      "commit": "cd24f8c1e7e27a2c6051a9a338d4704a2431dbf0",
      "tree": "c872341d05fd36baa1726dceb7bf17e72e212c4b",
      "parents": [
        "be94a4ba093c75e06b6fd2b0476f34812fbd359e"
      ],
      "author": {
        "name": "Kevin Hilman",
        "email": "khilman@deeprootsystems.com",
        "time": "Fri Jun 05 18:48:08 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 05 11:54:17 2009 -0700"
      },
      "message": "mtd: davinci nand: update clock naming\n\nDaVinci clock support has been updated in mainline.\nUpdate clock names accordingly.\n\nSigned-off-by: Kevin Hilman \u003ckhilman@deeprootsystems.com\u003e\nAcked-by: David Brownell \u003cdbrownell@users.sourceforge.net\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "be94a4ba093c75e06b6fd2b0476f34812fbd359e",
      "tree": "0e6929aa585c3d5bf576f214457ab67dd02474f4",
      "parents": [
        "a4e4b646eb62ca4ce755e2c17aef8f42c8608821",
        "65e31643115349fd7a81acbe75ec4a54d5df8aad"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 05 11:53:44 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 05 11:53:44 2009 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:\n  ata_piix: Add HP Compaq nc6000 to the broken poweroff list\n  ahci: add warning messages for hp laptops with broken suspend\n  pata_efar: fix PIO2 underclocking\n  pata_legacy: wait for async probing\n"
    },
    {
      "commit": "65e31643115349fd7a81acbe75ec4a54d5df8aad",
      "tree": "c52d336bf885c3c0678dbb75ceae5f5a2e27ece9",
      "parents": [
        "9b10ae86d1616f46dabb67c663fe6a9c3a502663"
      ],
      "author": {
        "name": "Ville Syrjala",
        "email": "syrjala@sci.fi",
        "time": "Tue May 19 01:37:44 2009 +0300"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri Jun 05 14:41:13 2009 -0400"
      },
      "message": "ata_piix: Add HP Compaq nc6000 to the broken poweroff list\n\nHP Compaq nc6000 suffers from the double disk spindown issue.\nAdd it to the broken poweroff DMI list.\n\nSigned-off-by: Ville Syrjala \u003csyrjala@sci.fi\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "9b10ae86d1616f46dabb67c663fe6a9c3a502663",
      "tree": "c3bf64acd494039fe4b152c84866aac483e71267",
      "parents": [
        "5f33b3bcd7aac66a51e6bfaf35e8cff4eabafb06"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Sat May 30 20:50:12 2009 +0900"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri Jun 05 14:41:10 2009 -0400"
      },
      "message": "ahci: add warning messages for hp laptops with broken suspend\n\nHarddisks on HP dv[4-6] and HDX18 fail to come online after resume on\nearlier BIOSen.  Fortunately, HP recently released BIOS updates for\nall machines to fix the issue.  Detect old BIOSen, warn the user to\nupdate BIOS on boot and suspend attempts and fail suspend.\n\nKudos to all the bug reporters.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: kernel.org@epperson.homelinux.net\nCc: emisca@gmail.com\nCc: Gadi Cohen \u003cdragon@wastelands.net\u003e\nCc: Paul Swanson \u003cpaul@procursa.com\u003e\nCc: s@ourada.org\nCc: Trevor Davenport \u003ctrevor.davenport@gmail.com\u003e\nCc: corruptor1972 \u003csteven_tierney@yahoo.co.uk\u003e\nCc: Victoria Wilson \u003cmail@vwilson.co.uk\u003e\nCc: khiraly \u003ckhiraly.list@gmail.com\u003e\nCc: Sean \u003cwollombi@gmail.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "5f33b3bcd7aac66a51e6bfaf35e8cff4eabafb06",
      "tree": "e7fb3ad1f7b3b185d48fb153df44806e6c637cb2",
      "parents": [
        "45bc955bb1324a46c9539550cc615994e6d0a43d"
      ],
      "author": {
        "name": "Sergei Shtylyov",
        "email": "sshtylyov@ru.mvista.com",
        "time": "Mon Jun 01 22:42:10 2009 +0300"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri Jun 05 14:40:52 2009 -0400"
      },
      "message": "pata_efar: fix PIO2 underclocking\n\nFix the PIO mode 2 using mode 0 timings -- this driver should enable the\nfast timing bank starting with PIO2, just like the PIIX/ICH drivers do.\nAlso, fix/rephrase some comments while at it.\n\nSigned-off-by: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "45bc955bb1324a46c9539550cc615994e6d0a43d",
      "tree": "93c7349e666c5f13fec8dde04b5c8ac2c9e1a251",
      "parents": [
        "edaba2c5334492f82d39ec35637c6dea5176a977"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Jun 05 10:41:39 2009 -0400"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Fri Jun 05 14:40:46 2009 -0400"
      },
      "message": "pata_legacy: wait for async probing\n\nThe basic problem here that pata_legacy attaches the host, sees if it found\nany devices and detaches it if none were found.  With async probing, it\u0027s not\nwaiting until discovery is finished before deciding it has no devices and\ntrying the detach leading to this warning:\n\nata1: PATA max PIO4 cmd 0x1f0 ctl 0x3f6 irq 14\n------------[ cut here ]------------\nWARNING: at drivers/ata/libata-core.c:6222 ata_host_detach+0x75/0x90()\nModules linked in:\nPid: 1, comm: swapper Not tainted 2.6.30-rc7 #1\nCall Trace:\n [\u003cc01fbb05\u003e] ? ata_host_detach+0x75/0x90\n [\u003cc01fbb05\u003e] ? ata_host_detach+0x75/0x90\n [\u003cc01139b5\u003e] ? warn_slowpath_common+0x45/0x80\n [\u003cc01139fa\u003e] ? warn_slowpath_null+0xa/0x10\n [\u003cc01fbb05\u003e] ? ata_host_detach+0x75/0x90\n [\u003cc02f40e0\u003e] ? legacy_init+0x44e/0x87f\n [\u003cc02f3c92\u003e] ? legacy_init+0x0/0x87f\n [\u003cc0101021\u003e] ? _stext+0x21/0x140\n [\u003cc01890ff\u003e] ? proc_register+0x2f/0x190\n [\u003cc018938c\u003e] ? create_proc_entry+0x5c/0xc0\n [\u003cc0135ebe\u003e] ? register_irq_proc+0x6e/0x90\n [\u003cc02e6484\u003e] ? kernel_init+0x6e/0xbf\n [\u003cc02e6416\u003e] ? kernel_init+0x0/0xbf\n [\u003cc01031d7\u003e] ? kernel_thread_helper+0x7/0x10\n---[ end trace ef1ee36e873ae3a0 ]---\n\nBecause it detaches before the probe is complete.\n\nOne way to fix it would be to put an async_synchronize_full() before looking\nfor devices, which this patch does.  A better way might be to separate libata\ninto its own domain and only wait for that.\n\nReported-by: Mikael Pettersson \u003cmikpe@it.uu.se\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "a4e4b646eb62ca4ce755e2c17aef8f42c8608821",
      "tree": "caaf965a5f6dfc8fb11adfaa9408a37c8478645d",
      "parents": [
        "27704a16c9e0fb4c6b04344c7c4c40ac16148ec0",
        "2c701b10283b58937201004276319ef9d9051b5d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 05 10:46:48 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 05 10:46:48 2009 -0700"
      },
      "message": "Merge branch \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq\n\n* \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:\n  [CPUFREQ] powernow-k8: check space_id of _PCT registers to be FFH\n"
    },
    {
      "commit": "2c701b10283b58937201004276319ef9d9051b5d",
      "tree": "20ff3bbfd1f791ac356bc0c8d043f04b0d14cd47",
      "parents": [
        "edaba2c5334492f82d39ec35637c6dea5176a977"
      ],
      "author": {
        "name": "Dave Jones",
        "email": "davej@codemonkey.org.uk",
        "time": "Fri Jun 05 12:37:07 2009 -0400"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Fri Jun 05 13:25:25 2009 -0400"
      },
      "message": "[CPUFREQ] powernow-k8: check space_id of _PCT registers to be FFH\n\nThe powernow-k8 driver checks to see that the Performance Control/Status\nRegisters are declared as FFH (functional fixed hardware) by the BIOS.\nHowever, this check got broken in the commit:\n 0e64a0c982c06a6b8f5e2a7f29eb108fdf257b2f\n [CPUFREQ] checkpatch cleanups for powernow-k8\n\nFix based on an original patch from Naga Chumbalkar.\n\nSigned-off-by: Naga Chumbalkar \u003cnagananda.chumbalkar@hp.com\u003e\nCc: Mark Langsdorf \u003cmark.langsdorf@amd.com\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "27704a16c9e0fb4c6b04344c7c4c40ac16148ec0",
      "tree": "12d63907313d6a5a9483180824df512674301cd6",
      "parents": [
        "e9e10124e269a39de089c5e0d9936fae2ff889b2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 05 10:21:52 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 05 10:21:52 2009 -0700"
      },
      "message": "Revert \"drm: don\u0027t associate _DRM_DRIVER maps with a master\"\n\nThis reverts commit 6c51d1cfa0a370b48a157163340190cf5fd2346b, which\napparently causes DRI initialization failures on Radeons.\n\nReported-by: Markus Trippelsdorf \u003cmarkus@trippelsdorf.de\u003e\nRequested-by: Dave Airlie \u003cairlied@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e9e10124e269a39de089c5e0d9936fae2ff889b2",
      "tree": "ca2327be762018a8fe0a5c1a45a37478a000d931",
      "parents": [
        "edaba2c5334492f82d39ec35637c6dea5176a977"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@linux.intel.com",
        "time": "Fri Jun 05 11:56:18 2009 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 05 08:05:23 2009 -0700"
      },
      "message": "ivtv: Fix PCI DMA direction\n\nThe ivtv stream buffers may be for receive or for send but the attached\nsg handle is always destined cpu-\u003edevice.  We flush it correctly but the\nallocation is wrongly done with the same type as the buffers.\n\nSee bug: http://bugzilla.kernel.org/show_bug.cgi?id\u003d13385\n\n(Note this doesn\u0027t close the bug - it fixes the ivtv part and in turn\nthe logging next shows up some rather alarming DMA sg list warnings in\nlibata)\n\nSigned-off-by: Alan Cox \u003calan@linux.intel.com\u003e\nAcked-by: Hans Verkuil \u003chverkuil@xs4all.nl\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "edaba2c5334492f82d39ec35637c6dea5176a977",
      "tree": "d05ee0eacdb0c725da8374e9c1f38a4808dfdd2e",
      "parents": [
        "08f67461c609ad96bf26732b590569e02e322019"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Thu Jun 04 16:29:09 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 04 18:07:40 2009 -0700"
      },
      "message": "ptrace: revert \"ptrace_detach: the wrong wakeup breaks the ERESTARTxxx logic\"\n\nCommit 95a3540da9c81a5987be810e1d9a83640a366bd5 (\"ptrace_detach: the wrong\nwakeup breaks the ERESTARTxxx logic\") removed the \"extra\"\nwake_up_process() from ptrace_detach(), but as Jan pointed out this breaks\nthe compatibility.\n\nI believe the changelog is right and this wake_up() is wrong in many\nways, but GDB assumes that ptrace(PTRACE_DETACH, child, 0, 0) always\nwakes up the tracee.\n\nDespite the fact this breaks SIGNAL_STOP_STOPPED/group_stop_count logic,\nand despite the fact this wake_up_process() can break another\nassumption: PTRACE_DETACH with SIGSTOP should leave the tracee in\nTASK_STOPPED case.  Because the untraced child can dequeue SIGSTOP and\ncall do_signal_stop() before ptrace_detach() calls wake_up_process().\n\nRevert this change for now.  We need some fixes even if we we want to keep\nthe current behaviour, but these fixes are not for 2.6.30.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Jan Kratochvil \u003cjan.kratochvil@redhat.com\u003e\nCc: Denys Vlasenko \u003cdvlasenk@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": "08f67461c609ad96bf26732b590569e02e322019",
      "tree": "ffa72aebfc826a9e0fd62d05188c83360949274f",
      "parents": [
        "087eb437051b3de817720f9c80c440fc9e7dcce8"
      ],
      "author": {
        "name": "Mike Frysinger",
        "email": "vapier@gentoo.org",
        "time": "Thu Jun 04 16:29:08 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 04 18:07:40 2009 -0700"
      },
      "message": "kbuild: fix detection of CONFIG_FRAME_WARN\u003d0\n\nThe checking of CONFIG_FRAME_WARN in the top level Makefile forgot to\nactually derefence the variable thus leading to an always true check.\n\nSigned-off-by: Mike Frysinger \u003cvapier@gentoo.org\u003e\nCc: Andi Kleen \u003cak@suse.de\u003e\nCc: Sam Ravnborg \u003csam@ravnborg.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "087eb437051b3de817720f9c80c440fc9e7dcce8",
      "tree": "25a72acabe05c3e72dddd942855d4245dfae4b82",
      "parents": [
        "b87297fb405ef13cac375f202d114323b076a56d"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Thu Jun 04 16:29:07 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 04 18:07:40 2009 -0700"
      },
      "message": "ptrace: tracehook_report_clone: fix false positives\n\nThe \"trace || CLONE_PTRACE\" check in tracehook_report_clone() is not right,\n\n- If the untraced task does clone(CLONE_PTRACE) the new child is not traced,\n  we must not queue SIGSTOP.\n\n- If we forked the traced task, but the tracer exits and untraces both the\n  forking task and the new child (after copy_process() drops tasklist_lock),\n  we should not queue SIGSTOP too.\n\nChange the code to check task_ptrace() !\u003d 0 instead. This is still racy, but\nthe race is harmless.\n\nWe can race with another tracer attaching to this child, or the tracer can\nexit and detach in parallel. But giwen that we didn\u0027t do wake_up_new_task()\nyet, the child must have the pending SIGSTOP anyway.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: Roland McGrath \u003croland@redhat.com\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\nCc: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b87297fb405ef13cac375f202d114323b076a56d",
      "tree": "dee71f28b6e8b88668bc77b5c23fa7733f5e5916",
      "parents": [
        "b63254c71a46d7af2e3f00342b0592dfcd77b342",
        "0e7ddf7eeeef5aea85412120539ab5369577faeb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 04 15:23:51 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 04 15:23:51 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel:\n  drm/i915: Remove a bad BUG_ON in the fence management code.\n"
    },
    {
      "commit": "b63254c71a46d7af2e3f00342b0592dfcd77b342",
      "tree": "cdf9a2b48358b1843bf4e67bb80dde490d04c1fc",
      "parents": [
        "730c586ad5228c339949b2eb4e72b80ae167abc4",
        "fc43896630a421321a19d7970bac27ac94e9d162"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 04 15:23:39 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 04 15:23:39 2009 -0700"
      },
      "message": "Merge branch \u0027drm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6\n\n* \u0027drm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:\n  drm: ignore EDID with really tiny modes.\n  drm: don\u0027t associate _DRM_DRIVER maps with a master\n  drm/i915: intel_lvds.c fix section mismatch\n  drm: Hook up DPMS property handling in drm_crtc.c. Add drm_helper_connector_dpms.\n  drm: set permissions on edid file to 0444\n  drm: add newlines to text sysfs files\n  drm/radeon: fix ring free alignment calculations\n  drm: fix irq naming for kms drivers.\n"
    },
    {
      "commit": "730c586ad5228c339949b2eb4e72b80ae167abc4",
      "tree": "ab1d06260232b343bd1d2d7a5d0563500a1de915",
      "parents": [
        "2cb7878a3a4341d1faa208de962d66f0817d3e7a"
      ],
      "author": {
        "name": "Salman Qazi",
        "email": "sqazi@google.com",
        "time": "Thu Jun 04 15:20:39 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 04 15:20:39 2009 -0700"
      },
      "message": "drivers/char/mem.c: avoid OOM lockup during large reads from /dev/zero\n\nWhile running 20 parallel instances of dd as follows:\n\n  #!/bin/bash\n  for i in `seq 1 20`; do\n           dd if\u003d/dev/zero of\u003d/export/hda3/dd_$i bs\u003d1073741824 count\u003d1 \u0026\n  done\n  wait\n\non a 16G machine, we noticed that rather than just killing the processes,\nthe entire kernel went down.  Stracing dd reveals that it first does an\nmmap2, which makes 1GB worth of zero page mappings.  Then it performs a\nread on those pages from /dev/zero, and finally it performs a write.\n\nThe machine died during the reads.  Looking at the code, it was noticed\nthat /dev/zero\u0027s read operation had been changed by\n557ed1fa2620dc119adb86b34c614e152a629a80 (\"remove ZERO_PAGE\") from giving\nzero page mappings to actually zeroing the page.\n\nThe zeroing of the pages causes physical pages to be allocated to the\nprocess.  But, when the process exhausts all the memory that it can, the\nkernel cannot kill it, as it is still in the kernel mode allocating more\nmemory.  Consequently, the kernel eventually crashes.\n\nTo fix this, I propose that when a fatal signal is pending during\n/dev/zero read operation, we simply return and let the user process die.\n\nSigned-off-by: Salman Qazi \u003csqazi@google.com\u003e\nCc: Nick Piggin \u003cnickpiggin@yahoo.com.au\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\n[ Modified error return and comment trivially.  - Linus]\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "44fb5511638938a2c37c895abc14df648ffc07e9",
      "tree": "0554a8a71403958b279ddcb601a3d0bb85943a59",
      "parents": [
        "2cc3c559fb2fe8cecca82a517bc56e88b0c1effd"
      ],
      "author": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Jun 04 15:34:51 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Jun 04 15:41:27 2009 -0400"
      },
      "message": "Btrfs: Fix oops and use after free during space balancing\n\nThe btrfs allocator uses list_for_each to walk the available block\ngroups when searching for free blocks.  It starts off with a hint\nto help find the best block group for a given allocation.\n\nThe hint is resolved into a block group, but we don\u0027t properly check\nto make sure the block group we find isn\u0027t in the middle of being\nfreed due to filesystem shrinking or balancing.  If it is being\nfreed, the list pointers in it are bogus and can\u0027t be trusted.  But,\nthe code happily goes along and uses them in the list_for_each loop,\nleading to all kinds of fun.\n\nThe fix used here is to check to make sure the block group we find really\nis on the list before we use it.  list_del_init is used when removing\nit from the list, so we can do a proper check.\n\nThe allocation clustering code has a similar bug where it will trust\nthe block group in the current free space cluster.  If our allocation\nflags have changed (going from single spindle dup to raid1 for example)\nbecause the drives in the FS have changed, we\u0027re not allowed to use\nthe old block group any more.\n\nThe fix used here is to check the current cluster against the\ncurrent allocation flags.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "2cb7878a3a4341d1faa208de962d66f0817d3e7a",
      "tree": "6639c4dcce9f213a58144e0c0431a339b69c42b2",
      "parents": [
        "9fa7eb283c5cdc2b0f4a8cfe6387ed82e5e9a3d3"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Jun 03 14:52:24 2009 +0930"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 04 11:50:06 2009 -0700"
      },
      "message": "lguest: fix \u0027unhandled trap 13\u0027 with CONFIG_CC_STACKPROTECTOR\n\nWe don\u0027t set up the canary; let\u0027s disable stack protector on boot.c so\nwe can get into lguest_init, then set it up.  As a side effect,\nswitch_to_new_gdt() sets up %fs for us properly too.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "754c0f9a95b685163cfa9ea3ba9bd48310f9b06f",
      "tree": "2375cb28346eda9d347635b862971521dcb17594",
      "parents": [
        "947ca2e983c7f46b49dbfb5bf51d39941d39f000",
        "1257629b0712a0a68a24c532a05a4cd23e3f7565"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Thu Jun 04 17:02:58 2009 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu Jun 04 17:02:58 2009 +0100"
      },
      "message": "Merge branch \u0027fix\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ycmiao/pxa-linux-2.6\n"
    },
    {
      "commit": "2cc3c559fb2fe8cecca82a517bc56e88b0c1effd",
      "tree": "d060c3b3d9943a8f8aaddc5f6748b9ca59d90ee5",
      "parents": [
        "9f55684c2d9869e8cc53595a3fee679958511cfb"
      ],
      "author": {
        "name": "Yan Zheng",
        "email": "zheng.yan@oracle.com",
        "time": "Thu Jun 04 09:23:50 2009 -0400"
      },
      "committer": {
        "name": "Chris Mason",
        "email": "chris.mason@oracle.com",
        "time": "Thu Jun 04 09:23:57 2009 -0400"
      },
      "message": "Btrfs: set device-\u003etotal_disk_bytes when adding new device\n\nIt was not being properly initialized, and so the size saved to\ndisk was not correct.\n\nSigned-off-by: Chris Mason \u003cchris.mason@oracle.com\u003e\n"
    },
    {
      "commit": "0e7ddf7eeeef5aea85412120539ab5369577faeb",
      "tree": "a47715749f9417b16923ecc004ede367bf404acc",
      "parents": [
        "9fa7eb283c5cdc2b0f4a8cfe6387ed82e5e9a3d3"
      ],
      "author": {
        "name": "Eric Anholt",
        "email": "eric@anholt.net",
        "time": "Thu Jun 04 11:18:14 2009 +0000"
      },
      "committer": {
        "name": "Eric Anholt",
        "email": "eric@anholt.net",
        "time": "Thu Jun 04 11:43:09 2009 +0000"
      },
      "message": "drm/i915: Remove a bad BUG_ON in the fence management code.\n\nThis could be triggered by a gtt mapping fault on 965 that decides to\nremove the fence from another object that happens to be active currently.\nSince the other object doesn\u0027t rely on the fence reg for its execution, we\ndon\u0027t wait for it to finish.  We\u0027ll soon be not waiting on 915 most of the\ntime as well, so just drop the BUG_ON.\n\nSigned-off-by: Eric Anholt \u003ceric@anholt.net\u003e\n"
    },
    {
      "commit": "947ca2e983c7f46b49dbfb5bf51d39941d39f000",
      "tree": "4a092e425960c929444d4e93a57c577c7fdb7f8c",
      "parents": [
        "1946d6ef9d7bd4ba97094fe6eb68a9b877bde6b7",
        "6b4bfb87b638a4f114dfb6f72f4ac1be88a4ebe4"
      ],
      "author": {
        "name": "Russell King",
        "email": "rmk@dyn-67.arm.linux.org.uk",
        "time": "Thu Jun 04 12:27:18 2009 +0100"
      },
      "committer": {
        "name": "Russell King",
        "email": "rmk+kernel@arm.linux.org.uk",
        "time": "Thu Jun 04 12:27:18 2009 +0100"
      },
      "message": "Merge branch \u0027for-rmk\u0027 of git://git.pengutronix.de/git/imx/linux-2.6\n"
    },
    {
      "commit": "75e613cdc7bb2ba3795b1bc3ddf19476c767ba68",
      "tree": "14864c1ad72554fa1061dbefd2e97b549d0a2507",
      "parents": [
        "f79b1b146b52765ee38bfb91bb14eb850fa98017"
      ],
      "author": {
        "name": "Yinghai Lu",
        "email": "yinghai@kernel.org",
        "time": "Wed Jun 03 00:13:13 2009 -0700"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Thu Jun 04 11:31:13 2009 +0100"
      },
      "message": "x86/pci: fix mmconfig detection with 32bit near 4g\n\nPascal reported and bisected a commit:\n|\tx86/PCI: don\u0027t call e820_all_mapped with -1 in the mmconfig case\n\nwhich broke one system system.\n\nACPI: Using IOAPIC for interrupt routing\nPCI: MCFG configuration 0: base f0000000 segment 0 buses 0 - 255\nPCI: MCFG area at f0000000 reserved in ACPI motherboard resources\nPCI: Using MMCONFIG for extended config space\n\nit didn\u0027t have\nPCI: updated MCFG configuration 0: base f0000000 segment 0 buses 0 - 63\nanymore, and try to use 0xf000000 - 0xffffffff for mmconfig\n\nFor 32bit, mcfg_res-\u003eend could be 32bit only (if 64 resources aren\u0027t used)\nSo use end - 1 to pass the value in mcfg-\u003eend to avoid overflow.\n\nWe don\u0027t need to worry about the e820 path, they are always 64 bit.\n\nReported-by: Pascal Terjan \u003cpterjan@mandriva.com\u003e\nBisected-by: Pascal Terjan \u003cpterjan@mandriva.com\u003e\nTested-by: Pascal Terjan \u003cpterjan@mandriva.com\u003e\nSigned-off-by: Yinghai Lu \u003cyinghai@kernel.org\u003e\nCc: stable@kernel.org\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    },
    {
      "commit": "f79b1b146b52765ee38bfb91bb14eb850fa98017",
      "tree": "6085fffb1442801293b8132b5d3f2aa735d0abdd",
      "parents": [
        "9fa7eb283c5cdc2b0f4a8cfe6387ed82e5e9a3d3"
      ],
      "author": {
        "name": "Yu Zhao",
        "email": "yu.zhao@intel.com",
        "time": "Thu May 28 00:25:05 2009 +0800"
      },
      "committer": {
        "name": "Jesse Barnes",
        "email": "jbarnes@virtuousgeek.org",
        "time": "Thu Jun 04 11:29:43 2009 +0100"
      },
      "message": "PCI: use fixed-up device class when configuring device\n\nThe device class may be changed after the fixup, so re-read the class\nvalue from pci_dev when configuring the device.  Otherwise some devices\nsuch as JMicron SATA controller won\u0027t work.\n\nReviewed-by: Matthew Wilcox \u003cwilly@linux.intel.com\u003e\nReviewed-by: Grant Grundler \u003cgrundler@parisc-linux.org\u003e\nTested-by: Marc Dionne \u003cmarc.c.dionne@gmail.com\u003e\nSigned-off-by: Yu Zhao \u003cyu.zhao@intel.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\n"
    }
  ],
  "next": "1257629b0712a0a68a24c532a05a4cd23e3f7565"
}
