)]}'
{
  "log": [
    {
      "commit": "b5470dc5fc18a8ff6517c3bb538d1479e58ecb02",
      "tree": "37b0eb3a4691bdbe58dc5c6c73b2dc8d3925b332",
      "parents": [
        "1fe797e67fb07d605b82300934d0de67068a0aca"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Fri Jun 27 21:44:04 2008 -0700"
      },
      "committer": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Mon Jun 30 17:18:19 2008 -0700"
      },
      "message": "md: resolve external metadata handling deadlock in md_allow_write\n\nmd_allow_write() marks the metadata dirty while holding mddev-\u003elock and then\nwaits for the write to complete.  For externally managed metadata this causes a\ndeadlock as userspace needs to take the lock to communicate that the metadata\nupdate has completed.\n\nChange md_allow_write() in the \u0027external\u0027 case to start the \u0027mark active\u0027\noperation and then return -EAGAIN.  The expected side effects while waiting for\nuserspace to write \u0027active\u0027 to \u0027array_state\u0027 are holding off reshape (code\ncurrently handles -ENOMEM), cause some \u0027stripe_cache_size\u0027 change requests to\nfail, cause some GET_BITMAP_FILE ioctl requests to fall back to GFP_NOIO, and\ncause updates to \u0027raid_disks\u0027 to fail.  Except for \u0027stripe_cache_size\u0027 changes\nthese failures can be mitigated by coordinating with mdmon.\n\nmd_write_start() still prevents writes from occurring until the metadata\nhandler has had a chance to take action as it unconditionally waits for\nMD_CHANGE_CLEAN to be cleared.\n\n[neilb@suse.de: return -EAGAIN, try GFP_NOIO]\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\n"
    },
    {
      "commit": "1fe797e67fb07d605b82300934d0de67068a0aca",
      "tree": "b34186b86f446bfaafec0fda3f1f42d2f3a47613",
      "parents": [
        "7b3a871ed995270268a481404454ceafe1a87478"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Sat Jun 28 09:16:30 2008 +1000"
      },
      "committer": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 09:16:30 2008 +1000"
      },
      "message": "md: rationalize raid5 function names\n\nFrom: Dan Williams \u003cdan.j.williams@intel.com\u003e\n\nCommit a4456856 refactored some of the deep code paths in raid5.c into separate\nfunctions.  The names chosen at the time do not consistently indicate what is\ngoing to happen to the stripe.  So, update the names, and since a stripe is a\ncache element use cache semantics like fill, dirty, and clean.\n\n(also, fix up the indentation in fetch_block5)\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "7b3a871ed995270268a481404454ceafe1a87478",
      "tree": "1d86a84bd885f6c24213dd84b5406a38597b457e",
      "parents": [
        "d8ee0728b5b30d7a6f62c399a95e953616d31f23"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Sat Jun 28 08:32:09 2008 +1000"
      },
      "committer": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 08:32:09 2008 +1000"
      },
      "message": "md: handle operation chaining in raid5_run_ops\n\nFrom: Dan Williams \u003cdan.j.williams@intel.com\u003e\n\nNeil said:\n\u003e At the end of ops_run_compute5 you have:\n\u003e         /* ack now if postxor is not set to be run */\n\u003e         if (tx \u0026\u0026 !test_bit(STRIPE_OP_POSTXOR, \u0026s-\u003eops_run))\n\u003e                 async_tx_ack(tx);\n\u003e\n\u003e It looks odd having that test there.  Would it fit in raid5_run_ops\n\u003e better?\n\nThe intended global interpretation is that raid5_run_ops can build a chain\nof xor and memcpy operations.  When MD registers the compute-xor it tells\nasync_tx to keep the operation handle around so that another item in the\ndependency chain can be submitted. If we are just computing a block to\nsatisfy a read then we can terminate the chain immediately.  raid5_run_ops\ngives a better context for this test since it cares about the entire chain.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "d8ee0728b5b30d7a6f62c399a95e953616d31f23",
      "tree": "7f9fcf2b0f6222b2a2b8ee44d69af1fd6990064d",
      "parents": [
        "600aa10993012ff2dd5617720dac081e4f992017"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Sat Jun 28 08:32:06 2008 +1000"
      },
      "committer": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 08:32:06 2008 +1000"
      },
      "message": "md: replace R5_WantPrexor with R5_WantDrain, add \u0027prexor\u0027 reconstruct_states\n\nFrom: Dan Williams \u003cdan.j.williams@intel.com\u003e\n\nCurrently ops_run_biodrain and other locations have extra logic to determine\nwhich blocks are processed in the prexor and non-prexor cases.  This can be\neliminated if handle_write_operations5 flags the blocks to be processed in all\ncases via R5_Wantdrain.  The presence of the prexor operation is tracked in\nsh-\u003ereconstruct_state.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "600aa10993012ff2dd5617720dac081e4f992017",
      "tree": "ead3e928aaa45e68bc65ea9aedc513c5b9c3d2d6",
      "parents": [
        "976ea8d475675da6e86bd434328814ccbf5ae641"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Sat Jun 28 08:32:05 2008 +1000"
      },
      "committer": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 08:32:05 2008 +1000"
      },
      "message": "md: replace STRIPE_OP_{BIODRAIN,PREXOR,POSTXOR} with \u0027reconstruct_states\u0027\n\nFrom: Dan Williams \u003cdan.j.williams@intel.com\u003e\n\nTrack the state of reconstruct operations (recalculating the parity block\nusually due to incoming writes, or as part of array expansion)  Reduces the\nscope of the STRIPE_OP_{BIODRAIN,PREXOR,POSTXOR} flags to only tracking whether\na reconstruct operation has been requested via the ops_request field of struct\nstripe_head_state.\n\nThis is the final step in the removal of ops.{pending,ack,complete,count}, i.e.\nthe STRIPE_OP_{BIODRAIN,PREXOR,POSTXOR} flags only request an operation and do\nnot track the state of the operation.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "976ea8d475675da6e86bd434328814ccbf5ae641",
      "tree": "087b3c8a44b6cfce0ff085faab0bc66871c455fb",
      "parents": [
        "83de75cc92be599850e5ef3928e07cd840833499"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Sat Jun 28 08:32:03 2008 +1000"
      },
      "committer": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 08:32:03 2008 +1000"
      },
      "message": "md: replace STRIPE_OP_COMPUTE_BLK with STRIPE_COMPUTE_RUN\n\nFrom: Dan Williams \u003cdan.j.williams@intel.com\u003e\n\nTrack the state of compute operations (recalculating a block from all the other\nblocks in a stripe) with a state flag.  Reduces the scope of the\nSTRIPE_OP_COMPUTE_BLK flag to only tracking whether a compute operation has\nbeen requested via the ops_request field of struct stripe_head_state.\n\nNote, the compute operation that is performed in the course of doing a \u0027repair\u0027\noperation (check the parity block, recalculate it and write it back if the\ncheck result is not zero) is tracked separately with the \u0027check_state\u0027\nvariable.  Compute operations are held off while a \u0027check\u0027 is in progress, and\nmoving this check out to handle_issuing_new_read_requests5 the helper routine\n__handle_issuing_new_read_requests5 can be simplified.\n\nThis is another step towards the removal of ops.{pending,ack,complete,count},\ni.e. STRIPE_OP_COMPUTE_BLK only requests an operation and does not track the\nstate of the operation.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "83de75cc92be599850e5ef3928e07cd840833499",
      "tree": "19995f66767debc27bf207ad1ec73280c31ca8fc",
      "parents": [
        "ecc65c9b3f9b9d740a5deade3d85b39be56401b6"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Sat Jun 28 08:31:58 2008 +1000"
      },
      "committer": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 08:31:58 2008 +1000"
      },
      "message": "md: replace STRIPE_OP_BIOFILL with STRIPE_BIOFILL_RUN\n\nFrom: Dan Williams \u003cdan.j.williams@intel.com\u003e\n\nTrack the state of read operations (copying data from the stripe cache to bio\nbuffers outside the lock) with a state flag.  Reduce the scope of the\nSTRIPE_OP_BIOFILL flag to only tracking whether a biofill operation has been\nrequested via the ops_request field of struct stripe_head_state.\n\nThis is another step towards the removal of ops.{pending,ack,complete,count},\ni.e. STRIPE_OP_BIOFILL only requests an operation and does not track the state\nof the operation.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "ecc65c9b3f9b9d740a5deade3d85b39be56401b6",
      "tree": "e6b4e827befc6849716689f573c89aa0a41e5d26",
      "parents": [
        "f0e43bcdebf709d747a3effb210aff1941e819ab"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Sat Jun 28 08:31:57 2008 +1000"
      },
      "committer": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 08:31:57 2008 +1000"
      },
      "message": "md: replace STRIPE_OP_CHECK with \u0027check_states\u0027\n\nFrom: Dan Williams \u003cdan.j.williams@intel.com\u003e\n\nThe STRIPE_OP_* flags record the state of stripe operations which are\nperformed outside the stripe lock.  Their use in indicating which\noperations need to be run is straightforward; however, interpolating what\nthe next state of the stripe should be based on a given combination of\nthese flags is not straightforward, and has led to bugs.  An easier to read\nimplementation with minimal degrees of freedom is needed.\n\nTowards this goal, this patch introduces explicit states to replace what was\npreviously interpolated from the STRIPE_OP_* flags.  For now this only converts\nthe handle_parity_checks5 path, removing a user of the\nops.{pending,ack,complete,count} fields of struct stripe_operations.\n\nThis conversion also found a remaining issue with the current code.  There is\na small window for a drive to fail between when we schedule a repair and when\nthe parity calculation for that repair completes.  When this happens we will\nwriteback to \u0027failed_num\u0027 when we really want to write back to \u0027pd_idx\u0027.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "f0e43bcdebf709d747a3effb210aff1941e819ab",
      "tree": "3d95952224a1e31a49f9e635470aad3cdf6a707a",
      "parents": [
        "c4e5ac0a22e664eecf29249553cf16c2433f5f25"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Sat Jun 28 08:31:55 2008 +1000"
      },
      "committer": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 08:31:55 2008 +1000"
      },
      "message": "md: unify raid5/6 i/o submission\n\nFrom: Dan Williams \u003cdan.j.williams@intel.com\u003e\n\nLet the raid6 path call ops_run_io to get pending i/o submitted.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "c4e5ac0a22e664eecf29249553cf16c2433f5f25",
      "tree": "898a3b7f4b80d54d15d5b415397b1f4dd588e116",
      "parents": [
        "2b7497f0e0a0b9cf21d822e427d5399b2056501a"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Sat Jun 28 08:31:53 2008 +1000"
      },
      "committer": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 08:31:53 2008 +1000"
      },
      "message": "md: use stripe_head_state in ops_run_io()\n\nFrom: Dan Williams \u003cdan.j.williams@intel.com\u003e\n\nIn handle_stripe after taking sh-\u003elock we sample some bits into \u0027s\u0027 (struct\nstripe_head_state):\n\n\ts.syncing \u003d test_bit(STRIPE_SYNCING, \u0026sh-\u003estate);\n\ts.expanding \u003d test_bit(STRIPE_EXPAND_SOURCE, \u0026sh-\u003estate);\n\ts.expanded \u003d test_bit(STRIPE_EXPAND_READY, \u0026sh-\u003estate);\n\nUse these values from \u0027s\u0027 in ops_run_io() rather than re-sampling the bits.\nThis ensures a consistent snapshot (as seen under sh-\u003elock) is used.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "2b7497f0e0a0b9cf21d822e427d5399b2056501a",
      "tree": "8cf4d8e056ddafe48d49af0d8afe600868d2d21b",
      "parents": [
        "b203886edbcaac3ca427cf4dbcb50b18bdb346fd"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Sat Jun 28 08:31:52 2008 +1000"
      },
      "committer": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 08:31:52 2008 +1000"
      },
      "message": "md: kill STRIPE_OP_IO flag\n\nFrom: Dan Williams \u003cdan.j.williams@intel.com\u003e\n\nThe R5_Want{Read,Write} flags already gate i/o.  So, this flag is\nsuperfluous and we can unconditionally call ops_run_io().\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "b203886edbcaac3ca427cf4dbcb50b18bdb346fd",
      "tree": "d96cf939fd3a7ab454f61110b91b3a928eb5fe7c",
      "parents": [
        "0cd17fec983b6bca505eecee1af33138687220b6"
      ],
      "author": {
        "name": "Dan Williams",
        "email": "dan.j.williams@intel.com",
        "time": "Sat Jun 28 08:31:50 2008 +1000"
      },
      "committer": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 08:31:50 2008 +1000"
      },
      "message": "md: kill STRIPE_OP_MOD_DMA in raid5 offload\n\nFrom: Dan Williams \u003cdan.j.williams@intel.com\u003e\n\nThis micro-optimization allowed the raid code to skip a re-read of the\nparity block after checking parity.  It took advantage of the fact that\nxor-offload-engines have their own internal result buffer and can check\nparity without writing to memory.  Remove it for the following reasons:\n\n1/ It is a layering violation for MD to need to manage the DMA and\n   non-DMA paths within async_xor_zero_sum\n2/ Bad precedent to toggle the \u0027ops\u0027 flags outside the lock\n3/ Hard to realize a performance gain as reads will not need an updated\n   parity block and writes will dirty it anyways.\n\nSigned-off-by: Dan Williams \u003cdan.j.williams@intel.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "0cd17fec983b6bca505eecee1af33138687220b6",
      "tree": "0b2209223c9aeeff0415e9a11c58f8801607006b",
      "parents": [
        "526647320e696f434647f38421a6ecf65b859c43"
      ],
      "author": {
        "name": "Chris Webb",
        "email": "chris@arachsys.com",
        "time": "Sat Jun 28 08:31:46 2008 +1000"
      },
      "committer": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 08:31:46 2008 +1000"
      },
      "message": "Support changing rdev size on running arrays.\n\nFrom: Chris Webb \u003cchris@arachsys.com\u003e\n\nAllow /sys/block/mdX/md/rdY/size to change on running arrays, moving the\nsuperblock if necessary for this metadata version. We prevent the available\nspace from shrinking to less than the used size, and allow it to be set to zero\nto fill all the available space on the underlying device.\n\nSigned-off-by: Chris Webb \u003cchris@arachsys.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "526647320e696f434647f38421a6ecf65b859c43",
      "tree": "aa6bf13e6aa766051ba32a8b64157f4adf9fcd3e",
      "parents": [
        "a99ac97113d5bc25ddc4d17f404c2024ac6c57f9"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 08:31:44 2008 +1000"
      },
      "committer": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 08:31:44 2008 +1000"
      },
      "message": "Make sure all changes to md/dev-XX/state are notified\n\nThe important state change happens during an interrupt\nin md_error.  So just set a flag there and call sysfs_notify\nlater in process context.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "a99ac97113d5bc25ddc4d17f404c2024ac6c57f9",
      "tree": "b1848af670eb9f67961f7abc7cd5a19a07b9b37e",
      "parents": [
        "72a23c211e4587859d5bf61ac4962d76e593fb02"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 08:31:43 2008 +1000"
      },
      "committer": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 08:31:43 2008 +1000"
      },
      "message": "Make sure all changes to md/degraded are notified.\n\nWhen a device fails, when a spare is activated, when\nan array is reshaped, or when an array is started,\nthe extent to which the array is degraded can change.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "72a23c211e4587859d5bf61ac4962d76e593fb02",
      "tree": "b35b554d7eb9c4b3a2cbc4d9378d362e5e56e44f",
      "parents": [
        "0fd62b861eac7d2dea9b7e939953b20f37186ea1"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 08:31:41 2008 +1000"
      },
      "committer": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 08:31:41 2008 +1000"
      },
      "message": "Make sure all changes to md/sync_action are notified.\n\nWhen the \u0027resync\u0027 thread starts or stops, when we explicitly\nset sync_action, or when we determine that there is definitely nothing\nto do, we notify sync_action.\n\nTo stop \"sync_action\" from occasionally showing the wrong value,\nwe introduce a new flags - MD_RECOVERY_RECOVER - to say that a\nrecovery is probably needed or happening, and we make sure\nthat we set MD_RECOVERY_RUNNING before clearing MD_RECOVERY_NEEDED.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "0fd62b861eac7d2dea9b7e939953b20f37186ea1",
      "tree": "c15b1481076244c7093f6a0368c3cbc85fc9b7c6",
      "parents": [
        "c7d0c941ae7f82940a13f785be70dc3097d96687"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 08:31:36 2008 +1000"
      },
      "committer": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 08:31:36 2008 +1000"
      },
      "message": "Make sure all changes to md/array_state are notified.\n\nChanges in md/array_state could be of interest to a monitoring\nprogram.  So make sure all changes trigger a notification.\n\nExceptions:\n   changing active_idle to active is not reported because it\n      is frequent and not interesting.\n   changing active to active_idle is only reported on arrays\n      with externally managed metadata, as it is not interesting\n      otherwise.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "c7d0c941ae7f82940a13f785be70dc3097d96687",
      "tree": "3d9a59ae9367f3b8955580dd31d5927e7b6d1f42",
      "parents": [
        "199050ea1ff2270174ee525b73bc4c3323098897"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 08:31:34 2008 +1000"
      },
      "committer": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 08:31:34 2008 +1000"
      },
      "message": "Don\u0027t reject HOT_REMOVE_DISK request for an array that is not yet started.\n\nThere is really no need for this test here, and there are valid\ncases for selectively removing devices from an array that\nit not actually active.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "199050ea1ff2270174ee525b73bc4c3323098897",
      "tree": "b2a7851511b2ddb943b9ff7ce7c8a96c3ac2a8bb",
      "parents": [
        "6c2fce2ef6b4821c21b5c42c7207cb9cf8c87eda"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 08:31:33 2008 +1000"
      },
      "committer": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 08:31:33 2008 +1000"
      },
      "message": "rationalise return value for -\u003ehot_add_disk method.\n\nFor all array types but linear, -\u003ehot_add_disk returns 1 on\nsuccess, 0 on failure.\nFor linear, it returns 0 on success and -errno on failure.\n\nThis doesn\u0027t cause a functional problem because the -\u003ehot_add_disk\nfunction of linear is used quite differently to the others.\nHowever it is confusing.\n\nSo convert all to return 0 for success or -errno on failure\nand fix call sites to match.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "6c2fce2ef6b4821c21b5c42c7207cb9cf8c87eda",
      "tree": "726b16f46c039df387f7cdfe0d195821d8955532",
      "parents": [
        "8ed0a5216a0238f53b482ec88ce4aeed4b9f0da1"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 08:31:31 2008 +1000"
      },
      "committer": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 08:31:31 2008 +1000"
      },
      "message": "Support adding a spare to a live md array with external metadata.\n\ni.e. extend the \u0027md/dev-XXX/slot\u0027 attribute so that you can\ntell a device to fill an vacant slot in an and md array.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "8ed0a5216a0238f53b482ec88ce4aeed4b9f0da1",
      "tree": "31383b73c6d471dc8620b0bda044d5d514fd1d8b",
      "parents": [
        "1a0fd497733bd029a7d5f2e5c69b1dff715b7792"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 08:31:29 2008 +1000"
      },
      "committer": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 08:31:29 2008 +1000"
      },
      "message": "Enable setting of \u0027offset\u0027 and \u0027size\u0027 of a hot-added spare.\n\noffset_store and rdev_size_store allow control of the region of a\ndevice which is to be using in an md/raid array.\nThey only allow these values to be set when an array is being assembled,\nas changing them on an active array could be dangerous.\nHowever when adding a spare device to an array, we might need to\nset the offset and size before starting recovery.  So allow\nthese values to be set also if \"-\u003eraid_disk \u003c 0\" which indicates that\nthe device is still a spare.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "1a0fd497733bd029a7d5f2e5c69b1dff715b7792",
      "tree": "30f7d07f1ae8cdbebc757d3dfb3fe81e0406e2b5",
      "parents": [
        "f48ed538386cb41559282d989354e8f5d442d71c"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 08:31:27 2008 +1000"
      },
      "committer": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 08:31:27 2008 +1000"
      },
      "message": "Don\u0027t try to make md arrays dirty if that is not meaningful.\n\nArrays personalities such as \u0027raid0\u0027 and \u0027linear\u0027 have no redundancy,\nand so marking them as \u0027clean\u0027 or \u0027dirty\u0027 is not meaningful.\nSo always allow write requests without requiring a superblock update.\n\nSuch arrays types are detected by -\u003esync_request being NULL.  If it is\nnot possible to send a sync request we don\u0027t need a \u0027dirty\u0027 flag because\nall a dirty flag does is trigger some sync_requests.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "f48ed538386cb41559282d989354e8f5d442d71c",
      "tree": "3faa24718c098f19b7e331eae0ba29f145e902da",
      "parents": [
        "5e96ee65c8bd629ce093da67a066d3946468298a"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 08:31:26 2008 +1000"
      },
      "committer": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 08:31:26 2008 +1000"
      },
      "message": "Close race in md_probe\n\nThere is a possible race in md_probe.  If two threads call md_probe\nfor the same device, then one could exit (having checked that\n-\u003egendisk exists) before the other has called kobject_init_and_add,\nthus returning an incomplete kobj which will cause problems when\nwe try to add children to it.\n\nSo extend the range of protection of disks_mutex slightly to\navoid this possibility.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "5e96ee65c8bd629ce093da67a066d3946468298a",
      "tree": "e1ff9e4984d71ffaa842e7e1d19c282fa9e01bcd",
      "parents": [
        "a0da84f35b25875870270d16b6eccda4884d61a7"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 08:31:24 2008 +1000"
      },
      "committer": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 08:31:24 2008 +1000"
      },
      "message": "Allow setting start point for requested check/repair\n\nThis makes it possible to just resync a small part of an array.\ne.g. if a drive reports that it has questionable sectors,\na \u0027repair\u0027 of just the region covering those sectors will\ncause them to be read and, if there is an error, re-written\nwith correct data.\n\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "a0da84f35b25875870270d16b6eccda4884d61a7",
      "tree": "3c092bcef7a8c8704054b02197156e1c803306b2",
      "parents": [
        "0e13fe23a00ad88c737d91d94a050707c6139ce4"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 08:31:22 2008 +1000"
      },
      "committer": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 08:31:22 2008 +1000"
      },
      "message": "Improve setting of \"events_cleared\" for write-intent bitmaps.\n\nWhen an array is degraded, bits in the write-intent bitmap are not\ncleared, so that if the missing device is re-added, it can be synced\nby only updated those parts of the device that have changed since\nit was removed.\n\nThe enable this a \u0027events_cleared\u0027 value is stored. It is the event\ncounter for the array the last time that any bits were cleared.\n\nSometimes - if a device disappears from an array while it is \u0027clean\u0027 -\nthe events_cleared value gets updated incorrectly (there are subtle\nordering issues between updateing events in the main metadata and the\nbitmap metadata) resulting in the missing device appearing to require\na full resync when it is re-added.\n\nWith this patch, we update events_cleared precisely when we are about\nto clear a bit in the bitmap.  We record events_cleared when we clear\nthe bit internally, and copy that to the superblock which is written\nout before the bit on storage.  This makes it more \"obviously correct\".\n\nWe also need to update events_cleared when the event_count is going\nbackwards (as happens on a dirty-\u003eclean transition of a non-degraded\narray).\n\nThanks to Mike Snitzer for identifying this problem and testing early\n\"fixes\".\n\nCc:  \"Mike Snitzer\" \u003csnitzer@gmail.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "0e13fe23a00ad88c737d91d94a050707c6139ce4",
      "tree": "7b52d698f200751cd332948a6ad982d8e839ee2d",
      "parents": [
        "13864515f7bf6cabd60e63c62e09d311386ae1f1"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 08:31:20 2008 +1000"
      },
      "committer": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 08:31:20 2008 +1000"
      },
      "message": "use bio_endio instead of a call to bi_end_io\n\nTurn calls to bi-\u003ebi_end_io() into bio_endio(). Apparently bio_endio does\nexactly the same error processing as is hardcoded at these places.\n\nbio_endio() avoids recursion (or will soon), so it should be used.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "13864515f7bf6cabd60e63c62e09d311386ae1f1",
      "tree": "3f46035321aedab46c787cac01b17e6b24934423",
      "parents": [
        "9bbbca3a0ee09293108b67835c6bdf6196d7bcb3"
      ],
      "author": {
        "name": "Nikanth Karthikesan",
        "email": "knikanth@novell.com",
        "time": "Sat Jun 28 08:31:19 2008 +1000"
      },
      "committer": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 08:31:19 2008 +1000"
      },
      "message": "linear: correct disk numbering error check\n\nFrom: \"Nikanth Karthikesan\" \u003cknikanth@novell.com\u003e\n\nCorrect disk numbering problem check.\n\nSigned-off-by: Nikanth Karthikesan \u003cknikanth@suse.de\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "9bbbca3a0ee09293108b67835c6bdf6196d7bcb3",
      "tree": "32526078700e26c6e67aea5eb141fe152d1da9f7",
      "parents": [
        "efe311431869b40d67911820a309f9a1a41306f3"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 08:31:17 2008 +1000"
      },
      "committer": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 08:31:17 2008 +1000"
      },
      "message": "Fix error paths if md_probe fails.\n\nmd_probe can fail (e.g. alloc_disk could fail) without\nreturning an error (as it alway returns NULL).\nSo when we call mddev_find immediately afterwards, we need\nto check that md_probe actually succeeded.  This means checking\nthat mdev-\u003egendisk is non-NULL.\n\ncc: \u003cstable@kernel.org\u003e\nCc: Dave Jones \u003cdavej@redhat.com\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "efe311431869b40d67911820a309f9a1a41306f3",
      "tree": "3496fb7eca85cd629c19cd23afb5341007e9fa21",
      "parents": [
        "8c2e870a625bd336b2e7a65a97c1836acef07322"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 08:31:14 2008 +1000"
      },
      "committer": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 08:31:14 2008 +1000"
      },
      "message": "Don\u0027t acknowlege that stripe-expand is complete until it really is.\n\nWe shouldn\u0027t acknowledge that a stripe has been expanded (When\nreshaping a raid5 by adding a device) until the moved data has\nactually been written out.  However we are currently\nacknowledging (by calling md_done_sync) when the POST_XOR\nis complete and before the write.\n\nSo track in s.locked whether there are pending writes, and don\u0027t\ncall md_done_sync yet if there are.\n\nNote: we all set R5_LOCKED on devices which are are about to\nread from.  This probably isn\u0027t technically necessary, but is\nusually done when writing a block, and justifies the use of\ns.locked here.\n\nThis bug can lead to a crash if an array is stopped while an reshape\nis in progress.\n\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "8c2e870a625bd336b2e7a65a97c1836acef07322",
      "tree": "1d0650ce9affed0bfae754e17bd5a86a563f8037",
      "parents": [
        "543cf4cb3fe6f6cae3651ba918b9c56200b257d0"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 08:30:52 2008 +1000"
      },
      "committer": {
        "name": "Neil Brown",
        "email": "neilb@notabene.brown",
        "time": "Sat Jun 28 08:30:52 2008 +1000"
      },
      "message": "Ensure interrupted recovery completed properly (v1 metadata plus bitmap)\n\nIf, while assembling an array, we find a device which is not fully\nin-sync with the array, it is important to set the \"fullsync\" flags.\nThis is an exact analog to the setting of this flag in hot_add_disk\nmethods.\n\nCurrently, only v1.x metadata supports having devices in an array\nwhich are not fully in-sync (it keep track of how in sync they are).\nThe \u0027fullsync\u0027 flag only makes a difference when a write-intent bitmap\nis being used.  In this case it tells recovery to ignore the bitmap\nand recovery all blocks.\n\nThis fix is already in place for raid1, but not raid5/6 or raid10.\n\nSo without this fix, a raid1 ir raid4/5/6 array with version 1.x\nmetadata and a write intent bitmaps, that is stopped in the middle\nof a recovery, will appear to complete the recovery instantly\nafter it is reassembled, but the recovery will not be correct.\n\nIf you might have an array like that, issueing\n   echo repair \u003e /sys/block/mdXX/md/sync_action\n\nwill make sure recovery completes properly.\n\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Neil Brown \u003cneilb@suse.de\u003e\n"
    },
    {
      "commit": "543cf4cb3fe6f6cae3651ba918b9c56200b257d0",
      "tree": "e757ad78d339a141a8fa975aec411a5c623f15df",
      "parents": [
        "bd8c540fe867c070810a3ef55541f41f7c189c9a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 24 18:58:20 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 24 18:58:20 2008 -0700"
      },
      "message": "Linux 2.6.26-rc8\n"
    },
    {
      "commit": "bd8c540fe867c070810a3ef55541f41f7c189c9a",
      "tree": "277ece5c422c108be9a67822a7cae537f1c423ed",
      "parents": [
        "035cfc61a523343fe0bee5ec54348e26f330a06c",
        "e2569b7e572c0e6782380b3fdda901deb175d75a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 24 18:12:33 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 24 18:12:33 2008 -0700"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:\n  [IA64] Eliminate NULL test after alloc_bootmem in iosapic_alloc_rte()\n  [IA64] Handle count\u003d\u003d0 in sn2_ptc_proc_write()\n  [IA64] Fix boot failure on ia64/sn2\n"
    },
    {
      "commit": "035cfc61a523343fe0bee5ec54348e26f330a06c",
      "tree": "d733127661d643a936416025a46199895fbd18c0",
      "parents": [
        "919c0d14ae93073a3957c018a6d86ceb1e2e454b",
        "5af4e7a0bea715f2dd7190859a43eb2258b1f388"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 24 18:09:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 24 18:09:47 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/steve/gfs2-2.6-fixes:\n  [GFS2] fix gfs2 block allocation (cleaned up)\n  [GFS2] BUG: unable to handle kernel paging request at ffff81002690e000\n"
    },
    {
      "commit": "919c0d14ae93073a3957c018a6d86ceb1e2e454b",
      "tree": "b654cfcee21adaf4842447e4fe21f74aa956bcca",
      "parents": [
        "de08341a0ef747d607542af3ae441b286f503e35",
        "6b1ed9086592fd4b066daae222751bb6757ca5eb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 24 18:09:06 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 24 18:09:06 2008 -0700"
      },
      "message": "Merge branch \u0027kvm-updates-2.6.26\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm\n\n* \u0027kvm-updates-2.6.26\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/avi/kvm:\n  KVM: Remove now unused structs from kvm_para.h\n  x86: KVM guest: Use the paravirt clocksource structs and functions\n  KVM: Make kvm host use the paravirt clocksource structs\n  x86: Make xen use the paravirt clocksource structs and functions\n  x86: Add structs and functions for paravirt clocksource\n  KVM: VMX: Fix host msr corruption with preemption enabled\n  KVM: ioapic: fix lost interrupt when changing a device\u0027s irq\n  KVM: MMU: Fix oops on guest userspace access to guest pagetable\n  KVM: MMU: large page update_pte issue with non-PAE 32-bit guests (resend)\n  KVM: MMU: Fix rmap_write_protect() hugepage iteration bug\n  KVM: close timer injection race window in __vcpu_run\n  KVM: Fix race between timer migration and vcpu migration\n"
    },
    {
      "commit": "de08341a0ef747d607542af3ae441b286f503e35",
      "tree": "97bdcb8323239800275ecc49bc2848e1e3d9037c",
      "parents": [
        "9bf8a943ad79a3bb15597fe0275f8b1cf26e2010",
        "63842cccb285259345f52025ef57bdfd79657a2d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 24 11:23:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 24 11:23:35 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/wim/linux-2.6-watchdog:\n  Revert \"[WATCHDOG] hpwdt: Add CFLAGS to get driver working\"\n"
    },
    {
      "commit": "9bf8a943ad79a3bb15597fe0275f8b1cf26e2010",
      "tree": "9d5ce8b4ccdf17a67e437d6bd1954ff20be7273c",
      "parents": [
        "3b968b7c10b3d81eb83380655484f2bb5b240dc6",
        "28499143933f19b28008a556ed59255d6009391a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 24 11:21:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 24 11:21:47 2008 -0700"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  xen: remove support for non-PAE 32-bit\n"
    },
    {
      "commit": "3b968b7c10b3d81eb83380655484f2bb5b240dc6",
      "tree": "a7aa9ef303ea62f5aed03024976fb35dd5a8a622",
      "parents": [
        "ea7b44c8e6baa1a4507f05ba2c0009ac21c3fe0b",
        "aabdc3b8c3b3d081f1532454e344208338478e29"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 24 11:20:59 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 24 11:20:59 2008 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jwessel/linux-2.6-kgdb:\n  kgdb: sparse fix\n  kgdb: documentation update - remove kgdboe\n"
    },
    {
      "commit": "ea7b44c8e6baa1a4507f05ba2c0009ac21c3fe0b",
      "tree": "9f71bb94b0fab4c258505073c5cdd9b7cd11b34c",
      "parents": [
        "72c6e251ed84b3a9cdfde6711191155c47bb2b9c"
      ],
      "author": {
        "name": "Jie Luo",
        "email": "clotho67@gmail.com",
        "time": "Tue Jun 24 10:38:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jun 24 11:17:25 2008 -0700"
      },
      "message": "enable bus mastering on i915 at resume time\n\nOn 9xx chips, bus mastering needs to be enabled at resume time for much of the\nchip to function.  With this patch, vblank interrupts will work as expected\non resume, along with other chip functions.   Fixes kernel bugzilla #10844.\n\nSigned-off-by: Jie Luo \u003cclotho67@gmail.com\u003e\nSigned-off-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6b1ed9086592fd4b066daae222751bb6757ca5eb",
      "tree": "9c303e5c2c4a020bb629cd0f0836d7c28956430c",
      "parents": [
        "f6e16d5ad463d15f285666f588cfe49495c692d9"
      ],
      "author": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Tue Jun 03 16:17:33 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Jun 24 21:02:33 2008 +0300"
      },
      "message": "KVM: Remove now unused structs from kvm_para.h\n\nThe kvm_* structs are obsoleted by the pvclock_* ones.\nNow all users have been switched over and the old structs\ncan be dropped.\n\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "f6e16d5ad463d15f285666f588cfe49495c692d9",
      "tree": "3c58c3314c542e4edf3e520d201dd7970264418a",
      "parents": [
        "50d0a0f987b83a8dadb1134d834e35ec410392b5"
      ],
      "author": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Tue Jun 03 16:17:32 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Jun 24 21:02:33 2008 +0300"
      },
      "message": "x86: KVM guest: Use the paravirt clocksource structs and functions\n\nThis patch updates the kvm host code to use the pvclock structs\nand functions, thereby making it compatible with Xen.\n\nThe patch also fixes an initialization bug: on SMP systems the\nper-cpu has two different locations early at boot and after CPU\nbringup.  kvmclock must take that in account when registering the\nphysical address within the host.\n\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "50d0a0f987b83a8dadb1134d834e35ec410392b5",
      "tree": "2fb98f898838668ed62092f08c3889ddebb7df62",
      "parents": [
        "1c7b67f7576c4ca2a344379a4a29eec8fe8e7935"
      ],
      "author": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Tue Jun 03 16:17:31 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Jun 24 21:02:32 2008 +0300"
      },
      "message": "KVM: Make kvm host use the paravirt clocksource structs\n\nThis patch updates the kvm host code to use the pvclock structs.\nIt also makes the paravirt clock compatible with Xen.\n\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "1c7b67f7576c4ca2a344379a4a29eec8fe8e7935",
      "tree": "a6d6150ba4109775ed7c2e928e0ffefaa29f13e8",
      "parents": [
        "7af192c954017499ec163bc9dbaaee2e593d7ef2"
      ],
      "author": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Tue Jun 03 16:17:30 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Jun 24 21:02:32 2008 +0300"
      },
      "message": "x86: Make xen use the paravirt clocksource structs and functions\n\nThis patch updates the xen guest to use the pvclock structs\nand helper functions.\n\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\nAcked-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "7af192c954017499ec163bc9dbaaee2e593d7ef2",
      "tree": "04e28552d1e1e265443933e3e658949170997c0e",
      "parents": [
        "a9b21b622958afc3f3bc5a23d266dd9ed1171fd3"
      ],
      "author": {
        "name": "Gerd Hoffmann",
        "email": "kraxel@redhat.com",
        "time": "Tue Jun 03 16:17:29 2008 +0200"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Jun 24 21:02:31 2008 +0300"
      },
      "message": "x86: Add structs and functions for paravirt clocksource\n\nThis patch adds structs for the paravirt clocksource ABI\nused by both xen and kvm (pvclock-abi.h).\n\nIt also adds some helper functions to read system time and\nwall clock time from a paravirtual clocksource (pvclock.[ch]).\nThey are based on the xen code.  They are enabled using\nCONFIG_PARAVIRT_CLOCK.\n\nSubsequent patches of this series will put the code in use.\n\nSigned-off-by: Gerd Hoffmann \u003ckraxel@redhat.com\u003e\nAcked-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "5af4e7a0bea715f2dd7190859a43eb2258b1f388",
      "tree": "3b2ab96e295ba9036fd5de6ccf45f95c8229c6e5",
      "parents": [
        "17c15da00c0e7289375ad57e8fea0c7892b74aa0"
      ],
      "author": {
        "name": "Benjamin Marzinski",
        "email": "bmarzins@redhat.com",
        "time": "Tue Jun 24 12:53:38 2008 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Jun 24 19:02:28 2008 +0100"
      },
      "message": "[GFS2] fix gfs2 block allocation (cleaned up)\n\nThis patch fixes bz 450641.\n\nThis patch changes the computation for zero_metapath_length(), which it\nrenames to metapath_branch_start(). When you are extending the metadata\ntree, The indirect blocks that point to the new data block must either\ndiverge from the existing tree either at the inode, or at the first\nindirect block. They can diverge at the first indirect block because the\ninode has room for 483 pointers while the indirect blocks have room for\n509 pointers, so when the tree is grown, there is some free space in the\nfirst indirect block. What metapath_branch_start() now computes is the\nheight where the first indirect block for the new data block is located.\nIt can either be 1 (if the indirect block diverges from the inode) or 2\n(if it diverges from the first indirect block).\n\nSigned-off-by: Benjamin Marzinski \u003cbmarzins@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n\n"
    },
    {
      "commit": "e2569b7e572c0e6782380b3fdda901deb175d75a",
      "tree": "c7541106f957225ab0eb8fff6d1244e2675f697f",
      "parents": [
        "8097110d179b874d91c6495330c2b96c991e8c6e"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Tue Jun 24 10:22:05 2008 +0200"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Tue Jun 24 10:28:55 2008 -0700"
      },
      "message": "[IA64] Eliminate NULL test after alloc_bootmem in iosapic_alloc_rte()\n\nAs noted by Akinobu Mita alloc_bootmem and related functions never return\nNULL and always return a zeroed region of memory.  Thus a NULL test or\nmemset after calls to these functions is unnecessary.\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "8097110d179b874d91c6495330c2b96c991e8c6e",
      "tree": "8ca93d3c7758953f468e5b25708d68dfd732b307",
      "parents": [
        "2826f8c0f4c97b7db33e2a680f184d828eb7a785"
      ],
      "author": {
        "name": "Cliff Wickman",
        "email": "cpw@sgi.com",
        "time": "Tue Jun 24 10:20:06 2008 -0700"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Tue Jun 24 10:20:06 2008 -0700"
      },
      "message": "[IA64] Handle count\u003d\u003d0 in sn2_ptc_proc_write()\n\nThe fix applied in e0c6d97c65e0784aade7e97b9411f245a6c543e7\n\"security hole in sn2_ptc_proc_write\" didn\u0027t take into account\nthe case where count\u003d\u003d0 (which results in a buffer underrun\nwhen adding the trailing \u0027\\0\u0027).  Thanks to Andi Kleen for\npointing this out.\n\nSigned-off-by: Cliff Wickman \u003ccpw@sgi.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "2826f8c0f4c97b7db33e2a680f184d828eb7a785",
      "tree": "c311c40baee4e4231e08538eccfeefbf2e08f208",
      "parents": [
        "62786b9e81a2dbe9c073a2ade52d33a2627d6d85"
      ],
      "author": {
        "name": "Jes Sorensen",
        "email": "jes@sgi.com",
        "time": "Tue Jun 24 11:30:09 2008 -0400"
      },
      "committer": {
        "name": "Tony Luck",
        "email": "tony.luck@intel.com",
        "time": "Tue Jun 24 10:16:27 2008 -0700"
      },
      "message": "[IA64] Fix boot failure on ia64/sn2\n\nCall check_sal_cache_flush() after platform_setup() as\ncheck_sal_cache_flush() now relies on being able to call platform\nvector code.\n\nProblem was introduced by: 3463a93def55c309f3c0d0a8aaf216be3be42d64\n\"Update check_sal_cache_flush to use platform_send_ipi()\"\n\nSigned-off-by: Jes Sorensen \u003cjes@sgi.com\u003e\nTested-by: Alex Chiang: \u003cachiang@hp.com\u003e\nSigned-off-by: Tony Luck \u003ctony.luck@intel.com\u003e\n"
    },
    {
      "commit": "aabdc3b8c3b3d081f1532454e344208338478e29",
      "tree": "5ff3d5c873fa12ec3797690598e8daa2c3225071",
      "parents": [
        "a606b5e24b7e2937604f4c85023d8d9c5ab0a28b"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Tue Jun 24 10:52:55 2008 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Tue Jun 24 10:52:55 2008 -0500"
      },
      "message": "kgdb: sparse fix\n\n- Fix warning reported by sparse\nkernel/kgdb.c:1502:6: warning: symbol \u0027kgdb_console_write\u0027 was not declared.\n\tShould it be static?\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "a606b5e24b7e2937604f4c85023d8d9c5ab0a28b",
      "tree": "0e1fc0bd791420ad4c9c0be74266be0571752488",
      "parents": [
        "62786b9e81a2dbe9c073a2ade52d33a2627d6d85"
      ],
      "author": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Tue Jun 24 10:52:55 2008 -0500"
      },
      "committer": {
        "name": "Jason Wessel",
        "email": "jason.wessel@windriver.com",
        "time": "Tue Jun 24 10:52:55 2008 -0500"
      },
      "message": "kgdb: documentation update - remove kgdboe\n\nkgdboe is not presently included kgdb, and there should be no\nreferences to it.\n\nAlso fix the tcp port terminal connection example.\n\nSigned-off-by: Jason Wessel \u003cjason.wessel@windriver.com\u003e\n"
    },
    {
      "commit": "28499143933f19b28008a556ed59255d6009391a",
      "tree": "0616b75b1651433ae93173fabf7827cd1873a4d1",
      "parents": [
        "ebb9cfe20fe167f29960a5e913193a684fac50bf"
      ],
      "author": {
        "name": "Jeremy Fitzhardinge",
        "email": "jeremy@goop.org",
        "time": "Fri May 09 12:05:57 2008 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jun 24 17:00:55 2008 +0200"
      },
      "message": "xen: remove support for non-PAE 32-bit\n\nNon-PAE operation has been deprecated in Xen for a while, and is\nrarely tested or used.  xen-unstable has now officially dropped\nnon-PAE support.  Since Xen/pvops\u0027 non-PAE support has also been\nbroken for a while, we may as well completely drop it altogether.\n\nSigned-off-by: Jeremy Fitzhardinge \u003cjeremy.fitzhardinge@citrix.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "17c15da00c0e7289375ad57e8fea0c7892b74aa0",
      "tree": "72390f591711ea6fb0ee50509aa9ccad993f4c69",
      "parents": [
        "62786b9e81a2dbe9c073a2ade52d33a2627d6d85"
      ],
      "author": {
        "name": "Bob Peterson",
        "email": "rpeterso@redhat.com",
        "time": "Wed Jun 18 11:30:40 2008 -0500"
      },
      "committer": {
        "name": "Steven Whitehouse",
        "email": "swhiteho@redhat.com",
        "time": "Tue Jun 24 14:17:45 2008 +0100"
      },
      "message": "[GFS2] BUG: unable to handle kernel paging request at ffff81002690e000\n\nThis patch fixes bugzilla bug bz448866: gfs2: BUG: unable to\nhandle kernel paging request at ffff81002690e000.\n\nSigned-off-by: Bob Peterson \u003crpeterso@redhat.com\u003e\nSigned-off-by: Steven Whitehouse \u003cswhiteho@redhat.com\u003e\n"
    },
    {
      "commit": "63842cccb285259345f52025ef57bdfd79657a2d",
      "tree": "c245a13e1e1894cf74254194012f9334bee7a9fb",
      "parents": [
        "62786b9e81a2dbe9c073a2ade52d33a2627d6d85"
      ],
      "author": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Tue Jun 24 13:09:26 2008 +0000"
      },
      "committer": {
        "name": "Wim Van Sebroeck",
        "email": "wim@iguana.be",
        "time": "Tue Jun 24 13:09:26 2008 +0000"
      },
      "message": "Revert \"[WATCHDOG] hpwdt: Add CFLAGS to get driver working\"\n\nAfter Linus fixed the inline assembly, the CFLAGS option is not\nneeded anymore.\n\nSigned-off-by: Thomas Mingarelli \u003cThomas.Mingarelli@hp.com\u003e\nSigned-off-by: Wim Van Sebroeck \u003cwim@iguana.be\u003e\n"
    },
    {
      "commit": "a9b21b622958afc3f3bc5a23d266dd9ed1171fd3",
      "tree": "daed282b0f588f31cb3997a16f2ad067b37fb74d",
      "parents": [
        "4fa6b9c5dc4134bdeac341d731a87783cc11ca10"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Jun 24 11:48:49 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Jun 24 12:26:17 2008 +0300"
      },
      "message": "KVM: VMX: Fix host msr corruption with preemption enabled\n\nSwitching msrs can occur either synchronously as a result of calls to\nthe msr management functions (usually in response to the guest touching\nvirtualized msrs), or asynchronously when preempting a kvm thread that has\nguest state loaded.  If we\u0027re unlucky enough to have the two at the same\ntime, host msrs are corrupted and the machine goes kaput on the next syscall.\n\nMost easily triggered by Windows Server 2008, as it does a lot of msr\nswitching during bootup.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "4fa6b9c5dc4134bdeac341d731a87783cc11ca10",
      "tree": "3542acc44ec41a0c9f79fbda570f64d315bdb0b1",
      "parents": [
        "6bf6a9532fd03ad719f0c86654f16ef777b78fc6"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Jun 17 15:36:36 2008 -0700"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Jun 24 12:23:55 2008 +0300"
      },
      "message": "KVM: ioapic: fix lost interrupt when changing a device\u0027s irq\n\nThe ioapic acknowledge path translates interrupt vectors to irqs.  It\ncurrently uses a first match algorithm, stopping when it finds the first\nredirection table entry containing the vector.  That fails however if the\nguest changes the irq to a different line, leaving the old redirection table\nentry in place (though masked).  Result is interrupts not making it to the\nguest.\n\nFix by always scanning the entire redirection table.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "6bf6a9532fd03ad719f0c86654f16ef777b78fc6",
      "tree": "4865d4cd48c98c5425218c5d8289367bd16c4105",
      "parents": [
        "3094538739415a9225afd2a6c78cb0fe1c1f641b"
      ],
      "author": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Thu Jun 12 16:54:41 2008 +0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Jun 24 12:20:12 2008 +0300"
      },
      "message": "KVM: MMU: Fix oops on guest userspace access to guest pagetable\n\nKVM has a heuristic to unshadow guest pagetables when userspace accesses\nthem, on the assumption that most guests do not allow userspace to access\npagetables directly. Unfortunately, in addition to unshadowing the pagetables,\nit also oopses.\n\nThis never triggers on ordinary guests since sane OSes will clear the\npagetables before assigning them to userspace, which will trigger the flood\nheuristic, unshadowing the pagetables before the first userspace access. One\nparticular guest, though (Xenner) will run the kernel in userspace, triggering\nthe oops.  Since the heuristic is incorrect in this case, we can simply\nremove it.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "3094538739415a9225afd2a6c78cb0fe1c1f641b",
      "tree": "b6f4b62812fd55ffa60d4383af1e7079e8b29a30",
      "parents": [
        "6597ca09e6c0e5aec7ffd2b8ab48c671d3c28414"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Wed Jun 11 20:32:40 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Jun 24 12:18:18 2008 +0300"
      },
      "message": "KVM: MMU: large page update_pte issue with non-PAE 32-bit guests (resend)\n\nkvm_mmu_pte_write() does not handle 32-bit non-PAE large page backed\nguests properly. It will instantiate two 2MB sptes pointing to the same\nphysical 2MB page when a guest large pte update is trapped.\n\nInstead of duplicating code to handle this, disallow directory level\nupdates to happen through kvm_mmu_pte_write(), so the two 2MB sptes\nemulating one guest 4MB pte can be correctly created by the page fault\nhandling path.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "6597ca09e6c0e5aec7ffd2b8ab48c671d3c28414",
      "tree": "9bbe5dab501fa1369ce882a4713ebdd227e09f19",
      "parents": [
        "06e05645661211b9eaadaf6344c335d2e80f0ba2"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Sun Jun 08 01:48:53 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Jun 24 12:17:10 2008 +0300"
      },
      "message": "KVM: MMU: Fix rmap_write_protect() hugepage iteration bug\n\nrmap_next() does not work correctly after rmap_remove(), as it expects\nthe rmap chains not to change during iteration.  Fix (for now) by restarting\niteration from the beginning.\n\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "06e05645661211b9eaadaf6344c335d2e80f0ba2",
      "tree": "8846d2a5052aec44141e811c0a76fdb39c2e77ca",
      "parents": [
        "d4acf7e7abe45457e751525a2a4d5b693dfdd597"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Jun 06 16:37:36 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Jun 24 12:16:59 2008 +0300"
      },
      "message": "KVM: close timer injection race window in __vcpu_run\n\nIf a timer fires after kvm_inject_pending_timer_irqs() but before\nlocal_irq_disable() the code will enter guest mode and only inject such\ntimer interrupt the next time an unrelated event causes an exit.\n\nIt would be simpler if the timer-\u003epending irq conversion could be done\nwith IRQ\u0027s disabled, so that the above problem cannot happen.\n\nFor now introduce a new vcpu requests bit to cancel guest entry.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "d4acf7e7abe45457e751525a2a4d5b693dfdd597",
      "tree": "2ff1cf6f59b0591ea39c0457705188d5f46cb118",
      "parents": [
        "62786b9e81a2dbe9c073a2ade52d33a2627d6d85"
      ],
      "author": {
        "name": "Marcelo Tosatti",
        "email": "mtosatti@redhat.com",
        "time": "Fri Jun 06 16:37:35 2008 -0300"
      },
      "committer": {
        "name": "Avi Kivity",
        "email": "avi@qumranet.com",
        "time": "Tue Jun 24 12:16:52 2008 +0300"
      },
      "message": "KVM: Fix race between timer migration and vcpu migration\n\nA guest vcpu instance can be scheduled to a different physical CPU\nbetween the test for KVM_REQ_MIGRATE_TIMER and local_irq_disable().\n\nIf that happens, the timer will only be migrated to the current pCPU on\nthe next exit, meaning that guest LAPIC timer event can be delayed until\na host interrupt is triggered.\n\nFix it by cancelling guest entry if any vcpu request is pending.  This\nhas the side effect of nicely consolidating vcpu-\u003erequests checks.\n\nSigned-off-by: Marcelo Tosatti \u003cmtosatti@redhat.com\u003e\nSigned-off-by: Avi Kivity \u003cavi@qumranet.com\u003e\n"
    },
    {
      "commit": "72c6e251ed84b3a9cdfde6711191155c47bb2b9c",
      "tree": "06b526bb6ee497bc19b8609753a5cd3e65ebc7b6",
      "parents": [
        "62786b9e81a2dbe9c073a2ade52d33a2627d6d85"
      ],
      "author": {
        "name": "Thorsten Kranzkowski",
        "email": "dl8bcu@dl8bcu.de",
        "time": "Mon Jun 23 20:57:22 2008 +0000"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 23 18:26:04 2008 -0700"
      },
      "message": "alpha: fix compile error in arch/alpha/mm/init.c\n\nCommit 9267b4b3880d00dc2dab90f1d817c856939114f7 (\"alpha: fix module load\nfailures on smp (bug #10926)\") causes a regression for my ev4\nuniprocessor build:\n\n  CC      arch/alpha/mm/init.o\n/export/data/repositories/linux-2.6/arch/alpha/mm/init.c:34: error: expected ‘\u003d’, ‘,’, ‘;’, ‘asm’ or ‘__attribute__’ before ‘typeof’\nmake[2]: *** [arch/alpha/mm/init.o] Error 1\nmake[1]: *** [arch/alpha/mm] Error 2\nmake: *** [sub-make] Error 2\n\nThis fixes it for me (compile and boot tested):\n\nSigned-off-by: Thorsten Kranzkowski \u003cdl8bcu@dl8bcu.de\u003e\nAcked-by: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "62786b9e81a2dbe9c073a2ade52d33a2627d6d85",
      "tree": "ed78a50e92a5cb5d2d792a510b769427bab3191c",
      "parents": [
        "27f4837cbfd87126e733d098824544b6841a4eb8",
        "03fa9e84e5dc10aeacb0e4eb2f708cd9fc36a5b8"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 23 16:25:11 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 23 16:25:11 2008 -0700"
      },
      "message": "Merge branch \u0027hotfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6\n\n* \u0027hotfixes\u0027 of git://git.linux-nfs.org/projects/trondmy/nfs-2.6:\n  NFS: nfs_updatepage(): don\u0027t mark page as dirty if an error occurred\n  NFS: Fix filehandle size comparisons in the mount code\n  NFS: Reduce the NFS mount code stack usage.\n"
    },
    {
      "commit": "03fa9e84e5dc10aeacb0e4eb2f708cd9fc36a5b8",
      "tree": "ebd8d0855b70698ea3017147bf69e38ac22af854",
      "parents": [
        "b7e2445737ff69cef892b6fd9cd71cae2c9e9515"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 05 16:02:35 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jun 23 17:09:07 2008 -0400"
      },
      "message": "NFS: nfs_updatepage(): don\u0027t mark page as dirty if an error occurred\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "b7e2445737ff69cef892b6fd9cd71cae2c9e9515",
      "tree": "d248fa5765d8e4b6ab00f10a77f9cbe793644672",
      "parents": [
        "33852a1f2bb014e4047a844556c0d76a2f790c37"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 19 15:21:11 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jun 23 17:09:06 2008 -0400"
      },
      "message": "NFS: Fix filehandle size comparisons in the mount code\n\nFix a sign issue in xdr_decode_fhstatus3()\nFix incorrect comparison in nfs_validate_mount_data()\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "33852a1f2bb014e4047a844556c0d76a2f790c37",
      "tree": "374e0a266d087fd8eb9419eb77ee4bb788419f82",
      "parents": [
        "945754a1754f9d4c2974a8241ad4f92fad7f3a6a"
      ],
      "author": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Thu Jun 19 14:20:11 2008 -0400"
      },
      "committer": {
        "name": "Trond Myklebust",
        "email": "Trond.Myklebust@netapp.com",
        "time": "Mon Jun 23 17:09:05 2008 -0400"
      },
      "message": "NFS: Reduce the NFS mount code stack usage.\n\nThis appears to fix the Oops reported in\n  http://bugzilla.kernel.org/show_bug.cgi?id\u003d10826\n\nSigned-off-by: Trond Myklebust \u003cTrond.Myklebust@netapp.com\u003e\n"
    },
    {
      "commit": "27f4837cbfd87126e733d098824544b6841a4eb8",
      "tree": "c97efa3ce9883d6f52f8e8b351019ec42f6fea20",
      "parents": [
        "0e053738b50836e9d1e94b2295ef2942eb471078",
        "1b7558e457ed0de61023cfc913d2c342c7c3d9f2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 23 12:49:22 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 23 12:49:22 2008 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  futexes: fix fault handling in futex_lock_pi\n"
    },
    {
      "commit": "0e053738b50836e9d1e94b2295ef2942eb471078",
      "tree": "35f271173acd7dcab75cb8c6d6af6eb9f1ff3369",
      "parents": [
        "ee5c2ab09b79d3aba3515a3eae7c5cf1e2cbc569",
        "198bb971e256e4167e45e7df643c13ea66f67e3a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 23 12:48:50 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 23 12:48:50 2008 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched: refactor wait_for_completion_timeout()\n  sched: fix wait_for_completion_timeout() spurious failure under heavy load\n  sched: rt: dont stop the period timer when there are tasks wanting to run\n"
    },
    {
      "commit": "ee5c2ab09b79d3aba3515a3eae7c5cf1e2cbc569",
      "tree": "45896aa3ae1071c089f969cdce72d83125ed459a",
      "parents": [
        "f6837bfa6506892e889ec79d8ab29931b4468826",
        "ebb9cfe20fe167f29960a5e913193a684fac50bf"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 23 12:48:17 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 23 12:48:17 2008 -0700"
      },
      "message": "Merge branch \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027x86-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  xen: don\u0027t drop NX bit\n  xen: mask unwanted pte bits in __supported_pte_mask\n  xen: Use wmb instead of rmb in xen_evtchn_do_upcall().\n  x86: fix NULL pointer deref in __switch_to\n"
    },
    {
      "commit": "f6837bfa6506892e889ec79d8ab29931b4468826",
      "tree": "bc787e385934081637ca544fdead041ce60b3494",
      "parents": [
        "8dca7ffe2cdbcf8a2f188c8230044c3225b70418",
        "87afd448b186c885d67a08b7417cd46253b6a9d6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 23 12:45:49 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 23 12:45:49 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/roland/infiniband:\n  IB/mthca: Clear ICM pages before handing to FW\n"
    },
    {
      "commit": "8dca7ffe2cdbcf8a2f188c8230044c3225b70418",
      "tree": "6192acd52c4bd0dcb0f502f35f94a8200ce6cf4c",
      "parents": [
        "945754a1754f9d4c2974a8241ad4f92fad7f3a6a",
        "3e14b50dd4a3178f4f635267a2706b5d4f8c61ee"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 23 12:18:06 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 23 12:18:06 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:\n  ALSA: sb - Fix wrong assertions\n  ALSA: aw2 - Fix Oops at initialization\n"
    },
    {
      "commit": "945754a1754f9d4c2974a8241ad4f92fad7f3a6a",
      "tree": "d310dc918d8094a1a6e00e15b24f7953616d7a82",
      "parents": [
        "672ca28e300c17bf8d792a2a7a8631193e580c74"
      ],
      "author": {
        "name": "Nick Piggin",
        "email": "npiggin@suse.de",
        "time": "Mon Jun 23 14:30:30 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 23 11:28:32 2008 -0700"
      },
      "message": "mm: fix race in COW logic\n\nThere is a race in the COW logic.  It contains a shortcut to avoid the\nCOW and reuse the page if we have the sole reference on the page,\nhowever it is possible to have two racing do_wp_page()ers with one\ncausing the other to mistakenly believe it is safe to take the shortcut\nwhen it is not.  This could lead to data corruption.\n\nProcess 1 and process2 each have a wp pte of the same anon page (ie.\none forked the other).  The page\u0027s mapcount is 2.  Then they both\nattempt to write to it around the same time...\n\n  proc1\t\t\t\tproc2 thr1\t\t\tproc2 thr2\n  CPU0\t\t\t\tCPU1\t\t\t\tCPU3\n  do_wp_page()\t\t\tdo_wp_page()\n\t\t\t\t trylock_page()\n\t\t\t\t  can_share_swap_page()\n\t\t\t\t   load page mapcount (\u003d\u003d2)\n\t\t\t\t  reuse \u003d 0\n\t\t\t\t pte unlock\n\t\t\t\t copy page to new_page\n\t\t\t\t pte lock\n\t\t\t\t page_remove_rmap(page);\n   trylock_page()\n    can_share_swap_page()\n     load page mapcount (\u003d\u003d1)\n    reuse \u003d 1\n   ptep_set_access_flags (allow W)\n\n  write private key into page\n\t\t\t\t\t\t\t\tread from page\n\t\t\t\tptep_clear_flush()\n\t\t\t\tset_pte_at(pte of new_page)\n\nFix this by moving the page_remove_rmap of the old page after the pte\nclear and flush.  Potentially the entire branch could be moved down\nhere, but in order to stay consistent, I won\u0027t (should probably move all\nthe *_mm_counter stuff with one patch).\n\nSigned-off-by: Nick Piggin \u003cnpiggin@suse.de\u003e\nAcked-by: Hugh Dickins \u003chugh@veritas.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "672ca28e300c17bf8d792a2a7a8631193e580c74",
      "tree": "73b414f017d15cd404528e2fdd555a93bdb69b61",
      "parents": [
        "96a331b1d6426726c37242ddbe939ee14b255790"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 23 11:21:37 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 23 11:21:37 2008 -0700"
      },
      "message": "Fix ZERO_PAGE breakage with vmware\n\nCommit 89f5b7da2a6bad2e84670422ab8192382a5aeb9f (\"Reinstate ZERO_PAGE\noptimization in \u0027get_user_pages()\u0027 and fix XIP\") broke vmware, as\nreported by Jeff Chua:\n\n  \"This broke vmware 6.0.4.\n   Jun 22 14:53:03.845: vmx| NOT_IMPLEMENTED\n   /build/mts/release/bora-93057/bora/vmx/main/vmmonPosix.c:774\"\n\nand the reason seems to be that there\u0027s an old bug in how we handle do\nFOLL_ANON on VM_SHARED areas in get_user_pages(), but since it only\ntriggered if the whole page table was missing, nobody had apparently hit\nit before.\n\nThe recent changes to \u0027follow_page()\u0027 made the FOLL_ANON logic trigger\nnot just for whole missing page tables, but for individual pages as\nwell, and exposed this problem.\n\nThis fixes it by making the test for when FOLL_ANON is used more\ncareful, and also makes the code easier to read and understand by moving\nthe logic to a separate inline function.\n\nReported-and-tested-by: Jeff Chua \u003cjeff.chua.linux@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "96a331b1d6426726c37242ddbe939ee14b255790",
      "tree": "298c5830d28c446e5b884fe54445ed0008145494",
      "parents": [
        "36c7343b4ecac2432430f5393314f1bdc2c219a5"
      ],
      "author": {
        "name": "Gustavo Fernando Padovan",
        "email": "gustavo@las.ic.unicamp.br",
        "time": "Mon Jun 23 12:07:06 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 23 10:36:47 2008 -0700"
      },
      "message": "removed unused var real_tty on n_tty_ioctl()\n\nI noted that the \u0027struct tty_struct *real_tty\u0027 is not used in this\nfunction, so I removed the code about \u0027real_tty\u0027.\n\nSigned-off-by: Gustavo Fernando Padovan \u003cgustavo@las.ic.unicamp.br\u003e\nAcked-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "36c7343b4ecac2432430f5393314f1bdc2c219a5",
      "tree": "06966862308ff46d4712f58fc95c3c5cacf43819",
      "parents": [
        "55d8538498f62ec72b5ba67aa386c7726f630475"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@lxorguk.ukuu.org.uk",
        "time": "Mon Jun 23 12:06:52 2008 +0100"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jun 23 10:36:47 2008 -0700"
      },
      "message": "tty_driver: Update required method documentation\n\nSome of the requirement rules are now more relaxed. Also correct a\ncontradiction in the previous update\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "87afd448b186c885d67a08b7417cd46253b6a9d6",
      "tree": "763ae0a3f10879482ad414c192ac2be4d60a2b90",
      "parents": [
        "f9d1c6ca2bb1bbfde4a95d9e55ab3b0126825295"
      ],
      "author": {
        "name": "Eli Cohen",
        "email": "eli@mellanox.co.il",
        "time": "Mon Jun 23 09:29:58 2008 -0700"
      },
      "committer": {
        "name": "Roland Dreier",
        "email": "rolandd@cisco.com",
        "time": "Mon Jun 23 09:29:58 2008 -0700"
      },
      "message": "IB/mthca: Clear ICM pages before handing to FW\n\nCurrent memfree FW has a bug which in some cases, assumes that ICM\npages passed to it are cleared.  This patch uses __GFP_ZERO to\nallocate all ICM pages passed to the FW.  Once firmware with a fix is\nreleased, we can make the workaround conditional on firmware version.\n\nThis fixes the bug reported by Arthur Kepner \u003cakepner@sgi.com\u003e here:\nhttp://lists.openfabrics.org/pipermail/general/2008-May/050026.html\n\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Eli Cohen \u003celi@mellanox.co.il\u003e\n\n[ Rewritten to be a one-liner using __GFP_ZERO instead of vmap()ing\n  ICM memory and memset()ing it to 0. - Roland ]\n\nSigned-off-by: Roland Dreier \u003crolandd@cisco.com\u003e\n"
    },
    {
      "commit": "1b7558e457ed0de61023cfc913d2c342c7c3d9f2",
      "tree": "fcd456b1633bfd3e68ba2f6631831fbc5336108d",
      "parents": [
        "481c5346d0981940ee63037eb53e4e37b0735c10"
      ],
      "author": {
        "name": "Thomas Gleixner",
        "email": "tglx@linutronix.de",
        "time": "Mon Jun 23 11:21:58 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 23 13:31:15 2008 +0200"
      },
      "message": "futexes: fix fault handling in futex_lock_pi\n\nThis patch addresses a very sporadic pi-futex related failure in\nhighly threaded java apps on large SMP systems.\n\nDavid Holmes reported that the pi_state consistency check in\nlookup_pi_state triggered with his test application. This means that\nthe kernel internal pi_state and the user space futex variable are out\nof sync. First we assumed that this is a user space data corruption,\nbut deeper investigation revieled that the problem happend because the\npi-futex code is not handling a fault in the futex_lock_pi path when\nthe user space variable needs to be fixed up.\n\nThe fault happens when a fork mapped the anon memory which contains\nthe futex readonly for COW or the page got swapped out exactly between\nthe unlock of the futex and the return of either the new futex owner\nor the task which was the expected owner but failed to acquire the\nkernel internal rtmutex. The current futex_lock_pi() code drops out\nwith an inconsistent in case it faults and returns -EFAULT to user\nspace. User space has no way to fixup that state.\n\nWhen we wrote this code we thought that we could not drop the hash\nbucket lock at this point to handle the fault.\n\nAfter analysing the code again it turned out to be wrong because there\nare only two tasks involved which might modify the pi_state and the\nuser space variable:\n\n - the task which acquired the rtmutex\n - the pending owner of the pi_state which did not get the rtmutex\n\nBoth tasks drop into the fixup_pi_state() function before returning to\nuser space. The first task which acquired the hash bucket lock faults\nin the fixup of the user space variable, drops the spinlock and calls\nfutex_handle_fault() to fault in the page. Now the second task could\nacquire the hash bucket lock and tries to fixup the user space\nvariable as well. It either faults as well or it succeeds because the\nfirst task already faulted the page in.\n\nOne caveat is to avoid a double fixup. After returning from the fault\nhandling we reacquire the hash bucket lock and check whether the\npi_state owner has been modified already.\n\nReported-by: David Holmes \u003cdavid.holmes@sun.com\u003e\nSigned-off-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nCc: David Holmes \u003cdavid.holmes@sun.com\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Peter Zijlstra \u003cpeterz@infradead.org\u003e\nCc: \u003cstable@kernel.org\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n\n kernel/futex.c |   93 ++++++++++++++++++++++++++++++++++++++++++++-------------\n 1 file changed, 73 insertions(+), 20 deletions(-)\n"
    },
    {
      "commit": "3e14b50dd4a3178f4f635267a2706b5d4f8c61ee",
      "tree": "3d16b9fbd8903a084b1e174dcb4f68aed94337eb",
      "parents": [
        "44e051773da465f8c92127914bc784770e0e2a28"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Mon Jun 23 11:58:06 2008 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Mon Jun 23 12:06:23 2008 +0200"
      },
      "message": "ALSA: sb - Fix wrong assertions\n\nsnd_assert() in save_mixer() and restore_mixer() in sb_mixer.c is\njust wrong.  The debug code wasn\u0027t tested at all, obviously...\n\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "44e051773da465f8c92127914bc784770e0e2a28",
      "tree": "d984ee6d1e75bbf85b98745c2160dab9afc12aaf",
      "parents": [
        "481c5346d0981940ee63037eb53e4e37b0735c10"
      ],
      "author": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Mon Jun 23 11:54:05 2008 +0200"
      },
      "committer": {
        "name": "Takashi Iwai",
        "email": "tiwai@suse.de",
        "time": "Mon Jun 23 12:06:23 2008 +0200"
      },
      "message": "ALSA: aw2 - Fix Oops at initialization\n\nThe irq handler may be called before the proper initialization of hardware.\nCall snd_aw2_saa7146_setup() before the irq handler registration.\n\nSigned-off-by: Takashi Iwai \u003ctiwai@suse.de\u003e\n"
    },
    {
      "commit": "198bb971e256e4167e45e7df643c13ea66f67e3a",
      "tree": "85b8b2bf6cc78bf0e53a2187ed5796f076922334",
      "parents": [
        "ea71a546706dfdad72462624394e1e472c6bf34f",
        "481c5346d0981940ee63037eb53e4e37b0735c10"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 23 11:00:26 2008 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jun 23 11:00:26 2008 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into sched/urgent\n"
    },
    {
      "commit": "55d8538498f62ec72b5ba67aa386c7726f630475",
      "tree": "15ebcc7a51fdf1ff2bf76ade337a637c0990055d",
      "parents": [
        "481c5346d0981940ee63037eb53e4e37b0735c10"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 22 12:23:15 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Jun 22 12:23:15 2008 -0700"
      },
      "message": "Fix performance regression on lmbench select benchmark\n\nChristian Borntraeger reported that reinstating cond_resched() with\nCONFIG_PREEMPT caused a performance regression on lmbench:\n\n\tFor example select file 500:\n\t23 microseconds\n\t32 microseconds\n\nand that\u0027s really because we totally unnecessarily do the cond_resched()\nin the innermost loop of select(), which is just silly.\n\nThis moves it out from the innermost loop (which only ever loops ove the\nbits in a single \"unsigned long\" anyway), which makes the performance\nregression go away.\n\nReported-and-tested-by: Christian Borntraeger \u003cborntraeger@de.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "481c5346d0981940ee63037eb53e4e37b0735c10",
      "tree": "3fcae626ec4e1d4e698008671cfd62d794992ac5",
      "parents": [
        "62a8efe632be1815b544845db643f1fcd9afcfb0"
      ],
      "author": {
        "name": "Christoph Lameter",
        "email": "clameter@sgi.com",
        "time": "Sat Jun 21 16:46:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 21 16:51:02 2008 -0700"
      },
      "message": "Slab: Fix memory leak in fallback_alloc()\n\nThe zonelist patches caused the loop that checks for available\nobjects in permitted zones to not terminate immediately. One object\nper zone per allocation may be allocated and then abandoned.\n\nBreak the loop when we have successfully allocated one object.\n\nSigned-off-by: Christoph Lameter \u003cclameter@sgi.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "62a8efe632be1815b544845db643f1fcd9afcfb0",
      "tree": "ae7802a595f9618c164df22e0d997ee537e2f0ca",
      "parents": [
        "bec95aab8c056ab490fe7fa54da822938562443d",
        "2856922c158605514ec5974a03097eaec91f4c0d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 21 16:43:56 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 21 16:43:56 2008 -0700"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4:\n  Ext4: Fix online resize block group descriptor corruption\n"
    },
    {
      "commit": "bec95aab8c056ab490fe7fa54da822938562443d",
      "tree": "597856476547811928a6d053f9e050045c613d38",
      "parents": [
        "71c2742f5e6348d76ee62085cf0a13e5eff0f00e",
        "bcccc3a28e9cbb44549cde326852c26203a53a56"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 21 12:31:02 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 21 12:31:32 2008 -0700"
      },
      "message": "Merge branch \u0027release\u0027 of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6\n\n* \u0027release\u0027 of git://lm-sensors.org/kernel/mhoffman/hwmon-2.6:\n  hwmon: (lm75) sensor reading bugfix\n  hwmon: (abituguru3) update driver detection\n  hwmon: (w83791d) new maintainer\n  hwmon: (abituguru3) Identify Abit AW8D board as such\n  hwmon: Update the sysfs interface documentation\n  hwmon: (adt7473) Initialize max_duty_at_overheat before use\n  hwmon: (lm85) Fix function RANGE_TO_REG()\n"
    },
    {
      "commit": "71c2742f5e6348d76ee62085cf0a13e5eff0f00e",
      "tree": "44020f575319903e3ef18665baec360b6ea1c98d",
      "parents": [
        "a19214430d27a3af6f1672ec26f3c893ef899ede"
      ],
      "author": {
        "name": "Bernhard Walle",
        "email": "bwalle@suse.de",
        "time": "Sat Jun 21 19:01:02 2008 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 21 11:25:10 2008 -0700"
      },
      "message": "Add return value to reserve_bootmem_node()\n\nThis patch changes the function reserve_bootmem_node() from void to int,\nreturning -ENOMEM if the allocation fails.\n\nThis fixes a build problem on x86 with CONFIG_KEXEC\u003dy and\nCONFIG_NEED_MULTIPLE_NODES\u003dy\n\nSigned-off-by: Bernhard Walle \u003cbwalle@suse.de\u003e\nReported-by: Adrian Bunk \u003cbunk@kernel.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a19214430d27a3af6f1672ec26f3c893ef899ede",
      "tree": "ecd998eaf216f6e195c65cb050f4335db86b26f6",
      "parents": [
        "b732d9680b7a2968823851f1163507ad9c45c8cb",
        "b9f75f45a6b46a0ab4eb0857d437a0845871f314"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 21 08:44:08 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Jun 21 08:44:08 2008 -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  netns: Don\u0027t receive new packets in a dead network namespace.\n  sctp: Make sure N * sizeof(union sctp_addr) does not overflow.\n  pppoe: warning fix\n  ipv6: Drop packets for loopback address from outside of the box.\n  ipv6: Remove options header when setsockopt\u0027s optlen is 0\n  mac80211: detect driver tx bugs\n"
    },
    {
      "commit": "b9f75f45a6b46a0ab4eb0857d437a0845871f314",
      "tree": "5c893f3b63d52e5b52fbb7644a833cffdb2c5af2",
      "parents": [
        "735ce972fbc8a65fb17788debd7bbe7b4383cc62"
      ],
      "author": {
        "name": "Eric W. Biederman",
        "email": "ebiederm@xmission.com",
        "time": "Fri Jun 20 22:16:51 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 20 22:16:51 2008 -0700"
      },
      "message": "netns: Don\u0027t receive new packets in a dead network namespace.\n\nAlexey Dobriyan \u003cadobriyan@gmail.com\u003e writes:\n\u003e Subject: ICMP sockets destruction vs ICMP packets oops\n\n\u003e After icmp_sk_exit() nuked ICMP sockets, we get an interrupt.\n\u003e icmp_reply() wants ICMP socket.\n\u003e\n\u003e Steps to reproduce:\n\u003e\n\u003e \tlaunch shell in new netns\n\u003e \tmove real NIC to netns\n\u003e \tsetup routing\n\u003e \tping -i 0\n\u003e \texit from shell\n\u003e\n\u003e BUG: unable to handle kernel NULL pointer dereference at 0000000000000000\n\u003e IP: [\u003cffffffff803fce17\u003e] icmp_sk+0x17/0x30\n\u003e PGD 17f3cd067 PUD 17f3ce067 PMD 0 \n\u003e Oops: 0000 [1] PREEMPT SMP DEBUG_PAGEALLOC\n\u003e CPU 0 \n\u003e Modules linked in: usblp usbcore\n\u003e Pid: 0, comm: swapper Not tainted 2.6.26-rc6-netns-ct #4\n\u003e RIP: 0010:[\u003cffffffff803fce17\u003e]  [\u003cffffffff803fce17\u003e] icmp_sk+0x17/0x30\n\u003e RSP: 0018:ffffffff8057fc30  EFLAGS: 00010286\n\u003e RAX: 0000000000000000 RBX: 0000000000000000 RCX: ffff81017c7db900\n\u003e RDX: 0000000000000034 RSI: ffff81017c7db900 RDI: ffff81017dc41800\n\u003e RBP: ffffffff8057fc40 R08: 0000000000000001 R09: 000000000000a815\n\u003e R10: 0000000000000000 R11: 0000000000000001 R12: ffffffff8057fd28\n\u003e R13: ffffffff8057fd00 R14: ffff81017c7db938 R15: ffff81017dc41800\n\u003e FS:  0000000000000000(0000) GS:ffffffff80525000(0000) knlGS:0000000000000000\n\u003e CS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b\n\u003e CR2: 0000000000000000 CR3: 000000017fcda000 CR4: 00000000000006e0\n\u003e DR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\n\u003e DR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\n\u003e Process swapper (pid: 0, threadinfo ffffffff8053a000, task ffffffff804fa4a0)\n\u003e Stack:  0000000000000000 ffff81017c7db900 ffffffff8057fcf0 ffffffff803fcfe4\n\u003e  ffffffff804faa38 0000000000000246 0000000000005a40 0000000000000246\n\u003e  000000000001ffff ffff81017dd68dc0 0000000000005a40 0000000055342436\n\u003e Call Trace:\n\u003e  \u003cIRQ\u003e  [\u003cffffffff803fcfe4\u003e] icmp_reply+0x44/0x1e0\n\u003e  [\u003cffffffff803d3a0a\u003e] ? ip_route_input+0x23a/0x1360\n\u003e  [\u003cffffffff803fd645\u003e] icmp_echo+0x65/0x70\n\u003e  [\u003cffffffff803fd300\u003e] icmp_rcv+0x180/0x1b0\n\u003e  [\u003cffffffff803d6d84\u003e] ip_local_deliver+0xf4/0x1f0\n\u003e  [\u003cffffffff803d71bb\u003e] ip_rcv+0x33b/0x650\n\u003e  [\u003cffffffff803bb16a\u003e] netif_receive_skb+0x27a/0x340\n\u003e  [\u003cffffffff803be57d\u003e] process_backlog+0x9d/0x100\n\u003e  [\u003cffffffff803bdd4d\u003e] net_rx_action+0x18d/0x250\n\u003e  [\u003cffffffff80237be5\u003e] __do_softirq+0x75/0x100\n\u003e  [\u003cffffffff8020c97c\u003e] call_softirq+0x1c/0x30\n\u003e  [\u003cffffffff8020f085\u003e] do_softirq+0x65/0xa0\n\u003e  [\u003cffffffff80237af7\u003e] irq_exit+0x97/0xa0\n\u003e  [\u003cffffffff8020f198\u003e] do_IRQ+0xa8/0x130\n\u003e  [\u003cffffffff80212ee0\u003e] ? mwait_idle+0x0/0x60\n\u003e  [\u003cffffffff8020bc46\u003e] ret_from_intr+0x0/0xf\n\u003e  \u003cEOI\u003e  [\u003cffffffff80212f2c\u003e] ? mwait_idle+0x4c/0x60\n\u003e  [\u003cffffffff80212f23\u003e] ? mwait_idle+0x43/0x60\n\u003e  [\u003cffffffff8020a217\u003e] ? cpu_idle+0x57/0xa0\n\u003e  [\u003cffffffff8040f380\u003e] ? rest_init+0x70/0x80\n\u003e Code: 10 5b 41 5c 41 5d 41 5e c9 c3 66 2e 0f 1f 84 00 00 00 00 00 55 48 89 e5 53\n\u003e 48 83 ec 08 48 8b 9f 78 01 00 00 e8 2b c7 f1 ff 89 c0 \u003c48\u003e 8b 04 c3 48 83 c4 08\n\u003e 5b c9 c3 66 66 66 66 66 2e 0f 1f 84 00\n\u003e RIP  [\u003cffffffff803fce17\u003e] icmp_sk+0x17/0x30\n\u003e  RSP \u003cffffffff8057fc30\u003e\n\u003e CR2: 0000000000000000\n\u003e ---[ end trace ea161157b76b33e8 ]---\n\u003e Kernel panic - not syncing: Aiee, killing interrupt handler!\n\nReceiving packets while we are cleaning up a network namespace is a\nracy proposition. It is possible when the packet arrives that we have\nremoved some but not all of the state we need to fully process it.  We\nhave the choice of either playing wack-a-mole with the cleanup routines\nor simply dropping packets when we don\u0027t have a network namespace to\nhandle them.\n\nSince the check looks inexpensive in netif_receive_skb let\u0027s just\ndrop the incoming packets.\n\nSigned-off-by: Eric W. Biederman \u003cebiederm@xmission.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "735ce972fbc8a65fb17788debd7bbe7b4383cc62",
      "tree": "b047160a720011021b148350e42d8cc020f06a61",
      "parents": [
        "2645a3c3761ac25498db2e627271016c849c68e1"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 20 22:04:34 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 20 22:04:34 2008 -0700"
      },
      "message": "sctp: Make sure N * sizeof(union sctp_addr) does not overflow.\n\nAs noticed by Gabriel Campana, the kmalloc() length arg\npassed in by sctp_getsockopt_local_addrs_old() can overflow\nif -\u003eaddr_num is large enough.\n\nTherefore, enforce an appropriate limit.\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2645a3c3761ac25498db2e627271016c849c68e1",
      "tree": "bf9ef85b4aede7a1773af2971084911245385c2d",
      "parents": [
        "f630e43a215a3129d0c1173cae0bce6ea4855cf7"
      ],
      "author": {
        "name": "Stephen Hemminger",
        "email": "shemminger@vyatta.com",
        "time": "Fri Jun 20 21:58:02 2008 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Jun 20 21:58:02 2008 -0700"
      },
      "message": "pppoe: warning fix\n\nFix warning:\ndrivers/net/pppoe.c: In function \u0027pppoe_recvmsg\u0027:\ndrivers/net/pppoe.c:945: warning: comparison of distinct pointer types lacks a cast\nbecause skb-\u003elen is unsigned int and total_len is size_t\n\nSigned-off-by: Stephen Hemminger \u003cshemminger@vyatta.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "b732d9680b7a2968823851f1163507ad9c45c8cb",
      "tree": "d4584316d00a021d3d54052676a870c8b2999f23",
      "parents": [
        "a744e0160ac5804b763449aa34d3991dc21af0be",
        "e0c6d97c65e0784aade7e97b9411f245a6c543e7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 17:10:04 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 17:10:04 2008 -0700"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/aegl/linux-2.6:\n  [IA64] SN2: security hole in sn2_ptc_proc_write\n"
    },
    {
      "commit": "a744e0160ac5804b763449aa34d3991dc21af0be",
      "tree": "e646b305bef58b6fa5f1b0fda4de5974ca1e5df3",
      "parents": [
        "d559d4a24a3fed75bd890abcc1f95cd8d8dad6e1"
      ],
      "author": {
        "name": "Ivan Kokshaysky",
        "email": "ink@jurassic.park.msu.ru",
        "time": "Sat Jun 21 03:28:54 2008 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 16:46:10 2008 -0700"
      },
      "message": "alpha: resurrect Cypress IDE quirk\n\nWhich was removed in the hope that generic legacy IDE quirk in\ndrivers/pci/probe.c is sufficient for Cypress IDE.\nIt isn\u0027t, as this controller has non-standard BAR layout:\nsecondary channel registers are in the BAR0-1 of the second\nPCI function - not in the BAR2-3 of the same function, as the\ngeneric quirk routine assumes.\n\nSigned-off-by: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d559d4a24a3fed75bd890abcc1f95cd8d8dad6e1",
      "tree": "2f920b9fc7a7bed1ce857474505793fe1431eac3",
      "parents": [
        "ede426923b25414f5ec9c00fefe6727d9721dd13"
      ],
      "author": {
        "name": "Ivan Kokshaysky",
        "email": "ink@jurassic.park.msu.ru",
        "time": "Sat Jun 21 03:28:31 2008 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 16:46:10 2008 -0700"
      },
      "message": "alpha: fix compile failures with gcc-4.3 (bug #10438)\n\nVast majority of these build failures are gcc-4.3 warnings\nabout static functions and objects being referenced from\nnon-static (read: \"extern inline\") functions, in conjunction\nwith our -Werror.\n\nWe cannot just convert \"extern inline\" to \"static inline\",\nas people keep suggesting all the time, because \"extern inline\"\nlogic is crucial for generic kernel build.\nSo\n- just make sure that all callees of critical \"extern inline\"\n  functions are also \"extern inline\";\n- use \"static inline\", wherever it\u0027s possible.\n\ntraps.c: work around gcc-4.3 being too smart about array\nbounds-checking.\n\nTODO: add \"gnu_inline\" attribute to all our \"extern inline\"\nfunctions to ensure desired behaviour with future compilers.\n\nSigned-off-by: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ede426923b25414f5ec9c00fefe6727d9721dd13",
      "tree": "201a873e852807d0b5a02503eecd39a45338be94",
      "parents": [
        "9267b4b3880d00dc2dab90f1d817c856939114f7"
      ],
      "author": {
        "name": "Ivan Kokshaysky",
        "email": "ink@jurassic.park.msu.ru",
        "time": "Sat Jun 21 03:26:21 2008 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 16:46:10 2008 -0700"
      },
      "message": "alpha: link failure fix\n\nWith built-in scsi disk driver, the final link fails with a following\nerror:\n`.exit.text\u0027 referenced in section `.rodata\u0027 of drivers/built-in.o:\ndefined in discarded section `.exit.text\u0027 of drivers/built-in.o\n\nThis happens with -Os (CONFIG_CC_OPTIMIZE_FOR_SIZE\u003dy) with all gcc-4\nversions, and also with -O2 and gcc-4.3.\n\nThe problem is in sd.c:sd_major() being inlined into __exit function\nexit_sd(), and the compiler generating a jump table in .rodata section\nfor the \u0027switch\u0027 statement in sd_major(). So we have references to\ndiscarded section.\n\nFixed with a big hammer in the form of -fno-jump-tables.\n\nNote that jump tables vs. discarded sections is a generic problem,\nother architectures are just lucky not to suffer from it. But with\na slightly more complex switch/case statement it can be reproduced\non x86 as well. So maybe at some point we should consider\n-fno-jump-tables as a generic compile option...\n\nSigned-off-by: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "9267b4b3880d00dc2dab90f1d817c856939114f7",
      "tree": "9823a76657f257d71aac2a5f4374c56560dd2e6e",
      "parents": [
        "d70ac829b7f42d7ef4f879635c6a772b0b4ed0a2"
      ],
      "author": {
        "name": "Ivan Kokshaysky",
        "email": "ink@jurassic.park.msu.ru",
        "time": "Sat Jun 21 03:25:39 2008 +0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 16:46:10 2008 -0700"
      },
      "message": "alpha: fix module load failures on smp (bug #10926)\n\nTo calculate addresses of locally defined variables, GCC uses 32-bit\ndisplacement from the GP. Which doesn\u0027t work for per cpu variables in\nmodules, as an offset to the kernel per cpu area is way above 4G.\n\nThe workaround is to force allocation of a GOT entry for per cpu variable\nusing ldq instruction with a \u0027literal\u0027 relocation.\nI had to use custom asm/percpu.h, as a required argument magic doesn\u0027t\nwork with asm-generic/percpu.h macros.\n\nSigned-off-by: Ivan Kokshaysky \u003cink@jurassic.park.msu.ru\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "d70ac829b7f42d7ef4f879635c6a772b0b4ed0a2",
      "tree": "b9cf4fd3fe6afea7ec4e09a2bd976d9964f9266e",
      "parents": [
        "06d5e334a4f8a1f33ebfcdc89c077f4fc85bcffb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 16:19:44 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 16:19:44 2008 -0700"
      },
      "message": "Linux 2.6.26-rc7\n"
    },
    {
      "commit": "06d5e334a4f8a1f33ebfcdc89c077f4fc85bcffb",
      "tree": "f8a55625cef3e754702add71acaf9958edfd8352",
      "parents": [
        "d5545fa0056ff2982f8a6419bd9a6ba2674deefd",
        "ac1623625c5818bbdf5c68973098ba386ba7a004"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 12:46:47 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 12:46:47 2008 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/bart/ide-2.6:\n  BAST: Remove old IDE driver\n  pcmcia ide kingston compactflash\u0027s have a new manufacturer id\n  pcmcia: add another pata/ide ID\n  pcmcia: add an pata/ide ID\n  ide: increase timeout in wait_drive_not_busy()\n  palm_bk3710: fix resource management\n"
    },
    {
      "commit": "d5545fa0056ff2982f8a6419bd9a6ba2674deefd",
      "tree": "f6f4eb4b1d7a4b3b65b2ae58c993bc456facfb45",
      "parents": [
        "77a189c28b44035ff1b6841df32c43af8a9e8399",
        "9499fe2b340d19ef55c349de794db9d917e7403f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 12:41:10 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 12:41:10 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ieee1394/linux1394-2.6:\n  ieee1394: Kconfig menu touch-up\n  firewire: Kconfig menu touch-up\n  firewire: deadline for PHY config transmission\n  firewire: fw-ohci: unify printk prefixes\n  firewire: fill_bus_reset_event needs lock protection\n  firewire: fw-ohci: write selfIDBufferPtr before LinkControl.rcvSelfID\n  firewire: fw-ohci: disable PHY packet reception into AR context\n  firewire: fw-ohci: use of uninitialized data in AR handler\n  firewire: don\u0027t panic on invalid AR request buffer\n"
    },
    {
      "commit": "77a189c28b44035ff1b6841df32c43af8a9e8399",
      "tree": "fc72ff43367d887da25a63b523eb7380d85094a1",
      "parents": [
        "9aef85cc58f54f01bbbafdb3c87af4465f4257c0",
        "5a87f7f5e523030aa6fe732ec338fd53c9a11c42"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 12:39:12 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 12:39:12 2008 -0700"
      },
      "message": "Merge branch \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6\n\n* \u0027release\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/lenb/linux-acpi-2.6:\n  ACPI: no AC status notification\n  ACPI Exception (video-1721): UNKNOWN_STATUS_CODE, Cant attach device\n"
    },
    {
      "commit": "9aef85cc58f54f01bbbafdb3c87af4465f4257c0",
      "tree": "5bad4a1e733b46aa60f7af866409d3cb984d39c7",
      "parents": [
        "fdfe6d3d000775b50fb1adbc278ba0a34c3007c7",
        "858a3685bcf3ac199128e4aa85eaae2fb9d191b5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 12:38:18 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 12:38:18 2008 -0700"
      },
      "message": "Merge branch \u0027drm-patches\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6\n\n* \u0027drm-patches\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6: (21 commits)\n  drm: only trust core drm ioctls - driver ioctls are a mess.\n  drm/i915: add support for Intel series 4 chipsets.\n  drm/radeon: add hier-z registers for r300 and r500 chipsets\n  drm/radeon: use DSTCACHE_CTLSTAT rather than RB2D_DSTCACHE_CTLSTAT\n  drm/radeon: switch IGP gart to use radeon_write_agp_base()\n  drm/radeon: Restore sw interrupt on resume\n  drm/r500: add support for AGP based cards.\n  drm/radeon: fix texture uploads with large 3d textures (bug 13980)\n  drm/radeon: add initial r500 support.\n  drm/radeon: init pipe setup in kernel code.\n  drm/radeon: fixup radeon_do_engine_reset\n  drm/radeon: fix pixcache and purge/cache flushing registers\n  drm/radeon: write AGP_BASE_2 on chips that support it.\n  drm/radeon: merge IGP chip setup and fixup RS400 vs RS480 support\n  drm/radeon: IGP clean up register and magic numbers.\n  drm/rs690: set base 2 to 0.\n  drm/rs690: set all of gart base address.\n  radeon: add production microcode from AMD\n  drm: pcigart use proper pci map interfaces.\n  drm: the sg alloc ioctl should write back the handle to userspace\n  ...\n"
    },
    {
      "commit": "fdfe6d3d000775b50fb1adbc278ba0a34c3007c7",
      "tree": "1d8f90f6be657cd7de16692474d9e85d7bc2f92d",
      "parents": [
        "1f1e2ce8a55bac60ff165d353c6b882e750c9092",
        "7d15ddf79ec35ce79093832c80b86c0888eb5bce"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 12:37:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 12:37:55 2008 -0700"
      },
      "message": "Merge branch \u0027agp-patches\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6\n\n* \u0027agp-patches\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/agp-2.6:\n  [agp]: fixup chipset flush for new Intel G4x.\n  agp: brown paper bag patch - put back the two lines it took out.\n"
    },
    {
      "commit": "1f1e2ce8a55bac60ff165d353c6b882e750c9092",
      "tree": "b11aaa5baa04ea5ea0ecc549fa1c95430919cd82",
      "parents": [
        "e570dc2a503f8334b700e8483082c675394f53fd",
        "9c106c119ebedf624fbd682fd2a4d52e3c8c1a67"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 12:37:13 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 12:37:13 2008 -0700"
      },
      "message": "Merge branch \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027core-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  softlockup: fix NMI hangs due to lock race - 2.6.26-rc regression\n  rcupreempt: remove export of rcu_batches_completed_bh\n  cpuset: limit the input of cpuset.sched_relax_domain_level\n"
    },
    {
      "commit": "e570dc2a503f8334b700e8483082c675394f53fd",
      "tree": "cd188ec93f5bea1f06accbdc916876e891bdb9b0",
      "parents": [
        "b1ae8d3a00530c035ef97fa4d97f4bee9be75c43",
        "d4abc238c9f4df8b3216f3e883f5d0a07b7ac75a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 12:36:55 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Jun 20 12:36:55 2008 -0700"
      },
      "message": "Merge branch \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027sched-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  sched, delay accounting: fix incorrect delay time when constantly waiting on runqueue\n  sched: CPU hotplug events must not destroy scheduler domains created by the cpusets\n  sched: rt-group: fix RR buglet\n  sched: rt-group: heirarchy aware throttle\n  sched: rt-group: fix hierarchy\n  sched: NULL pointer dereference while setting sched_rt_period_us\n  sched: fix defined-but-unused warning\n"
    }
  ],
  "next": "b1ae8d3a00530c035ef97fa4d97f4bee9be75c43"
}
