)]}'
{
  "log": [
    {
      "commit": "06d2188644c85c56d243efab914f368d1d23c4a3",
      "tree": "5ee4a4c5b6343a33573fac6a3a66015238e5b1d6",
      "parents": [
        "a9327cac440be4d8333bba975cbbf76045096275"
      ],
      "author": {
        "name": "Jeff Moyer",
        "email": "jmoyer@redhat.com",
        "time": "Fri Sep 11 17:08:59 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Sep 14 08:24:52 2009 +0200"
      },
      "message": "cfq: choose a new next_req when a request is dispatched\n\nThis patch addresses http://bugzilla.kernel.org/show_bug.cgi?id\u003d13401, a\nregression introduced in 2.6.30.\n\nFrom the bug report:\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a9327cac440be4d8333bba975cbbf76045096275",
      "tree": "83fd5dc45dc925c5b4eb0264c3add96cfaa4cae6",
      "parents": [
        "18d8217bc441630c3c5ec7416c5a65c69e8a0979"
      ],
      "author": {
        "name": "Nikanth Karthikesan",
        "email": "knikanth@suse.de",
        "time": "Fri Sep 11 09:18:54 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Sep 14 08:24:52 2009 +0200"
      },
      "message": "Seperate read and write statistics of in_flight requests\n\nCurrently, there is a single in_flight counter measuring the number of\nrequests in the request_queue. But some monitoring tools would like to\nknow how many read requests and write requests are in progress. Split the\ncurrent in_flight counter into two seperate counters for read and write.\n\nThis information is exported as a sysfs attribute, as changing the\ncurrently available stat files would break the existing tools.\n\nSigned-off-by: Nikanth Karthikesan \u003cknikanth@suse.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "18d8217bc441630c3c5ec7416c5a65c69e8a0979",
      "tree": "9051bbd875dd96d8d75ccf2dfc228e912edfeb50",
      "parents": [
        "01edede41e352e4879a89cdc5468f72ffc89b713"
      ],
      "author": {
        "name": "Ed Cashin",
        "email": "ecashin@coraid.com",
        "time": "Thu Sep 10 22:30:47 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Sep 14 08:24:52 2009 +0200"
      },
      "message": "aoe: end barrier bios with EOPNOTSUPP\n\nBugLink: http://bugzilla.kernel.org/show_bug.cgi?id\u003d13942\n\nBruno Premont noticed that aoe throws a BUG during umount of an XFS in\n2.6.31:\n\n[ 5259.349897] aoe: bi_io_vec is NULL\n[ 5259.349940] ------------[ cut here ]------------\n[ 5259.349958] kernel BUG at /usr/src/linux-2.6/drivers/block/aoe/aoeblk.c:177!\n[ 5259.349990] invalid opcode: 0000 [#1]\n\nThe bio in question is a barrier.  Jens Axboe suggested that such bios\nneed to be recognized and ended with -EOPNOTSUPP by any driver that\nprovides its own -\u003emake_request_fn handler and does not handle\nbarriers.\n\nIn testing the changes below eliminate the BUG.\n\n(Better would be real barrier support, something that Ed says he\u0027ll add\nfor later in the .32 cycle. For now, this at least gets rid of a bug\nwith crashing on an empty barrier. Jens)\n\nSigned-off-by: Ed L. Cashin \u003cecashin@coraid.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "01edede41e352e4879a89cdc5468f72ffc89b713",
      "tree": "5467323ee7ed8ff6178fcdae44e9f3ddab078308",
      "parents": [
        "01e97f6b897bf06ec83375d691f2f4d57f5b3a09"
      ],
      "author": {
        "name": "Minchan Kim",
        "email": "minchan.kim@gmail.com",
        "time": "Tue Sep 08 21:56:38 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 14:34:34 2009 +0200"
      },
      "message": "block: trace bio queueing trial only when it occurs\n\nIf BIO is discarded or cross over end of device,\nBIO queueing trial doesn\u0027t occur.\n\nActually the trace was called just before make_request at first:\n[PATCH] Block queue IO tracing support (blktrace) as of 2006-03-23\n      2056a782f8e7e65fd4bfd027506b4ce1c5e9ccd4\n\nAnd then 2 patches added some checks between them:\n[PATCH] md: check bio address after mapping through partitions\n        5ddfe9691c91a244e8d1be597b6428fcefd58103,\n[BLOCK] Don\u0027t allow empty barriers to be passed down to\nqueues that don\u0027t grok them\n        51fd77bd9f512ab6cc9df0733ba1caaab89eb957\n\nIt breaks original goal.\nLet\u0027s trace it only when it happens.\n\nSigned-off-by: Minchan Kim \u003cminchan.kim@gmail.com\u003e\nAcked-by: Wu Fengguang \u003cfengguang.wu@intel.com\u003e\nCc: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "01e97f6b897bf06ec83375d691f2f4d57f5b3a09",
      "tree": "72a99783584254b06b19dd41da7ecaf2d13760c3",
      "parents": [
        "b217a903ab6581cba04f88c44284dcdd2a752561"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Sep 03 20:06:47 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 14:34:33 2009 +0200"
      },
      "message": "block: enable rq CPU completion affinity by default\n\nTest results here look good, and on big OLTP runs it has also shown\nto significantly increase cycles attributed to the database and\ncause a performance boost.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "b217a903ab6581cba04f88c44284dcdd2a752561",
      "tree": "4cb565ead13823c45ed325b20b83ecd78f52a565",
      "parents": [
        "49b3a3cbc0311f8f809183696b1f2ab824b18a51"
      ],
      "author": {
        "name": "Shan Wei",
        "email": "shanwei@cn.fujitsu.com",
        "time": "Tue Sep 01 10:06:42 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 14:34:33 2009 +0200"
      },
      "message": "cfq: fix the log message after dispatched a request\n\nThe blktrace tools can show process id when cfq dispatched a request,\nusing cfq_log_cfqq() instead of cfq_log().\n\nSigned-off-by: Shan Wei \u003cshanwei@cn.fujitsu.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "49b3a3cbc0311f8f809183696b1f2ab824b18a51",
      "tree": "3ec892d4cb7e8d96f9b0ec26bb7eefaa901201b0",
      "parents": [
        "212a502676c308ead964a024e081529ad3f8d94c"
      ],
      "author": {
        "name": "Marcin Slusarz",
        "email": "marcin.slusarz@gmail.com",
        "time": "Mon Aug 24 10:56:38 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 14:34:33 2009 +0200"
      },
      "message": "block: use printk_once\n\nSigned-off-by: Marcin Slusarz \u003cmarcin.slusarz@gmail.com\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\nCc: Tim Waugh \u003ctim@cyberelk.net\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "212a502676c308ead964a024e081529ad3f8d94c",
      "tree": "5dd856c710db4c2a28998144e863cb68810da00a",
      "parents": [
        "723590ed52d244b025f10a8e2f54c2f57ed02b4d"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Mon Aug 24 10:01:53 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 14:34:33 2009 +0200"
      },
      "message": "cciss: memory leak in cciss_init_one()\n\ncommit 22bece00dc1f28dd3374c55e464c9f02eb642876\n(cciss: fix regression firmware not displayed in procfs)\nadded a small memory leak in cciss_init_one()\n\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "723590ed52d244b025f10a8e2f54c2f57ed02b4d",
      "tree": "eaf52e605a462beb9a167837a6cc31024eb42a40",
      "parents": [
        "d62f843b295393124970d29316344150c7de009b"
      ],
      "author": {
        "name": "Miklos Szeredi",
        "email": "mszeredi@suse.cz",
        "time": "Sat Aug 15 08:43:22 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 14:34:33 2009 +0200"
      },
      "message": "splice: update mtime and atime on files\n\nSplice should update the modification and access times on regular\nfiles just like read and write. Not updating mtime will confuse\nbackup tools, etc...\n\nThis patch only adds the time updates for regular files.  For pipes\nand other special files that splice touches the need for updating the\ntimes is less clear.  Let\u0027s discuss and fix that separately.\n\nSigned-off-by: Miklos Szeredi \u003cmszeredi@suse.cz\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "d62f843b295393124970d29316344150c7de009b",
      "tree": "e4ed17a6e34f43a7c292e7d6f8fe64652b075dd6",
      "parents": [
        "1b379d8daf4e981b2220f057683e35af022d45bc"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Aug 11 08:31:14 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 14:33:32 2009 +0200"
      },
      "message": "block: make blk_iopoll_prep_sched() follow normal 0/1 return convention\n\nReturn 0 if we successfully marked this iopoll structure as ours for\nscheduling, instead of 1.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "1b379d8daf4e981b2220f057683e35af022d45bc",
      "tree": "cc8e704bc9248c750375b23576d4659bbdc1322d",
      "parents": [
        "a33dac26d42d6f156b3b05a929961bd8d904f6e2"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Aug 11 08:26:11 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 14:33:32 2009 +0200"
      },
      "message": "cfq-iosched: get rid of must_alloc flag\n\nIt\u0027s not currently used, as pointed out by\nGui Jianfeng \u003cguijianfeng@cn.fujitsu.com\u003e. We already check the\nwait_request flag to allow an idling queue priority allocation access,\nso we don\u0027t need this extra flag.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a33dac26d42d6f156b3b05a929961bd8d904f6e2",
      "tree": "568bd7422522fa261f4894e68c52ab04c7d74ec2",
      "parents": [
        "fca51d64c5baf64604bc1edc5c5f0e7ed176322f"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Aug 06 20:53:45 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 14:33:32 2009 +0200"
      },
      "message": "block: use interrupts disabled version of raise_softirq_irqoff()\n\nWe already have interrupts disabled at that point, so use the\n__raise_softirq_irqoff() variant.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "fca51d64c5baf64604bc1edc5c5f0e7ed176322f",
      "tree": "d9662eea84a8be4555bad3f12f5dd2cb26305302",
      "parents": [
        "37867ae7c549c58d44337e27738577ed8b7cd753"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Aug 06 20:53:23 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 14:33:32 2009 +0200"
      },
      "message": "block: fix comment in blk-iopoll.c\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "37867ae7c549c58d44337e27738577ed8b7cd753",
      "tree": "3e954d226c876369eddcfe3363ff5f872caa9451",
      "parents": [
        "1badcfbd7febd33f71fc02bda9112bd25e9c294b"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Aug 06 20:50:48 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 14:33:31 2009 +0200"
      },
      "message": "block: adjust default budget for blk-iopoll\n\nIt\u0027s not exported, I doubt we\u0027ll have a reason to change this...\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "1badcfbd7febd33f71fc02bda9112bd25e9c294b",
      "tree": "b0c769f072f92a0dd197d2dac7512057397fe137",
      "parents": [
        "5e605b64a183a6c0e84cdb99a6f8acb1f8200437"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Aug 06 20:49:14 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 14:33:31 2009 +0200"
      },
      "message": "block: fix long lines in block/blk-iopoll.c\n\nNote sure why they happened in the first place, probably some bad\nterminal setting.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "5e605b64a183a6c0e84cdb99a6f8acb1f8200437",
      "tree": "1133a343bea602cb1bd8ee744c5997ce42a69b54",
      "parents": [
        "fb1e75389bd06fd5987e9cda1b4e0305c782f854"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Aug 05 09:07:21 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 14:33:31 2009 +0200"
      },
      "message": "block: add blk-iopoll, a NAPI like approach for block devices\n\nThis borrows some code from NAPI and implements a polled completion\nmode for block devices. The idea is the same as NAPI - instead of\ndoing the command completion when the irq occurs, schedule a dedicated\nsoftirq in the hopes that we will complete more IO when the iopoll\nhandler is invoked. Devices have a budget of commands assigned, and will\nstay in polled mode as long as they continue to consume their budget\nfrom the iopoll softirq handler. If they do not, the device is set back\nto interrupt completion mode.\n\nThis patch holds the core bits for blk-iopoll, device driver support\nsold separately.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "fb1e75389bd06fd5987e9cda1b4e0305c782f854",
      "tree": "6658e13f80d4f6450f5a69c82d3bf1b590ecf234",
      "parents": [
        "1f98a13f623e0ef666690a18c1250335fc6d7ef1"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jul 30 08:18:24 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 14:33:31 2009 +0200"
      },
      "message": "block: improve queue_should_plug() by looking at IO depths\n\nInstead of just checking whether this device uses block layer\ntagging, we can improve the detection by looking at the maximum\nqueue depth it has reached. If that crosses 4, then deem it a\nqueuing device.\n\nThis is important on high IOPS devices, since plugging hurts\nthe performance there (it can be as much as 10-15% of the sys\ntime).\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "1f98a13f623e0ef666690a18c1250335fc6d7ef1",
      "tree": "15ca2dddffaa18a0d1844957f4f8cc707cbb8117",
      "parents": [
        "e7e503aedb1f4d165081cb8d47a58c38f80f0cb4"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 14:32:04 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 14:33:31 2009 +0200"
      },
      "message": "bio: first step in sanitizing the bio-\u003ebi_rw flag testing\n\nGet rid of any functions that test for these bits and make callers\nuse bio_rw_flagged() directly. Then it is at least directly apparent\nwhat variable and flag they check.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e7e503aedb1f4d165081cb8d47a58c38f80f0cb4",
      "tree": "d8530d5f67533bb86b4f8013eef3c569036f4179",
      "parents": [
        "e3264a4d7de147677f1995f119eba05c9abe9c1c"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 28 10:15:30 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 14:33:31 2009 +0200"
      },
      "message": "block: make bio_rw_flagged() return a bool\n\nMakes for a saner interface, instead of returning the bit position.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e3264a4d7de147677f1995f119eba05c9abe9c1c",
      "tree": "151047f3598583556194262a5b07c75ca3b4781d",
      "parents": [
        "d58b85e1e891cd842d6e183f5d94d06a4fd0122c"
      ],
      "author": {
        "name": "Hannes Reinecke",
        "email": "hare@suse.de",
        "time": "Tue Jul 28 09:13:13 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 14:33:31 2009 +0200"
      },
      "message": "Send uevents for write_protect changes\n\nWhenever a block device changes it\u0027s read-only attribute\nnotify the userspace about it.\n\nSigned-off-by: Hannes Reinecke \u003chare@suse.de\u003e\nSigned-off-by: Nikanth Karthikesan \u003cknikanth@suse.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "d58b85e1e891cd842d6e183f5d94d06a4fd0122c",
      "tree": "32a77721594c79610b8dba9026ff9f9928545d17",
      "parents": [
        "5ad531db6e0f3c3c985666e83d3c1c4d53acccf9"
      ],
      "author": {
        "name": "Vivek Goyal",
        "email": "vgoyal@redhat.com",
        "time": "Fri Jul 10 10:20:30 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 14:33:30 2009 +0200"
      },
      "message": "cfq-iosched: no need to keep track of busy_rt_queues\n\no Get rid of busy_rt_queues infrastructure. Looks like it is redundant.\n\no Once an RT queue gets request it will preempt any of the BE or IDLE queues\n  immediately. Otherwise this queue will be put on service tree and scheduler\n  will anyway select this queue before any of the BE or IDLE queue. Hence\n  looks like there is no need to keep track of how many busy RT queues are\n  currently on service tree.\n\nSigned-off-by: Vivek Goyal \u003cvgoyal@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "5ad531db6e0f3c3c985666e83d3c1c4d53acccf9",
      "tree": "f5bd394c493f425e12fc6991d2b7adf2121ba506",
      "parents": [
        "da6c5c720c52cc717124f8f0830b710ea6a092fd"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jul 03 12:57:48 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 14:33:30 2009 +0200"
      },
      "message": "cfq-iosched: drain device queue before switching to a sync queue\n\nTo lessen the impact of async IO on sync IO, let the device drain of\nany async IO in progress when switching to a sync cfqq that has idling\nenabled.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "da6c5c720c52cc717124f8f0830b710ea6a092fd",
      "tree": "f54c880aec9289895721e707d4b22e456b277127",
      "parents": [
        "80a761fd33cf812f771e212139157bf8f58d4b3f"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Sep 11 14:26:40 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 14:33:30 2009 +0200"
      },
      "message": "scsi,block: update SCSI to handle mixed merge failures\n\nUpdate scsi_io_completion() such that it only fails requests till the\nnext error boundary and retry the leftover.  This enables block layer\nto merge requests with different failfast settings and still behave\ncorrectly on errors.  Allow merge of requests of different failfast\nsettings.\n\nAs SCSI is currently the only subsystem which follows failfast status,\nthere\u0027s no need to worry about other block drivers for now.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Niel Lambrechts \u003cniel.lambrechts@gmail.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "80a761fd33cf812f771e212139157bf8f58d4b3f",
      "tree": "21ea67ad749c15f25cb8a9278fe9bd7643c0ba31",
      "parents": [
        "a82afdfcb8c0df09776b6458af6b68fc58b2e87b"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Jul 03 17:48:17 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 14:33:30 2009 +0200"
      },
      "message": "block: implement mixed merge of different failfast requests\n\nFailfast has characteristics from other attributes.  When issuing,\nexecuting and successuflly completing requests, failfast doesn\u0027t make\nany difference.  It only affects how a request is handled on failure.\nAllowing requests with different failfast settings to be merged cause\nnormal IOs to fail prematurely while not allowing has performance\npenalties as failfast is used for read aheads which are likely to be\nlocated near in-flight or to-be-issued normal IOs.\n\nThis patch introduces the concept of \u0027mixed merge\u0027.  A request is a\nmixed merge if it is merge of segments which require different\nhandling on failure.  Currently the only mixable attributes are\nfailfast ones (or lack thereof).\n\nWhen a bio with different failfast settings is added to an existing\nrequest or requests of different failfast settings are merged, the\nmerged request is marked mixed.  Each bio carries failfast settings\nand the request always tracks failfast state of the first bio.  When\nthe request fails, blk_rq_err_bytes() can be used to determine how\nmany bytes can be safely failed without crossing into an area which\nrequires further retrials.\n\nThis allows request merging regardless of failfast settings while\nkeeping the failure handling correct.\n\nThis patch only implements mixed merge but doesn\u0027t enable it.  The\nnext one will update SCSI to make use of mixed merge.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Niel Lambrechts \u003cniel.lambrechts@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a82afdfcb8c0df09776b6458af6b68fc58b2e87b",
      "tree": "d53910e4c2e9d1502cf2a7ce67a67cc54decb7fa",
      "parents": [
        "0d03d59d9b31cd1e33b7e46a80b6fef66244b1f2"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Jul 03 17:48:16 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Sep 11 14:33:27 2009 +0200"
      },
      "message": "block: use the same failfast bits for bio and request\n\nbio and request use the same set of failfast bits.  This patch makes\nthe following changes to simplify things.\n\n* enumify BIO_RW* bits and reorder bits such that BIOS_RW_FAILFAST_*\n  bits coincide with __REQ_FAILFAST_* bits.\n\n* The above pushes BIO_RW_AHEAD out of sync with __REQ_FAILFAST_DEV\n  but the matching is useless anyway.  init_request_from_bio() is\n  responsible for setting FAILFAST bits on FS requests and non-FS\n  requests never use BIO_RW_AHEAD.  Drop the code and comment from\n  blk_rq_bio_prep().\n\n* Define REQ_FAILFAST_MASK which is OR of all FAILFAST bits and\n  simplify FAILFAST flags handling in init_request_from_bio().\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "0d03d59d9b31cd1e33b7e46a80b6fef66244b1f2",
      "tree": "fab3cfc08a242b4744982b40cce837879ffa0272",
      "parents": [
        "526b678093a8a4bcf1ffffbe17bcf21c057eddf5"
      ],
      "author": {
        "name": "Geert Uytterhoeven",
        "email": "geert@linux-m68k.org",
        "time": "Thu Sep 10 23:13:28 2009 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Sep 10 14:55:01 2009 -0700"
      },
      "message": "md: Fix \"strchr\" [drivers/md/dm-log-userspace.ko] undefined!\n\nCommit b8313b6da7e2e7c7f47d93d8561969a3ff9ba0ea (\"dm log: remove incorrect\nfield from userspace table output\") added a call to strstr() with a\nsingle-character \"needle\" string parameter.\n\nUnfortunately some versions of gcc replace such calls to strstr() by calls\nto strchr() behind our back.  This causes linking errors if strchr() is\ndefined as an inline function in \u003casm/string.h\u003e (e.g. on m68k):\n\n| WARNING: \"strchr\" [drivers/md/dm-log-userspace.ko] undefined!\n\nAvoid this by explicitly calling strchr() instead.\n\nSigned-off-by: Geert Uytterhoeven \u003cgeert@linux-m68k.org\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "526b678093a8a4bcf1ffffbe17bcf21c057eddf5",
      "tree": "6c0a5b35783f1e89406b667c9c525571d1b4d24e",
      "parents": [
        "752015d1b0683a8c623ebfe4c62893413e9b30d3",
        "18f4c644773bc8de1fd9c5182b30c231aafb94ef"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 09 20:04:54 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 09 20:04:54 2009 -0700"
      },
      "message": "Merge branch \u0027lookup-permissions-cleanup\u0027\n\n* lookup-permissions-cleanup:\n  jffs2/jfs/xfs: switch over to \u0027check_acl\u0027 rather than \u0027permission()\u0027\n  ext[234]: move over to \u0027check_acl\u0027 permission model\n  shmfs: use \u0027check_acl\u0027 instead of \u0027permission\u0027\n  Make \u0027check_acl()\u0027 a first-class filesystem op\n  Simplify exec_permission_lite(), part 3\n  Simplify exec_permission_lite() further\n  Simplify exec_permission_lite() logic\n  Do not call \u0027ima_path_check()\u0027 for each path component\n"
    },
    {
      "commit": "752015d1b0683a8c623ebfe4c62893413e9b30d3",
      "tree": "1ad20299d64fd85678ae9714f88d8683ed335da1",
      "parents": [
        "74fca6a42863ffacaf7ba6f1936a9f228950f657"
      ],
      "author": {
        "name": "Roland McGrath",
        "email": "roland@redhat.com",
        "time": "Tue Sep 08 19:49:40 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 09 20:03:47 2009 -0700"
      },
      "message": "binfmt_elf: fix PT_INTERP bss handling\n\nIn fs/binfmt_elf.c, load_elf_interp() calls padzero() for .bss even if\nthe PT_LOAD has no PROT_WRITE and no .bss.  This generates EFAULT.\n\nHere is a small test case.  (Yes, there are other, useful PT_INTERP\nwhich have only .text and no .data/.bss.)\n\n\t----- ptinterp.S\n\t_start: .globl _start\n\t\t nop\n\t\t int3\n\t-----\n\t$ gcc -m32 -nostartfiles -nostdlib -o ptinterp ptinterp.S\n\t$ gcc -m32 -Wl,--dynamic-linker\u003dptinterp -o hello hello.c\n\t$ ./hello\n\tSegmentation fault  # during execve() itself\n\n\tAfter applying the patch:\n\t$ ./hello\n\tTrace trap  # user-mode execution after execve() finishes\n\nIf the ELF headers are actually self-inconsistent, then dying is fine.\nBut having no PROT_WRITE segment is perfectly normal and correct if\nthere is no segment with p_memsz \u003e p_filesz (i.e. bss).  John Reiser\nsuggested checking for PROT_WRITE in the bss logic.  I think it makes\nmost sense to simply apply the bss logic only when there is bss.\n\nThis patch looks less trivial than it is due to some reindentation.\nIt just moves the \"if (last_bss \u003e elf_bss) {\" test up to include the\npartial-page bss logic as well as the more-pages bss logic.\n\nReported-by: John Reiser \u003cjreiser@bitwagon.com\u003e\nSigned-off-by: Roland McGrath \u003croland@redhat.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "74fca6a42863ffacaf7ba6f1936a9f228950f657",
      "tree": "5caecfdd9edab50789483eb96009e9faf5f1b241",
      "parents": [
        "7135a71b19be1faf48b7148d77844d03bc0717d6"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 09 15:13:59 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Wed Sep 09 15:13:59 2009 -0700"
      },
      "message": "Linux 2.6.31\n"
    },
    {
      "commit": "7135a71b19be1faf48b7148d77844d03bc0717d6",
      "tree": "f1bed8d00c77c90423adc98559247459089c39f5",
      "parents": [
        "e6890f6f3dc2d9024a08b1a149d9bd5208eea350"
      ],
      "author": {
        "name": "Ed Cashin",
        "email": "ecashin@coraid.com",
        "time": "Wed Sep 09 14:10:18 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Sep 09 14:10:18 2009 +0200"
      },
      "message": "aoe: allocate unused request_queue for sysfs\n\nAndy Whitcroft reported an oops in aoe triggered by use of an\nincorrectly initialised request_queue object:\n\n  [ 2645.959090] kobject \u0027\u003cNULL\u003e\u0027 (ffff880059ca22c0): tried to add\n\t\tan uninitialized object, something is seriously wrong.\n  [ 2645.959104] Pid: 6, comm: events/0 Not tainted 2.6.31-5-generic #24-Ubuntu\n  [ 2645.959107] Call Trace:\n  [ 2645.959139] [\u003cffffffff8126ca2f\u003e] kobject_add+0x5f/0x70\n  [ 2645.959151] [\u003cffffffff8125b4ab\u003e] blk_register_queue+0x8b/0xf0\n  [ 2645.959155] [\u003cffffffff8126043f\u003e] add_disk+0x8f/0x160\n  [ 2645.959161] [\u003cffffffffa01673c4\u003e] aoeblk_gdalloc+0x164/0x1c0 [aoe]\n\nThe request queue of an aoe device is not used but can be allocated in\ncode that does not sleep.\n\nBruno bisected this regression down to\n\n  cd43e26f071524647e660706b784ebcbefbd2e44\n\n  block: Expose stacked device queues in sysfs\n\n\"This seems to generate /sys/block/$device/queue and its contents for\n everyone who is using queues, not just for those queues that have a\n non-NULL queue-\u003erequest_fn.\"\n\nAddresses http://bugs.launchpad.net/bugs/410198\nAddresses http://bugzilla.kernel.org/show_bug.cgi?id\u003d13942\n\nNote that embedding a queue inside another object has always been\nan illegal construct, since the queues are reference counted and\nmust persist until the last reference is dropped. So aoe was\nalways buggy in this respect (Jens).\n\nSigned-off-by: Ed Cashin \u003cecashin@coraid.com\u003e\nCc: Andy Whitcroft \u003capw@canonical.com\u003e\nCc: \"Rafael J. Wysocki\" \u003crjw@sisk.pl\u003e\nCc: Bruno Premont \u003cbonbons@linux-vserver.org\u003e\nCc: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e6890f6f3dc2d9024a08b1a149d9bd5208eea350",
      "tree": "8829fbb9f165ff37a37181bdf5cbbe92622bb5e6",
      "parents": [
        "7c8460db30dfd085ef3837c8fb02ecf2e718b983"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 08 17:09:24 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 08 17:09:24 2009 -0700"
      },
      "message": "i915: disable interrupts before tearing down GEM state\n\nReinette Chatre reports a frozen system (with blinking keyboard LEDs)\nwhen switching from graphics mode to the text console, or when\nsuspending (which does the same thing). With netconsole, the oops\nturned out to be\n\n\tBUG: unable to handle kernel NULL pointer dereference at 0000000000000084\n\tIP: [\u003cffffffffa03ecaab\u003e] i915_driver_irq_handler+0x26b/0xd20 [i915]\n\nand it\u0027s due to the i915_gem.c code doing drm_irq_uninstall() after\nhaving done i915_gem_idle(). And the i915_gem_idle() path will do\n\n  i915_gem_idle() -\u003e\n    i915_gem_cleanup_ringbuffer() -\u003e\n      i915_gem_cleanup_hws() -\u003e\n        dev_priv-\u003ehw_status_page \u003d NULL;\n\nbut if an i915 interrupt comes in after this stage, it may want to\naccess that hw_status_page, and gets the above NULL pointer dereference.\n\nAnd since the NULL pointer dereference happens from within an interrupt,\nand with the screen still in graphics mode, the common end result is\nsimply a silently hung machine.\n\nFix it by simply uninstalling the irq handler before idling rather than\nafter. Fixes\n\n    http://bugzilla.kernel.org/show_bug.cgi?id\u003d13819\n\nReported-and-tested-by: Reinette Chatre \u003creinette.chatre@intel.com\u003e\nAcked-by: Jesse Barnes \u003cjbarnes@virtuousgeek.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "18f4c644773bc8de1fd9c5182b30c231aafb94ef",
      "tree": "b423bdb22304c6af3ad0f26b873e6081fafc8f01",
      "parents": [
        "1d5ccd1c422d7d292a9e45248aa36771900c6331"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 28 12:29:03 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 08 11:09:04 2009 -0700"
      },
      "message": "jffs2/jfs/xfs: switch over to \u0027check_acl\u0027 rather than \u0027permission()\u0027\n\nThis avoids an indirect call in the VFS for each path component lookup.\n\nWell, at least as long as you own the directory in question, and the ACL\ncheck is unnecessary.\n\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1d5ccd1c422d7d292a9e45248aa36771900c6331",
      "tree": "6fa8e117697dcb42dfec026149dfea49325bed98",
      "parents": [
        "6d848a488ad83cc3891bb274691118f45ce6aab9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 28 12:12:24 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 08 11:09:04 2009 -0700"
      },
      "message": "ext[234]: move over to \u0027check_acl\u0027 permission model\n\nDon\u0027t implement per-filesystem \u0027extX_permission()\u0027 functions that have\nto be called for every path component operation, and instead just expose\nthe actual ACL checking so that the VFS layer can now do it for us.\n\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "6d848a488ad83cc3891bb274691118f45ce6aab9",
      "tree": "c775e9ada5e3613174103b0919561b4b4d2d3b7e",
      "parents": [
        "5909ccaa300a4a834ffa275327af4df0b9cb5295"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 28 12:04:28 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 08 11:08:46 2009 -0700"
      },
      "message": "shmfs: use \u0027check_acl\u0027 instead of \u0027permission\u0027\n\nshmfs wants purely standard POSIX ACL semantics, so we can use the new\ngeneric VFS layer POSIX ACL checking rather than cooking our own\n\u0027permission()\u0027 function.\n\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Hugh Dickins \u003chugh.dickins@tiscali.co.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5909ccaa300a4a834ffa275327af4df0b9cb5295",
      "tree": "b4e402a2a544be7c59bccd4b4533787f2f19e7bc",
      "parents": [
        "cb9179ead0aa0e3b7b4087cdba59baf16bbeef6d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 28 11:51:25 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 08 11:07:44 2009 -0700"
      },
      "message": "Make \u0027check_acl()\u0027 a first-class filesystem op\n\nThis is stage one in flattening out the callchains for the common\npermission testing.  Rather than have most filesystem implement their\nown inode-\u003ei_op-\u003epermission function that just calls back down to the\nVFS layers \u0027generic_permission()\u0027 with the per-filesystem ACL checking\nfunction, the filesystem can just expose its \u0027check_acl\u0027 function\ndirectly, and let the VFS layer do everything for it.\n\nThis is all just preparatory - no filesystem actually enables this yet.\n\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "cb9179ead0aa0e3b7b4087cdba59baf16bbeef6d",
      "tree": "04d91abc90dc3f48d70bc95bc9bed6f561369008",
      "parents": [
        "f1ac9f6bfea6f21e8ab6dbbe46879d62a6fba8c0"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 28 11:08:31 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 08 11:07:44 2009 -0700"
      },
      "message": "Simplify exec_permission_lite(), part 3\n\nDon\u0027t call down to the generic inode_permission() function just to\ncall the inode-specific permission function - just do it directly.\n\nThe generic inode_permission() code does things like checking MAY_WRITE\nand devcgroup_inode_permission(), neither of which are relevant for the\nlight pathname walk permission checks (we always do just MAY_EXEC, and\nthe inode is never a special device).\n\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "f1ac9f6bfea6f21e8ab6dbbe46879d62a6fba8c0",
      "tree": "01b4e3c84e1403f6c900dd4412aa09cd335c030c",
      "parents": [
        "b7a437b08a44a3ed7e3a052eb39d2c5f618b603b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 28 10:53:56 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 08 11:07:43 2009 -0700"
      },
      "message": "Simplify exec_permission_lite() further\n\nThis function is only called for path components that are already known\nto be directories (they have a \u0027-\u003elookup\u0027 method).  So don\u0027t bother\ndoing that whole S_ISDIR() testing, the whole point of the \u0027lite()\u0027\nversion is that we know that we are looking at a directory component,\nand that we\u0027re only checking name lookup permission.\n\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "b7a437b08a44a3ed7e3a052eb39d2c5f618b603b",
      "tree": "fdb03edf0254e9f24fe7f3e3e2f75d3ac0a3f9e0",
      "parents": [
        "e8e66ed25b5cbeebed69c475f6c108e52078a3b3"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 28 10:50:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 08 11:07:43 2009 -0700"
      },
      "message": "Simplify exec_permission_lite() logic\n\nInstead of returning EAGAIN and having the caller do something\nspecial for that case,  just do the special case directly.\n\nReviewed-by: James Morris \u003cjmorris@namei.org\u003e\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "e8e66ed25b5cbeebed69c475f6c108e52078a3b3",
      "tree": "1827efb3f775eb27238ccaf174cac9228f83cebf",
      "parents": [
        "7c8460db30dfd085ef3837c8fb02ecf2e718b983"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Aug 28 10:05:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 08 11:07:17 2009 -0700"
      },
      "message": "Do not call \u0027ima_path_check()\u0027 for each path component\n\nNot only is that a supremely timing-critical path, but it\u0027s hopefully\nsome day going to be lockless for the common case, and ima can\u0027t do\nthat.\n\nPlus the integrity code doesn\u0027t even care about non-regular files, so it\nwas always a total waste of time and effort.\n\nAcked-by: Serge Hallyn \u003cserue@us.ibm.com\u003e\nAcked-by: Mimi Zohar \u003czohar@us.ibm.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "7c8460db30dfd085ef3837c8fb02ecf2e718b983",
      "tree": "41e501901dc47cde4fc2c61477a6e9b63b286971",
      "parents": [
        "3ff323f89075624b6891e7c428edb8e8a35be13c"
      ],
      "author": {
        "name": "Zhenyu Wang",
        "email": "zhenyuw@linux.intel.com",
        "time": "Tue Sep 08 14:52:25 2009 +0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Sep 08 10:16:20 2009 -0700"
      },
      "message": "drm/i915: fix mask bits setting\n\neDP is exclusive connector too, and add missing crtc_mask\nsetting for TV.\n\nThis fixes\n\n\thttp://bugzilla.kernel.org/show_bug.cgi?id\u003d14139\n\nSigned-off-by: Zhenyu Wang \u003czhenyuw@linux.intel.com\u003e\nReported-and-tested-by: Carlos R. Mafra \u003ccrmafra2@gmail.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "3ff323f89075624b6891e7c428edb8e8a35be13c",
      "tree": "24cbade6cffecfe334fd7d385b8731f7d999bfaf",
      "parents": [
        "755ae761c5519929a97567d61a379b87352c337c",
        "a54775c8758a754186bc6adbfc518b1e9f8f1e4e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 07 11:42:25 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 07 11:42:25 2009 -0700"
      },
      "message": "Merge branch \u0027drm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6\n\n* \u0027drm-fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/airlied/drm-2.6:\n  drm/radeon/kms: add LTE/GTE discard + rv515 two sided stencil register.\n"
    },
    {
      "commit": "755ae761c5519929a97567d61a379b87352c337c",
      "tree": "6942ac77009d3cab1acf6e6bea8cc339368423a9",
      "parents": [
        "4886b5b485ec78fe4a16fedaccfab39bdf55410f",
        "acd0c935178649f72c44ec49ca83bee35ce1f79e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 07 11:41:15 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 07 11:41:15 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jmorris/security-testing-2.6:\n  IMA: update ima_counts_put\n"
    },
    {
      "commit": "4886b5b485ec78fe4a16fedaccfab39bdf55410f",
      "tree": "3946e0e444311245db5248bac6658e9b8082f269",
      "parents": [
        "cbeb2864b162f4298111196c8ce8ce492577cdee",
        "d9d8e0418ffd3d189345c435861e254c17ae06e5"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 07 11:40:24 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 07 11:40:24 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  gianfar: Fix build.\n"
    },
    {
      "commit": "cbeb2864b162f4298111196c8ce8ce492577cdee",
      "tree": "0ddc68c3c1231a38955d7fca71a28cfc43eb0996",
      "parents": [
        "f69fb9c39868463f6b0b8306824341bd5610250b",
        "c9a2bfd1f08973115c2fc3da9372e0e81ac42a19"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 07 11:40:15 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 07 11:40:15 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/ide-2.6:\n  pcmcia: add CNF-CDROM-ID for ide\n"
    },
    {
      "commit": "f69fb9c39868463f6b0b8306824341bd5610250b",
      "tree": "7ab396e5185772342bdf8a50e6dfb56ff0cd1f64",
      "parents": [
        "e07cccf4046978df10f2e13fe2b99b2f9b3a65db",
        "07fb6111e7af5fac6b6076e2658d0e32b67f713b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 07 11:38:30 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Sep 07 11:38:30 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/anholt/drm-intel:\n  agp/intel: support for new chip variant of IGDNG mobile\n  drm/i915: Unref old_obj on get_fence_reg() error path\n  drm/i915: increase default latency constant (v2 w/comment)\n"
    },
    {
      "commit": "a54775c8758a754186bc6adbfc518b1e9f8f1e4e",
      "tree": "bc351c6ae28e059132b66f8149a8a9d1b2be088a",
      "parents": [
        "e07cccf4046978df10f2e13fe2b99b2f9b3a65db"
      ],
      "author": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Sep 07 15:26:19 2009 +1000"
      },
      "committer": {
        "name": "Dave Airlie",
        "email": "airlied@redhat.com",
        "time": "Mon Sep 07 15:26:19 2009 +1000"
      },
      "message": "drm/radeon/kms: add LTE/GTE discard + rv515 two sided stencil register.\n\nThis adds some rv350+ register for LTE/GTE discard,\nand enables the rv515 two sided stencil register.\nIt also disables the DEPTHXY_OFFSET register which\ncan be used to workaround the CS checker.\nMoves rs690 to proper place in rs600 and uses correct\ntable on rs600.\n\nSigned-off-by: Dave Airlie \u003cairlied@redhat.com\u003e\n"
    },
    {
      "commit": "acd0c935178649f72c44ec49ca83bee35ce1f79e",
      "tree": "c0cb2f8fbbaa54567785b5430e5be8c8b51f5724",
      "parents": [
        "e07cccf4046978df10f2e13fe2b99b2f9b3a65db"
      ],
      "author": {
        "name": "Mimi Zohar",
        "email": "zohar@linux.vnet.ibm.com",
        "time": "Fri Sep 04 13:08:46 2009 -0400"
      },
      "committer": {
        "name": "James Morris",
        "email": "jmorris@namei.org",
        "time": "Mon Sep 07 11:54:58 2009 +1000"
      },
      "message": "IMA: update ima_counts_put\n\n- As ima_counts_put() may be called after the inode has been freed,\nverify that the inode is not NULL, before dereferencing it.\n\n- Maintain the IMA file counters in may_open() properly, decrementing\nany counter increments on subsequent errors.\n\nReported-by: Ciprian Docan \u003cdocan@eden.rutgers.edu\u003e\nReported-by: J.R. Okajima \u003chooanon05@yahoo.co.jp\u003e\nSigned-off-by: Mimi Zohar \u003czohar@us.ibm.com\u003e\nAcked-by: Eric Paris \u003ceparis@redhat.com\nSigned-off-by: James Morris \u003cjmorris@namei.org\u003e\n"
    },
    {
      "commit": "d9d8e0418ffd3d189345c435861e254c17ae06e5",
      "tree": "ee97d40fa4ccfd3c802e6844b3d38097ff7a6c7a",
      "parents": [
        "16ebb5e0b36ceadc8186f71d68b0c4fa4b6e781b"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 06 01:41:02 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Sun Sep 06 01:41:24 2009 -0700"
      },
      "message": "gianfar: Fix build.\n\nReported by Michael Guntsche \u003cmike@it-loops.com\u003e\n\n--------------------\nCommit\n38bddf04bcfe661fbdab94888c3b72c32f6873b3 gianfar: gfar_remove needs to call unregister_netdev()\n\nbreaks the build of the gianfar driver because \"dev\" is undefined in\nthis function. To quickly test rc9 I changed this to priv-\u003endev but I do\nnot know if this is the correct one.\n--------------------\n\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "e07cccf4046978df10f2e13fe2b99b2f9b3a65db",
      "tree": "086f3d6b72cb6b70ba451c78b8147231d54219c3",
      "parents": [
        "f815c335d21f9965f8dbe142fd168aaba1baf98e"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 16:38:12 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 16:38:12 2009 -0700"
      },
      "message": "Linux 2.6.31-rc9\n"
    },
    {
      "commit": "f815c335d21f9965f8dbe142fd168aaba1baf98e",
      "tree": "4e9a65b7810de10141595125cc65f2b0e7533dfc",
      "parents": [
        "74a01180db4bbfd61304ae0ba1f60af55ffc803d",
        "baed6b82d9f160184c1c14cdb4accb08f3eb6b87"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 14:59:00 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 14:59:00 2009 -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  firewire: sbp2: fix freeing of unallocated memory\n  firewire: ohci: fix Ricoh R5C832, video reception\n  firewire: ohci: fix Agere FW643 and multiple cameras\n  firewire: core: fix crash in iso resource management\n"
    },
    {
      "commit": "74a01180db4bbfd61304ae0ba1f60af55ffc803d",
      "tree": "2f61aac8deb306a164f04a7d2753fbd723c906fc",
      "parents": [
        "5136a6c0fd5b26bbf39ad761cf7a4fc563ad83a3"
      ],
      "author": {
        "name": "Roderick Colenbrander",
        "email": "thunderbird2k@gmail.com",
        "time": "Thu Sep 03 09:57:23 2009 -0600"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 14:58:07 2009 -0700"
      },
      "message": "powerpc: Fix i8259 interrupt driver kernel crash on ML510\n\nThis patch fixes a null pointer exception caused by removal of\n\u0027ack()\u0027 for level interrupts in the Xilinx interrupt driver.  A recent\nchange to the xilinx interrupt controller removed the ack hook for\nlevel irqs.\n\nSigned-off-by: Roderick Colenbrander \u003cthunderbird2k@gmail.com\u003e\nSigned-off-by: Grant Likely \u003cgrant.likely@secretlab.ca\u003e\nAcked-by: Benjamin Herrenschmidt \u003cbenh@kernel.crashing.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "5136a6c0fd5b26bbf39ad761cf7a4fc563ad83a3",
      "tree": "7c905238cb2c5c9cd959cd652010b0eaf5f91db3",
      "parents": [
        "e505a8d5f96a84f3043ce0c4eaee8f045996896c",
        "bc8cec0dff072f1a45ce7f6b2c5234bb3411ac51"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 14:57:04 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 14:57:04 2009 -0700"
      },
      "message": "Merge git://git.infradead.org/~dwmw2/mtd-2.6.31\n\n* git://git.infradead.org/~dwmw2/mtd-2.6.31:\n  JFFS2: add missing verify buffer allocation/deallocation\n  mtd: nftl: fix offset alignments\n  mtd: nftl: write support is broken\n  mtd: m25p80: fix null pointer dereference bug\n"
    },
    {
      "commit": "e505a8d5f96a84f3043ce0c4eaee8f045996896c",
      "tree": "622b5b817b9434b114d7015dbd3d8c83198fe350",
      "parents": [
        "b71b7dc09abaeb4417c37b96a898096286b65e3c",
        "c295fc05789653ef24f296299df7c5f92fe74dce"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 14:56:13 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 14:56:13 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block:\n  block: Allow changing max_sectors_kb above the default 512\n"
    },
    {
      "commit": "b71b7dc09abaeb4417c37b96a898096286b65e3c",
      "tree": "548585e8e26281f9602d61e04bf4d2c1f4078b5a",
      "parents": [
        "59430c2f437767094298f30dd02ca038da0df755",
        "92653453c3015c083b9fe0ad48261c6b2267d482"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 14:55:30 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 14:55:30 2009 -0700"
      },
      "message": "Merge branch \u0027fix/oxygen\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6\n\n* \u0027fix/oxygen\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tiwai/sound-2.6:\n  sound: oxygen: handle cards with missing EEPROM\n  sound: oxygen: fix MCLK rate for 192 kHz playback\n"
    },
    {
      "commit": "59430c2f437767094298f30dd02ca038da0df755",
      "tree": "3c79740e3580e403df02daafba26fa6e67552c16",
      "parents": [
        "e9ee3a54a164c249a0a576c403eba367a6d97be5",
        "16ebb5e0b36ceadc8186f71d68b0c4fa4b6e781b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 14:52:41 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 14:52:41 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-2.6:\n  tc: Fix unitialized kernel memory leak\n  pkt_sched: Revert tasklet_hrtimer changes.\n  net: sk_free() should be allowed right after sk_alloc()\n  gianfar: gfar_remove needs to call unregister_netdev()\n  ipw2200: firmware DMA loading rework\n"
    },
    {
      "commit": "e9ee3a54a164c249a0a576c403eba367a6d97be5",
      "tree": "bd1200f8d3c7481aa152cbb277fb79e181bb34fd",
      "parents": [
        "3bb314f01c189f0c48c0946424955c6d8ddce3d8",
        "0c7d400fafaeab6014504a6a6249f01bac7f7db4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 14:51:45 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 14:51:45 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/herbert/crypto-2.6:\n  crypto: skcipher - Fix skcipher_dequeue_givcrypt NULL test\n"
    },
    {
      "commit": "3bb314f01c189f0c48c0946424955c6d8ddce3d8",
      "tree": "d0de7369247689f009c2e0f3fb3bd121555efce1",
      "parents": [
        "535e0c1726bec699a8f0f5b86fe7d399546b2555",
        "ce6c3997c2fce74d12e6d8887a1d8cdf024fa850"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 14:51:24 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 14:51:24 2009 -0700"
      },
      "message": "Merge branch \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq\n\n* \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:\n  [CPUFREQ] Re-enable cpufreq suspend and resume code\n"
    },
    {
      "commit": "535e0c1726bec699a8f0f5b86fe7d399546b2555",
      "tree": "9aa71d6908e4255b5a864cdae14ef164dea66665",
      "parents": [
        "0edfa2b1b5a5e1475e76dd3c792447687d966de4",
        "5afe18d2f58812f3924edbd215464e5e3e8545e7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 14:50:53 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 14:50:53 2009 -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] fix csum_ipv6_magic()\n  [IA64] Fix warning in dma-mapping.c\n"
    },
    {
      "commit": "0edfa2b1b5a5e1475e76dd3c792447687d966de4",
      "tree": "a811a6955bb0fffc883e59eb261206b132e9e6dc",
      "parents": [
        "5a09adf13067609d8ab9fcae11dc99fd0084e35c",
        "3725867dccfb83e4b0cff64e916a04258f300591"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 14:25:14 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 14:25:14 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs\n\n* \u0027for-linus\u0027 of git://oss.sgi.com/xfs/xfs:\n  xfs: actually enable the swapext compat handler\n"
    },
    {
      "commit": "5a09adf13067609d8ab9fcae11dc99fd0084e35c",
      "tree": "be2908bf2a8a20e9bebb4a064611ca5c2e2977f9",
      "parents": [
        "931f70350e9c298887c78e852d179ef7efcce304",
        "b1f1b8ce0a1d71cbc72f7540134d52b79bd8f5ac"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 14:24:33 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 14:24:33 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/ryusuke/nilfs2:\n  nilfs2: fix preempt count underflow in nilfs_btnode_prepare_change_key\n"
    },
    {
      "commit": "931f70350e9c298887c78e852d179ef7efcce304",
      "tree": "7d909970a9ac85c3a7b6c460330591f26bdb1dcd",
      "parents": [
        "e305fc5ecd6420fadec5a8108852081fa2b89a17",
        "04a13c7c632e1fe04a5f6e6c83565d2559e37598"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 14:22:00 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 14:22:00 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/percpu:\n  percpu: don\u0027t assume existence of cpu0\n"
    },
    {
      "commit": "e305fc5ecd6420fadec5a8108852081fa2b89a17",
      "tree": "0f80db8fba1b7d285814f7a16046ae84f6909147",
      "parents": [
        "154f807e55977de75b1c12197c13ae14c28397b3",
        "d76b1590e06a63a3d8697168cd0aabf1c4b3cb3a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 13:57:53 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 13:57:53 2009 -0700"
      },
      "message": "Merge branch \u0027slab/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6\n\n* \u0027slab/urgent\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/penberg/slab-2.6:\n  slub: Fix kmem_cache_destroy() with SLAB_DESTROY_BY_RCU\n"
    },
    {
      "commit": "154f807e55977de75b1c12197c13ae14c28397b3",
      "tree": "5ff5a220e4d3080275ce4921e28ef02f374ed5f7",
      "parents": [
        "9b6a3df372f0318bb0ffe37ac5f4610fb9bdb44d",
        "ae0b7448e91353ea5f821601a055aca6b58042cd"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 13:51:07 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 13:51:07 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/agk/linux-2.6-dm:\n  dm snapshot: fix on disk chunk size validation\n  dm exception store: split set_chunk_size\n  dm snapshot: fix header corruption race on invalidation\n  dm snapshot: refactor zero_disk_area to use chunk_io\n  dm log: userspace add luid to distinguish between concurrent log instances\n  dm raid1: do not allow log_failure variable to unset after being set\n  dm log: remove incorrect field from userspace table output\n  dm log: fix userspace status output\n  dm stripe: expose correct io hints\n  dm table: add more context to terse warning messages\n  dm table: fix queue_limit checking device iterator\n  dm snapshot: implement iterate devices\n  dm multipath: fix oops when request based io fails when no paths\n"
    },
    {
      "commit": "9b6a3df372f0318bb0ffe37ac5f4610fb9bdb44d",
      "tree": "88b76c84a21927acffd02f556764c4be33258bce",
      "parents": [
        "d3acd16cda3a1cbaff7c579c0e054f0ece613d14",
        "6faf17f6f1ffc586d16efc2f9fa2083a7785ee74"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 13:50:46 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 13:50:46 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jbarnes/pci-2.6:\n  PCI SR-IOV: correct broken resource alignment calculations\n"
    },
    {
      "commit": "d3acd16cda3a1cbaff7c579c0e054f0ece613d14",
      "tree": "2467a3fcf23e54ca68545427feb4e2d19f083b75",
      "parents": [
        "93697a3cabd3605c434a9b915c0272ad800b3f97",
        "bd4352cadfacb9084c97c853b025fac010266c26"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 13:49:06 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 13:49:06 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/sparc-2.6:\n  sparc64: Fix bootup with mcount in some configs.\n  sparc64: Kill spurious NMI watchdog triggers by increasing limit to 30 seconds.\n"
    },
    {
      "commit": "93697a3cabd3605c434a9b915c0272ad800b3f97",
      "tree": "dc26826f10979e02efbd2c6a87b326b770284b18",
      "parents": [
        "63995344721be45b3fb3b76488b1b0a8c95def26",
        "a3df6f7d3090e611bcc774cd2cba45ae016d37e1"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 13:48:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 13:48:37 2009 -0700"
      },
      "message": "Merge branch \u0027perfcounters-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027perfcounters-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  perf_counter/powerpc: Fix cache event codes for POWER7\n  perf_counter: Fix /0 bug in swcounters\n  perf_counters: Increase paranoia level\n"
    },
    {
      "commit": "63995344721be45b3fb3b76488b1b0a8c95def26",
      "tree": "a28385324c992c75bd7895fcfd3e374b5214aa53",
      "parents": [
        "9de6886ec6e37f45807266a702bb7621498395ad",
        "2bcaa6a4238094c5695d5b1943078388d82d3004"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 13:41:29 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 13:41:29 2009 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input\n\n* \u0027for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/dtor/input:\n  Input: atkbd - add Compaq Presario R4000-series repeat quirk\n  Input: i8042 - add Acer Aspire 5536 to the nomux list\n"
    },
    {
      "commit": "9de6886ec6e37f45807266a702bb7621498395ad",
      "tree": "39402a2d467a856d0f956015a7ad0772719bf1b6",
      "parents": [
        "ac7ac9f2b9bfd9b68a1571d27e4c8bebb4788914"
      ],
      "author": {
        "name": "Nicolas Pitre",
        "email": "nico@cam.org",
        "time": "Sat Sep 05 00:25:37 2009 -0400"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 13:41:08 2009 -0700"
      },
      "message": "ext2: fix unbalanced kmap()/kunmap()\n\nIn ext2_rename(), dir_page is acquired through ext2_dotdot().  It is\nthen released through ext2_set_link() but only if old_dir !\u003d new_dir.\nFailing that, the pkmap reference count is never decremented and the\npage remains pinned forever.  Repeat that a couple times with highmem\npages and all pkmap slots get exhausted, and every further kmap() calls\nend up stalling on the pkmap_map_wait queue at which point the whole\nsystem comes to a halt.\n\nSigned-off-by: Nicolas Pitre \u003cnico@marvell.com\u003e\nAcked-by: Theodore Ts\u0027o \u003ctytso@mit.edu\u003e\nCc: stable@kernel.org\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "ac7ac9f2b9bfd9b68a1571d27e4c8bebb4788914",
      "tree": "02aa160e02f7f1f4a65a7f478e9a92c0b7ad0088",
      "parents": [
        "ac89a9174decf343de049a06fad75681f71890eb",
        "8379e7c46cc48f51197dd663fc6676f47f2a1e71"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 13:38:37 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 13:38:37 2009 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jlbec/ocfs2:\n  ocfs2: ocfs2_write_begin_nolock() should handle len\u003d0\n  ocfs2: invalidate dentry if its dentry_lock isn\u0027t initialized.\n"
    },
    {
      "commit": "ac89a9174decf343de049a06fad75681f71890eb",
      "tree": "c2fa9e7deef47b2cbc6bf4523e068a0265b105ac",
      "parents": [
        "37f81fa1f63ad38e16125526bb2769ae0ea8d332"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 13:27:10 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 13:27:10 2009 -0700"
      },
      "message": "pty: don\u0027t limit the writes to \u0027pty_space()\u0027 inside \u0027pty_write()\u0027\n\nThe whole write-room thing is something that is up to the _caller_ to\nworry about, not the pty layer itself.  The total buffer space will\nstill be limited by the buffering routines themselves, so there is no\nadvantage or need in having pty_write() artificially limit the size\nsomehow.\n\nAnd what happened was that the caller (the n_tty line discipline, in\nthis case) may have verified that there is room for 2 bytes to be\nwritten (for NL -\u003e CRNL expansion), and it used to then do those writes\nas two single-byte writes.  And if the first byte written (CR) then\ncaused a new tty buffer to be allocated, pty_space() may have returned\nzero when trying to write the second byte (LF), and then incorrectly\nfailed the write - leading to a lost newline character.\n\nThis should finally fix\n\n\thttp://bugzilla.kernel.org/show_bug.cgi?id\u003d14015\n\nReported-by: Mikael Pettersson \u003cmikpe@it.uu.se\u003e\nAcked-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "37f81fa1f63ad38e16125526bb2769ae0ea8d332",
      "tree": "116ee462263777d2cd12b578b60ffe04a8a5b38c",
      "parents": [
        "a2a8474c3fff88d8dd52d05cb450563fb26fd26c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 12:46:07 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 12:46:07 2009 -0700"
      },
      "message": "n_tty: do O_ONLCR translation as a single write\n\nWhen translating CR to CRNL in the n_tty line discipline, we did it as\ntwo tty_put_char() calls.  Which works, but is stupid, and has caused\nproblems before too with bad interactions with the write_room() logic.\nThe generic USB serial driver had that problem, for example.\n\nNow the pty layer had similar issues after being moved to the generic\ntty buffering code (in commit d945cb9cce20ac7143c2de8d88b187f62db99bdc:\n\"pty: Rework the pty layer to use the normal buffering logic\").\n\nSo stop doing the silly separate two writes, and do it as a single write\ninstead.  That\u0027s what the n_tty layer already does for the space\nexpansion of tabs (XTABS), and it means that we\u0027ll now always have just\na single write for the CRNL to match the single \u0027tty_write_room()\u0027 test,\nwhich hopefully means that the next time somebody screws up buffering,\nit won\u0027t cause weeks of debugging.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a2a8474c3fff88d8dd52d05cb450563fb26fd26c",
      "tree": "455415da039a77627f47ed19318bb9c8aa17de4d",
      "parents": [
        "dd5d241ea955006122d76af88af87de73fec25b4"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Sat Sep 05 11:17:13 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 11:30:42 2009 -0700"
      },
      "message": "exec: do not sleep in TASK_TRACED under -\u003ecred_guard_mutex\n\nTom Horsley reports that his debugger hangs when it tries to read\n/proc/pid_of_tracee/maps, this happens since\n\n\t\"mm_for_maps: take -\u003ecred_guard_mutex to fix the race with exec\"\n\t04b836cbf19e885f8366bccb2e4b0474346c02d\n\ncommit in 2.6.31.\n\nBut the root of the problem lies in the fact that do_execve() path calls\ntracehook_report_exec() which can stop if the tracer sets PT_TRACE_EXEC.\n\nThe tracee must not sleep in TASK_TRACED holding this mutex.  Even if we\nremove -\u003ecred_guard_mutex from mm_for_maps() and proc_pid_attr_write(),\nanother task doing PTRACE_ATTACH should not hang until it is killed or the\ntracee resumes.\n\nWith this patch do_execve() does not use -\u003ecred_guard_mutex directly and\nwe do not hold it throughout, instead:\n\n\t- introduce prepare_bprm_creds() helper, it locks the mutex\n\t  and calls prepare_exec_creds() to initialize bprm-\u003ecred.\n\n\t- install_exec_creds() drops the mutex after commit_creds(),\n\t  and thus before tracehook_report_exec()-\u003eptrace_stop().\n\n\t  or, if exec fails,\n\n\t  free_bprm() drops this mutex when bprm-\u003ecred !\u003d NULL which\n\t  indicates install_exec_creds() was not called.\n\nReported-by: Tom Horsley \u003ctom.horsley@att.net\u003e\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nAcked-by: David Howells \u003cdhowells@redhat.com\u003e\nCc: Roland McGrath \u003croland@redhat.com\u003e\nCc: James Morris \u003cjmorris@namei.org\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "dd5d241ea955006122d76af88af87de73fec25b4",
      "tree": "2ca12406f407d476b1ba473dc376d1e621a383f6",
      "parents": [
        "a190887b58c32d19c2eee007c5eb8faa970a69ba"
      ],
      "author": {
        "name": "Mel Gorman",
        "email": "mel@csn.ul.ie",
        "time": "Sat Sep 05 11:17:11 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 11:30:42 2009 -0700"
      },
      "message": "page-allocator: always change pageblock ownership when anti-fragmentation is disabled\n\nOn low-memory systems, anti-fragmentation gets disabled as fragmentation\ncannot be avoided on a sufficiently large boundary to be worthwhile.  Once\ndisabled, there is a period of time when all the pageblocks are marked\nMOVABLE and the expectation is that they get marked UNMOVABLE at each call\nto __rmqueue_fallback().\n\nHowever, when MAX_ORDER is large the pageblocks do not change ownership\nbecause the normal criteria are not met.  This has the effect of\nprematurely breaking up too many large contiguous blocks.  This is most\nserious on NOMMU systems which depend on high-order allocations to boot.\nThis patch causes pageblocks to change ownership on every fallback when\nanti-fragmentation is disabled.  This prevents the large blocks being\nprematurely broken up.\n\nThis is a fix to commit 49255c619fbd482d704289b5eb2795f8e3b7ff2e [page\nallocator: move check for disabled anti-fragmentation out of fastpath] and\nthe problem affects 2.6.31-rc8.\n\nSigned-off-by: Mel Gorman \u003cmel@csn.ul.ie\u003e\nTested-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: David Howells \u003cdhowells@redhat.com\u003e\nCc: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Greg Ungerer \u003cgerg@snapgear.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "a190887b58c32d19c2eee007c5eb8faa970a69ba",
      "tree": "deff588d04f3e42662484b0281e1beceb3cf9f4e",
      "parents": [
        "4e49627b9bc29a14b393c480e8c979e3bc922ef7"
      ],
      "author": {
        "name": "David Howells",
        "email": "dhowells@redhat.com",
        "time": "Sat Sep 05 11:17:07 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 11:30:42 2009 -0700"
      },
      "message": "nommu: fix error handling in do_mmap_pgoff()\n\nFix the error handling in do_mmap_pgoff().  If do_mmap_shared_file() or\ndo_mmap_private() fail, we jump to the error_put_region label at which\npoint we cann __put_nommu_region() on the region - but we haven\u0027t yet\nadded the region to the tree, and so __put_nommu_region() may BUG\nbecause the region tree is empty or it may corrupt the region tree.\n\nTo get around this, we can afford to add the region to the region tree\nbefore calling do_mmap_shared_file() or do_mmap_private() as we keep\nnommu_region_sem write-locked, so no-one can race with us by seeing a\ntransient region.\n\nSigned-off-by: David Howells \u003cdhowells@redhat.com\u003e\nAcked-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\nAcked-by: Paul Mundt \u003clethal@linux-sh.org\u003e\nCc: Mel Gorman \u003cmel@csn.ul.ie\u003e\nAcked-by: Greg Ungerer \u003cgerg@snapgear.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "4e49627b9bc29a14b393c480e8c979e3bc922ef7",
      "tree": "209b69da65abbbffb7abeaea60f17d46f38485fe",
      "parents": [
        "37d0892c5a94e208cf863e3b7bac014edee4346d"
      ],
      "author": {
        "name": "Oleg Nesterov",
        "email": "oleg@redhat.com",
        "time": "Sat Sep 05 11:17:06 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Sep 05 11:30:42 2009 -0700"
      },
      "message": "workqueues: introduce __cancel_delayed_work()\n\ncancel_delayed_work() has to use del_timer_sync() to guarantee the timer\nfunction is not running after return.  But most users doesn\u0027t actually\nneed this, and del_timer_sync() has problems: it is not useable from\ninterrupt, and it depends on every lock which could be taken from irq.\n\nIntroduce __cancel_delayed_work() which calls del_timer() instead.\n\nThe immediate reason for this patch is\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d13757\nbut hopefully this helper makes sense anyway.\n\nAs for 13757 bug, actually we need requeue_delayed_work(), but its\nsemantics are not yet clear.\n\nMerge this patch early to resolves cross-tree interdependencies between\ninput and infiniband.\n\nSigned-off-by: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Dmitry Torokhov \u003cdmitry.torokhov@gmail.com\u003e\nCc: Roland Dreier \u003crdreier@cisco.com\u003e\nCc: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "baed6b82d9f160184c1c14cdb4accb08f3eb6b87",
      "tree": "eaeee0797d802462447d5aefbb09ddbdefa69986",
      "parents": [
        "4fe0badd5882c64dc2dcd8893f9b85db63339736"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Thu Sep 03 23:07:35 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Sep 05 15:59:34 2009 +0200"
      },
      "message": "firewire: sbp2: fix freeing of unallocated memory\n\nIf a target writes invalid status (typically status of a command that\nalready timed out), firewire-sbp2 attempts to put away an ORB that\ndoesn\u0027t exist.  https://bugzilla.redhat.com/show_bug.cgi?id\u003d519772\n\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "4fe0badd5882c64dc2dcd8893f9b85db63339736",
      "tree": "d84d7773171be1a0a4cfacd646e0b7e2754a8089",
      "parents": [
        "fc383796a8cc5df0a0c8633a16dd2e9528a16a63"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Aug 28 13:26:03 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Sep 05 15:59:34 2009 +0200"
      },
      "message": "firewire: ohci: fix Ricoh R5C832, video reception\n\nIn dual-buffer DMA mode, no video frames are ever received from R5C832\nby libdc1394.  Fallback to packet-per-buffer DMA works reliably.\nhttp://thread.gmane.org/gmane.linux.kernel.firewire.devel/13393/focus\u003d13476\n\nReported-by: Jonathan Cameron \u003cjic23@cam.ac.uk\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "fc383796a8cc5df0a0c8633a16dd2e9528a16a63",
      "tree": "92a231d28de6d396246a1136099d896a37be2332",
      "parents": [
        "1821bc19d54009b6f5e6462dd79074d728080839"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Fri Aug 28 13:25:15 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Sep 05 15:59:34 2009 +0200"
      },
      "message": "firewire: ohci: fix Agere FW643 and multiple cameras\n\nAn Agere FW643 OHCI 1.1 card works fine for video reception from one\ncamera but fails early if receiving from two cameras.  After a short\nwhile, no IR IRQ events occur and the context control register does not\nreact anymore.  This happens regardless whether both IR DMA contexts are\ndual-buffer or one is dual-buffer and the other packet-per-buffer.\n\nThis can be worked around by disabling dual buffer DMA mode entirely.\nhttp://sourceforge.net/mailarchive/message.php?msg_name\u003d4A7C0594.2020208%40gmail.com\n(Reported by Samuel Audet.)\n\nIn another report (by Jonathan Cameron), an FW643 works OK with two\ncameras in dual buffer mode.  Whether this is due to different chip\nrevisions or different usage patterns (different video formats) is not\nyet clear.  However, as far as the current capabilities of\nfirewire-core\u0027s isochronous I/O interface are concerned, simply\nswitching off dual-buffer on non-working and working FW643s alike is not\na problem in practice.  We only need to revisit this issue if we are\ngoing to enhance the interface, e.g. so that applications can explicitly\nchoose modes.\n\nReported-by: Samuel Audet \u003csamuel.audet@gmail.com\u003e\nReported-by: Jonathan Cameron \u003cjic23@cam.ac.uk\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "1821bc19d54009b6f5e6462dd79074d728080839",
      "tree": "27c11feb1f613d719ab8d1beff2639ecd3b31dc7",
      "parents": [
        "ebbb16bffa646f853899ef3fdc0ac7abab888703"
      ],
      "author": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Sep 05 13:23:49 2009 +0200"
      },
      "committer": {
        "name": "Stefan Richter",
        "email": "stefanr@s5r6.in-berlin.de",
        "time": "Sat Sep 05 15:59:34 2009 +0200"
      },
      "message": "firewire: core: fix crash in iso resource management\n\nThis fixes a regression due to post 2.6.30 commit \"firewire: core: do\nnot DMA-map stack addresses\" 6fdc03709433ccc2005f0f593ae9d9dd04f7b485.\n\nAs David Moore noted, a previously correct sizeof() expression became\nwrong since the commit changed its argument from an array to a pointer.\nThis resulted in an oops in ohci_cancel_packet in the shared workqueue\nthread\u0027s context when an isochronous resource was to be freed.\n\nReported-by: Jonathan Cameron \u003cjic23@cam.ac.uk\u003e\nSigned-off-by: Stefan Richter \u003cstefanr@s5r6.in-berlin.de\u003e\n"
    },
    {
      "commit": "8379e7c46cc48f51197dd663fc6676f47f2a1e71",
      "tree": "ee6ae04dd7014bfe311ea0f48a0aea734a96c2ed",
      "parents": [
        "a1b08e75dff3dc18a88444803753e667bb1d126e"
      ],
      "author": {
        "name": "Sunil Mushran",
        "email": "sunil.mushran@oracle.com",
        "time": "Fri Sep 04 11:12:01 2009 -0700"
      },
      "committer": {
        "name": "Joel Becker",
        "email": "joel.becker@oracle.com",
        "time": "Fri Sep 04 14:28:31 2009 -0700"
      },
      "message": "ocfs2: ocfs2_write_begin_nolock() should handle len\u003d0\n\nBug introduced by mainline commit e7432675f8ca868a4af365759a8d4c3779a3d922\nThe bug causes ocfs2_write_begin_nolock() to oops when len\u003d0.\n\nSigned-off-by: Sunil Mushran \u003csunil.mushran@oracle.com\u003e\nCc: stable@kernel.org\nSigned-off-by: Joel Becker \u003cjoel.becker@oracle.com\u003e\n"
    },
    {
      "commit": "ae0b7448e91353ea5f821601a055aca6b58042cd",
      "tree": "a5c5d0532c808fb1eb2c01414edfcd2d0c039a7e",
      "parents": [
        "2defcc3fb4661e7351cb2ac48d843efc4c64db13"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Fri Sep 04 20:40:43 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Sep 04 20:40:43 2009 +0100"
      },
      "message": "dm snapshot: fix on disk chunk size validation\n\nFix some problems seen in the chunk size processing when activating a\npre-existing snapshot.\n\nFor a new snapshot, the chunk size can either be supplied by the creator\nor a default value can be used.  For an existing snapshot, the\nchunk size in the snapshot header on disk should always be used.\n\nIf someone attempts to load an existing snapshot and has the \u0027default\nchunk size\u0027 option set, the kernel uses its default value even when it\nis incorrect for the snapshot being loaded.  This patch ensures the\ncorrect on-disk value is always used.\n\nSecondly, when the code does use the chunk size stored on the disk it is\nprudent to revalidate it, so the code can exit cleanly if it got\ncorrupted as happened in\nhttps://bugzilla.redhat.com/show_bug.cgi?id\u003d461506 .\n\nCc: stable@kernel.org\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "2defcc3fb4661e7351cb2ac48d843efc4c64db13",
      "tree": "18be3f5f6c38f8b8b535f05e6004090cd9143af6",
      "parents": [
        "61578dcd3fafe6babd72e8db32110cc0b630a432"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Fri Sep 04 20:40:41 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Sep 04 20:40:41 2009 +0100"
      },
      "message": "dm exception store: split set_chunk_size\n\nBreak the function set_chunk_size to two functions in preparation for\nthe fix in the following patch.\n\nCc: stable@kernel.org\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "61578dcd3fafe6babd72e8db32110cc0b630a432",
      "tree": "8e5bb9e66ec43666dd5079cc9203fc56c233b469",
      "parents": [
        "02d2fd31defce6ff77146ad0fef4f19006055d86"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Fri Sep 04 20:40:39 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Sep 04 20:40:39 2009 +0100"
      },
      "message": "dm snapshot: fix header corruption race on invalidation\n\nIf a persistent snapshot fills up, a race can corrupt the on-disk header\nwhich causes a crash on any future attempt to activate the snapshot\n(typically while booting).  This patch fixes the race.\n\nWhen the snapshot overflows, __invalidate_snapshot is called, which calls\nsnapshot store method drop_snapshot. It goes to persistent_drop_snapshot that\ncalls write_header. write_header constructs the new header in the \"area\"\nlocation.\n\nConcurrently, an existing kcopyd job may finish, call copy_callback\nand commit_exception method, that goes to persistent_commit_exception.\npersistent_commit_exception doesn\u0027t do locking, relying on the fact that\ncallbacks are single-threaded, but it can race with snapshot invalidation and\noverwrite the header that is just being written while the snapshot is being\ninvalidated.\n\nThe result of this race is a corrupted header being written that can\nlead to a crash on further reactivation (if chunk_size is zero in the\ncorrupted header).\n\nThe fix is to use separate memory areas for each.\n\nSee the bug: https://bugzilla.redhat.com/show_bug.cgi?id\u003d461506\n\nCc: stable@kernel.org\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "02d2fd31defce6ff77146ad0fef4f19006055d86",
      "tree": "de8103e62595fbc1efcd39ff83bf146018e5180b",
      "parents": [
        "7ec23d50949d5062b5b749638dd9380ed75e58e5"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Fri Sep 04 20:40:37 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Sep 04 20:40:37 2009 +0100"
      },
      "message": "dm snapshot: refactor zero_disk_area to use chunk_io\n\nRefactor chunk_io to prepare for the fix in the following patch.\n\nPass an area pointer to chunk_io and simplify zero_disk_area to use\nchunk_io.  No functional change.\n\nCc: stable@kernel.org\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "7ec23d50949d5062b5b749638dd9380ed75e58e5",
      "tree": "28183b6468683cf28abd63b9c322b9f31bcddc5e",
      "parents": [
        "d2b698644c97cb033261536a4f2010924a00eac9"
      ],
      "author": {
        "name": "Jonathan Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Fri Sep 04 20:40:34 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Sep 04 20:40:34 2009 +0100"
      },
      "message": "dm log: userspace add luid to distinguish between concurrent log instances\n\nDevice-mapper userspace logs (like the clustered log) are\nidentified by a universally unique identifier (UUID).  This\nidentifier is used to associate requests from the kernel to\na specific log in userspace.  The UUID must be unique everywhere,\nsince multiple machines may use this identifier when communicating\nabout a particular log, as is the case for cluster logs.\n\nSometimes, device-mapper/LVM may re-use a UUID.  This is the\ncase during pvmoves, when moving from one segment of an LV\nto another, or when resizing a mirror, etc.  In these cases,\na new log is created with the same UUID and loaded in the\n\"inactive\" slot.  When a device-mapper \"resume\" is issued,\nthe \"live\" table is deactivated and the new \"inactive\" table\nbecomes \"live\".  (The \"inactive\" table can also be removed\nvia a device-mapper \u0027clear\u0027 command.)\n\nThe above two issues were colliding.  More than one log was being\ncreated with the same UUID, and there was no way to distinguish\nbetween them.  So, sometimes the wrong log would be swapped\nout during the exchange.\n\nThe solution is to create a locally unique identifier,\n\u0027luid\u0027, to go along with the UUID.  This new identifier is used\nto determine exactly which log is being referenced by the kernel\nwhen the log exchange is made.  The identifier is not\nuniversally safe, but it does not need to be, since\ncreate/destroy/suspend/resume operations are bound to a specific\nmachine; and these are the operations that make up the exchange.\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "d2b698644c97cb033261536a4f2010924a00eac9",
      "tree": "32192650a01c913a85953c0a756fca06320fef46",
      "parents": [
        "b8313b6da7e2e7c7f47d93d8561969a3ff9ba0ea"
      ],
      "author": {
        "name": "Jonathan Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Fri Sep 04 20:40:32 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Sep 04 20:40:32 2009 +0100"
      },
      "message": "dm raid1: do not allow log_failure variable to unset after being set\n\nThis patch fixes a bug which was triggering a case where the primary leg\ncould not be changed on failure even when the mirror was in-sync.\n\nThe case involves the failure of the primary device along with\nthe transient failure of the log device.  The problem is that\nbios can be put on the \u0027failures\u0027 list (due to log failure)\nbefore \u0027fail_mirror\u0027 is called due to the primary device failure.\nNormally, this is fine, but if the log device failure is transient,\na subsequent iteration of the work thread, \u0027do_mirror\u0027, will\nreset \u0027log_failure\u0027.  The \u0027do_failures\u0027 function then resets\nthe \u0027in_sync\u0027 variable when processing bios on the failures list.\nThe \u0027in_sync\u0027 variable is what is used to determine if the\nprimary device can be switched in the event of a failure.  Since\nthis has been reset, the primary device is incorrectly assumed\nto be not switchable.\n\nThe case has been seen in the cluster mirror context, where one\nmachine realizes the log device is dead before the other machines.\nAs the responsibilities of the server migrate from one node to\nanother (because the mirror is being reconfigured due to the failure),\nthe new server may think for a moment that the log device is fine -\nthus resetting the \u0027log_failure\u0027 variable.\n\nIn any case, it is inappropiate for us to reset the \u0027log_failure\u0027\nvariable.  The above bug simply illustrates that it can actually\nhurt us.\n\nCc: stable@kernel.org\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "b8313b6da7e2e7c7f47d93d8561969a3ff9ba0ea",
      "tree": "c605b02cb6ad5c4b68d4066eca4aac6c4747e839",
      "parents": [
        "4142a969175302bc843d1505133488bfdbfa4732"
      ],
      "author": {
        "name": "Jonathan Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Fri Sep 04 20:40:30 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Sep 04 20:40:30 2009 +0100"
      },
      "message": "dm log: remove incorrect field from userspace table output\n\nThe output of \u0027dmsetup table\u0027 includes an internal field that should not\nbe there.  This patch removes it.  To make the fix simpler, we first\nreorder a constructor argument\n\nThe \u0027device size\u0027 argument is generated internally.  Currently it is\nplaced as the last space-separated word of the constructor string.\nHowever, we need to use a version of the string without this word, so we\nmove it to the beginning instead so it is trivial to skip past it.\n\nWe keep a copy of the arguments passed to userspace for creating a log,\njust in case we need to resend them.  These are the same arguments that\nare desired in the STATUSTYPE_TABLE request, except for one.  When\ncreating the userspace log, the userspace daemon must know the size of\nthe mirror, so that is added to the arguments given in the constructor\ntable.  We were printing this extra argument out as well, which is a\nmistake.\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "4142a969175302bc843d1505133488bfdbfa4732",
      "tree": "737cce5d0dc543dacefd7bc2fa27fc43b118318a",
      "parents": [
        "40bea431274c247425e7f5970d796ff7b37a2b22"
      ],
      "author": {
        "name": "Jonathan Brassow",
        "email": "jbrassow@redhat.com",
        "time": "Fri Sep 04 20:40:28 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Sep 04 20:40:28 2009 +0100"
      },
      "message": "dm log: fix userspace status output\n\nFix \u0027dmsetup table\u0027 output.\n\nThere is a missing \u0027 \u0027 at the end of the string causing two\nwords to run together.\n\nSigned-off-by: Jonathan Brassow \u003cjbrassow@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "40bea431274c247425e7f5970d796ff7b37a2b22",
      "tree": "cc9791861c01605d2dca28d3eac9182c301a832c",
      "parents": [
        "a963a956225eb0f8c4d3537f428153c30adf54b8"
      ],
      "author": {
        "name": "Mike Snitzer",
        "email": "snitzer@redhat.com",
        "time": "Fri Sep 04 20:40:25 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Sep 04 20:40:25 2009 +0100"
      },
      "message": "dm stripe: expose correct io hints\n\nSet sensible I/O hints for striped DM devices in the topology\ninfrastructure added for 2.6.31 for userspace tools to\nobtain via sysfs.\n\nAdd .io_hints to \u0027struct target_type\u0027 to allow the I/O hints portion\n(io_min and io_opt) of the \u0027struct queue_limits\u0027 to be set by each\ntarget and implement this for dm-stripe.\n\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "a963a956225eb0f8c4d3537f428153c30adf54b8",
      "tree": "d4204f64aaf23b7a1615f4f293358eca5125c748",
      "parents": [
        "f6a1ed10864b7540fa758bbccf3433fe17070329"
      ],
      "author": {
        "name": "Mike Snitzer",
        "email": "snitzer@redhat.com",
        "time": "Fri Sep 04 20:40:24 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Sep 04 20:40:24 2009 +0100"
      },
      "message": "dm table: add more context to terse warning messages\n\nA couple of recent warning messages make it difficult for the reader to\ndetermine exactly what is wrong.  This patch adds more information to\nthose messages.\n\nThe messages were added by these commits:\n  5dea271b6d87bd1d79a59c1d5baac2596a841c37 (\"dm table: pass correct dev area size\nto device_area_is_valid\")\n  ea9df47cc92573b159ef3b4fda516c32cba9c4fd (\"dm table: fix blk_stack_limits arg\nto use bytes not sectors\")\n\nThe patch also corrects references to logical_block_size in printk format\nstrings from %hu to %u.\n\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "f6a1ed10864b7540fa758bbccf3433fe17070329",
      "tree": "e0b8f1c02f0527e0870dee2977f311695856f8a5",
      "parents": [
        "8811f46c1f9386fc7017150de9d52359e5b1826e"
      ],
      "author": {
        "name": "Mikulas Patocka",
        "email": "mpatocka@redhat.com",
        "time": "Fri Sep 04 20:40:22 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Sep 04 20:40:22 2009 +0100"
      },
      "message": "dm table: fix queue_limit checking device iterator\n\nThe logic to check for valid device areas is inverted relative to proper\nuse with iterate_devices.\n\nThe iterate_devices method calls its callback for every underlying\ndevice in the target.  If any callback returns non-zero, iterate_devices\nexits immediately.  But the callback device_area_is_valid() returns 0 on\nerror and 1 on success.  The overall effect without is that an error is\nissued only if every device is invalid.\n\nThis patch renames device_area_is_valid to device_area_is_invalid and\ninverts the logic so that one invalid device is sufficient to raise\nan error.\n\nSigned-off-by: Mikulas Patocka \u003cmpatocka@redhat.com\u003e\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "8811f46c1f9386fc7017150de9d52359e5b1826e",
      "tree": "d7ff12ec29d2911801e81b50440f160d58b0f9a8",
      "parents": [
        "a77e28c7e1dc1a6a035c7627d4a88ecf3ea09aea"
      ],
      "author": {
        "name": "Mike Snitzer",
        "email": "snitzer@redhat.com",
        "time": "Fri Sep 04 20:40:19 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Sep 04 20:40:19 2009 +0100"
      },
      "message": "dm snapshot: implement iterate devices\n\nImplement the .iterate_devices for the origin and snapshot targets.\ndm-snapshot\u0027s lack of .iterate_devices resulted in the inability to\nproperly establish queue_limits for both targets.\n\nWith 4K sector drives: an unfortunate side-effect of not establishing\nproper limits in either targets\u0027 DM device was that IO to the devices\nwould fail even though both had been created without error.\n\nCommit af4874e03ed82f050d5872d8c39ce64bf16b5c38 (\"dm target:s introduce\niterate devices fn\") in 2.6.31-rc1 should have implemented .iterate_devices\nfor dm-snap.c\u0027s origin and snapshot targets.\n\nSigned-off-by: Mike Snitzer \u003csnitzer@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "a77e28c7e1dc1a6a035c7627d4a88ecf3ea09aea",
      "tree": "0d481ef49120eda629409cbac9dbe63ba472f873",
      "parents": [
        "37d0892c5a94e208cf863e3b7bac014edee4346d"
      ],
      "author": {
        "name": "Kiyoshi Ueda",
        "email": "k-ueda@ct.jp.nec.com",
        "time": "Fri Sep 04 20:40:16 2009 +0100"
      },
      "committer": {
        "name": "Alasdair G Kergon",
        "email": "agk@redhat.com",
        "time": "Fri Sep 04 20:40:16 2009 +0100"
      },
      "message": "dm multipath: fix oops when request based io fails when no paths\n\nThe patch posted at http://marc.info/?l\u003ddm-devel\u0026m\u003d124539787228784\u0026w\u003d2\nwhich was merged into cec47e3d4a861e1d942b3a580d0bbef2700d2bb2 (\"dm:\nprepare for request based option\") introduced a regression in\nrequest-based dm.\n\nIf map_request() calls dm_kill_unmapped_request() to complete a cloned\nbio without dispatching it, clone-\u003ebio is still set when\ndm_end_request() is called and the BUG_ON(clone-\u003ebio) is incorrect.\n\nThe patch fixes this bug by freeing bio in dm_end_request() if the clone\nhas bio.  I\u0027ve redone my tests to cover all I/O paths and confirmed\nthere\u0027s no other regression.\n\nHere is the oops I hit in request-based dm when I do I/O to a multipath\ndevice which doesn\u0027t have any active path nor queue_if_no_path setting:\n\n------------[ cut here ]------------\nkernel BUG at /root/2.6.31-rc4.rqdm/drivers/md/dm.c:828!\ninvalid opcode: 0000 [#1] SMP\nlast sysfs file: /sys/devices/system/cpu/cpu3/cache/index2/shared_cpu_map\nCPU 1\nModules linked in: autofs4 sunrpc cpufreq_ondemand acpi_cpufreq dm_mirror dm_region_hash dm_log dm_service_time dm_multipath scsi_dh dm_mod video output sbs sbshc battery ac sg sr_mod e1000e button cdrom serio_raw rtc_cmos rtc_core rtc_lib piix lpfc scsi_transport_fc ata_piix libata megaraid_sas sd_mod scsi_mod crc_t10dif ext3 jbd uhci_hcd ohci_hcd ehci_hcd [last unloaded: microcode]\nPid: 7, comm: ksoftirqd/1 Not tainted 2.6.31-rc4.rqdm #1 Express5800/120Lj [N8100-1417]\nRIP: 0010:[\u003cffffffffa023629d\u003e]  [\u003cffffffffa023629d\u003e] dm_softirq_done+0xbd/0x100 [dm_mod]\nRSP: 0018:ffff8800280a1f08  EFLAGS: 00010282\nRAX: ffffffffa02544e0 RBX: ffff8802aa1111d0 RCX: ffff8802aa1111e0\nRDX: ffff8802ab913e70 RSI: 0000000000000000 RDI: ffff8802ab913e70\nRBP: ffff8800280a1f28 R08: ffffc90005457040 R09: 0000000000000000\nR10: 0000000000000001 R11: 0000000000000000 R12: 00000000fffffffb\nR13: ffff8802ab913e88 R14: ffff8802ab9c1438 R15: 0000000000000100\nFS:  0000000000000000(0000) GS:ffff88002809e000(0000) knlGS:0000000000000000\nCS:  0010 DS: 0018 ES: 0018 CR0: 000000008005003b\nCR2: 0000003d54a98640 CR3: 000000029f0a1000 CR4: 00000000000006e0\nDR0: 0000000000000000 DR1: 0000000000000000 DR2: 0000000000000000\nDR3: 0000000000000000 DR6: 00000000ffff0ff0 DR7: 0000000000000400\nProcess ksoftirqd/1 (pid: 7, threadinfo ffff8802ae50e000, task ffff8802ae4f8040)\nStack:\n ffff8800280a1f38 0000000000000020 ffffffff814f30a0 0000000000000004\n\u003c0\u003e ffff8800280a1f58 ffffffff8116b245 ffff8800280a1f38 ffff8800280a1f38\n\u003c0\u003e ffff8800280a1f58 0000000000000001 ffff8800280a1fa8 ffffffff810477bc\nCall Trace:\n \u003cIRQ\u003e\n [\u003cffffffff8116b245\u003e] blk_done_softirq+0x75/0x90\n [\u003cffffffff810477bc\u003e] __do_softirq+0xcc/0x210\n [\u003cffffffff81047170\u003e] ? ksoftirqd+0x0/0x110\n [\u003cffffffff8100ce7c\u003e] call_softirq+0x1c/0x50\n \u003cEOI\u003e\n [\u003cffffffff8100e785\u003e] do_softirq+0x65/0xa0\n [\u003cffffffff81047170\u003e] ? ksoftirqd+0x0/0x110\n [\u003cffffffff810471e0\u003e] ksoftirqd+0x70/0x110\n [\u003cffffffff81059559\u003e] kthread+0x99/0xb0\n [\u003cffffffff8100cd7a\u003e] child_rip+0xa/0x20\n [\u003cffffffff8100c73c\u003e] ? restore_args+0x0/0x30\n [\u003cffffffff810594c0\u003e] ? kthread+0x0/0xb0\n [\u003cffffffff8100cd70\u003e] ? child_rip+0x0/0x20\nCode: 44 89 e6 48 89 df e8 23 fb f2 e0 be 01 00 00 00 4c 89 f7 e8 f6 fd ff ff 5b 41 5c 41 5d 41 5e c9 c3 4c 89 ef e8 85 fe ff ff eb ed \u003c0f\u003e 0b eb fe 41 8b 85 dc 00 00 00 48 83 bb 10 01 00 00 00 89 83\nRIP  [\u003cffffffffa023629d\u003e] dm_softirq_done+0xbd/0x100 [dm_mod]\n RSP \u003cffff8800280a1f08\u003e\n---[ end trace 16af0a1d8542da55 ]---\n\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nSigned-off-by: Alasdair G Kergon \u003cagk@redhat.com\u003e\n"
    },
    {
      "commit": "bd4352cadfacb9084c97c853b025fac010266c26",
      "tree": "ef54f0801dce4822df71cca587421446ad259ebd",
      "parents": [
        "e6617c6ec28a17cf2f90262b835ec05b9b861400"
      ],
      "author": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 04 03:38:54 2009 -0700"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Fri Sep 04 03:39:45 2009 -0700"
      },
      "message": "sparc64: Fix bootup with mcount in some configs.\n\nFunctions invoked early when booting up a cpu can\u0027t use\ntracing because mcount requires a valid \u0027current_thread_info()\u0027\nand TLB mappings to be setup.\n\nThe code path of sun4v_register_mondo_queues --\u003e register_one_mondo\nis one such case.  sun4v_register_mondo_queues already has the\nnecessary \u0027notrace\u0027 annotation, but register_one_mondo does not.\n\nNormally register_one_mondo is inlined so the bug doesn\u0027t trigger,\nbut with some config/compiler combinations, it won\u0027t be so we\nmust properly mark it notrace.\n\nWhile we\u0027re here, add \u0027notrace\u0027 annoations to prom_printf and\nprom_halt so that early error handling won\u0027t have the same problem.\n\nReported-by: Alexander Beregalov \u003ca.beregalov@gmail.com\u003e\nReported-by: Leif Sawyer \u003clsawyer@gci.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "2bcaa6a4238094c5695d5b1943078388d82d3004",
      "tree": "510e4616e4a4a83ba177a6779a50b79007c832d1",
      "parents": [
        "ced909ff048c9950e211783417f3c01361f3be28"
      ],
      "author": {
        "name": "Dave Andrews",
        "email": "jetdog330@hotmail.com",
        "time": "Thu Sep 03 17:21:27 2009 -0700"
      },
      "committer": {
        "name": "Dmitry Torokhov",
        "email": "dmitry.torokhov@gmail.com",
        "time": "Thu Sep 03 20:41:44 2009 -0700"
      },
      "message": "Input: atkbd - add Compaq Presario R4000-series repeat quirk\n\nCompaq Presario R4000-series laptops are not sending a \"volume up button\nrelease\" and \"volume down button release\" signal in the PS/2 protocol for\natkbd. The URL below has some of confirmed reports:\n\nhttps://bugs.launchpad.net/ubuntu/+source/linux/+bug/385477\n\nSigned-off-by: Dave Andrews \u003cjetdog330@hotmail.com\u003e\nSigned-off-by: Dmitry Torokhov \u003cdtor@mail.ru\u003e\n"
    },
    {
      "commit": "d76b1590e06a63a3d8697168cd0aabf1c4b3cb3a",
      "tree": "276a0323e0b25192fdb837475b816db3b3052cad",
      "parents": [
        "326ba5010a5429a5a528b268b36a5900d4ab0eba"
      ],
      "author": {
        "name": "Eric Dumazet",
        "email": "eric.dumazet@gmail.com",
        "time": "Thu Sep 03 22:38:59 2009 +0300"
      },
      "committer": {
        "name": "Pekka Enberg",
        "email": "penberg@cs.helsinki.fi",
        "time": "Thu Sep 03 22:38:59 2009 +0300"
      },
      "message": "slub: Fix kmem_cache_destroy() with SLAB_DESTROY_BY_RCU\n\nkmem_cache_destroy() should call rcu_barrier() *after* kmem_cache_close() and\n*before* sysfs_slab_remove() or risk rcu_free_slab() being called after\nkmem_cache is deleted (kfreed).\n\nrmmod nf_conntrack can crash the machine because it has to kmem_cache_destroy()\na SLAB_DESTROY_BY_RCU enabled cache.\n\nCc: \u003cstable@kernel.org\u003e\nReported-by: Zdenek Kabelac \u003czdenek.kabelac@gmail.com\u003e\nSigned-off-by: Eric Dumazet \u003ceric.dumazet@gmail.com\u003e\nAcked-by: Paul E. McKenney \u003cpaulmck@linux.vnet.ibm.com\u003e\nSigned-off-by: Pekka Enberg \u003cpenberg@cs.helsinki.fi\u003e\n"
    },
    {
      "commit": "bc8cec0dff072f1a45ce7f6b2c5234bb3411ac51",
      "tree": "c0794baebf16ecbbedbe79daaba80281fdad1e03",
      "parents": [
        "16f05c2b68520f94e365f9d347a7076f4ff00ad5"
      ],
      "author": {
        "name": "Massimo Cirillo",
        "email": "maxcir@gmail.com",
        "time": "Thu Aug 27 10:44:09 2009 +0200"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Thu Sep 03 15:01:34 2009 +0100"
      },
      "message": "JFFS2: add missing verify buffer allocation/deallocation\n\nThe function jffs2_nor_wbuf_flash_setup() doesn\u0027t allocate the verify buffer\nif CONFIG_JFFS2_FS_WBUF_VERIFY is defined, so causing a kernel panic when\nthat macro is enabled and the verify function is called. Similarly the\njffs2_nor_wbuf_flash_cleanup() must free the buffer if\nCONFIG_JFFS2_FS_WBUF_VERIFY is enabled.\nThe following patch fixes the problem.\nThe following patch applies to 2.6.30 kernel.\n\nSigned-off-by: Massimo Cirillo \u003cmaxcir@gmail.com\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\nCc: stable@kernel.org\n"
    },
    {
      "commit": "16f05c2b68520f94e365f9d347a7076f4ff00ad5",
      "tree": "ca06a5950392f6619c92fdb3431729a40096744e",
      "parents": [
        "4149ed1aa944ab864024982a2e568d17eccff504"
      ],
      "author": {
        "name": "Dimitri Gorokhovik",
        "email": "dimitri.gorokhovik@free.fr",
        "time": "Thu Sep 03 14:04:22 2009 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Thu Sep 03 14:59:16 2009 +0100"
      },
      "message": "mtd: nftl: fix offset alignments\n\nArithmetic conversion in the mask computation makes the upper word\nof the second argument passed down to mtd-\u003eread_oob(), be always 0\n(assuming \u0027offs\u0027 being a 64-bit signed long long type, and\n\u0027mtd-\u003ewritesize\u0027 being a 32-bit unsigned int type).\n\nThis patch applies over the other one adding masking in nftl_write,\n\"nftl: write support is broken\".\n\nSigned-off-by: Dimitri Gorokhovik \u003cdimitri.gorokhovik@free.fr\u003e\nCc: Tim Gardner \u003ctim.gardner@canonical.com\u003e\nCc: Scott James Remnant \u003cscott@canonical.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "4149ed1aa944ab864024982a2e568d17eccff504",
      "tree": "c6edeeefe922c68609e0458f423b9c1566751021",
      "parents": [
        "edcb3b14863e1a6aa1923eeaa81125a00cf51a80"
      ],
      "author": {
        "name": "Dimitri Gorokhovik",
        "email": "dimitri.gorokhovik@free.fr",
        "time": "Thu Sep 03 14:59:13 2009 +0100"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Thu Sep 03 14:59:13 2009 +0100"
      },
      "message": "mtd: nftl: write support is broken\n\nWrite support is broken in NFTL. Fix it.\n\nSigned-off-by: \u003cdimitri.gorokhovik@free.fr\u003e\nCc: Tim Gardner \u003ctim.gardner@canonical.com\u003e\nCc: Scott James Remnant \u003cscott@canonical.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    },
    {
      "commit": "edcb3b14863e1a6aa1923eeaa81125a00cf51a80",
      "tree": "0ced8f34894d08904c9a3fffee40b4051bfa6ad4",
      "parents": [
        "37d0892c5a94e208cf863e3b7bac014edee4346d"
      ],
      "author": {
        "name": "Anton Vorontsov",
        "email": "avorontsov@ru.mvista.com",
        "time": "Thu Aug 06 15:18:37 2009 -0700"
      },
      "committer": {
        "name": "David Woodhouse",
        "email": "David.Woodhouse@intel.com",
        "time": "Thu Sep 03 13:58:02 2009 +0100"
      },
      "message": "mtd: m25p80: fix null pointer dereference bug\n\nThis patch fixes the following oops, observed with MTD_PARTITIONS\u003dn:\n\nm25p80 spi32766.0: m25p80 (1024 Kbytes)\nUnable to handle kernel paging request for data at address 0x00000008\nFaulting instruction address: 0xc03a54b0\nOops: Kernel access of bad area, sig: 11 [#1]\nModules linked in:\nNIP: c03a54b0 LR: c03a5494 CTR: c01e98b8\nREGS: ef82bb60 TRAP: 0300   Not tainted  (2.6.31-rc4-00167-g4733fd3)\nMSR: 00029000 \u003cEE,ME,CE\u003e  CR: 24022022  XER: 20000000\nDEAR: 00000008, ESR: 00000000\nTASK \u003d ef82c000[1] \u0027swapper\u0027 THREAD: ef82a000\nGPR00: 00000000 ef82bc10 ef82c000 0000002e 00001eb8 ffffffff c01e9824 00000036\nGPR08: c054ed40 c0542a08 00001eb8 00004000 22022022 1001a1a0 3ff8fd00 00000000\nGPR16: 00000000 00000001 00000000 00000000 ef82bddc c0530000 efbef500 ef8356d0\nGPR24: 00000000 ef8356d0 00000000 efbf7a00 c0530ec4 ffffffed efbf5300 c0541f98\nNIP [c03a54b0] m25p_probe+0x22c/0x354\nLR [c03a5494] m25p_probe+0x210/0x354\nCall Trace:\n[ef82bc10] [c03a5494] m25p_probe+0x210/0x354 (unreliable)\n[ef82bca0] [c024e37c] spi_drv_probe+0x2c/0x3c\n[ef82bcb0] [c01f1afc] driver_probe_device+0xa4/0x178\n[ef82bcd0] [c01f06e8] bus_for_each_drv+0x6c/0xa8\n[ef82bd00] [c01f1a34] device_attach+0x84/0xa8\n...\n\nSigned-off-by: Anton Vorontsov \u003cavorontsov@ru.mvista.com\u003e\nCc: David Brownell \u003cdavid-b@pacbell.net\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Artem Bityutskiy \u003cArtem.Bityutskiy@nokia.com\u003e\nSigned-off-by: David Woodhouse \u003cDavid.Woodhouse@intel.com\u003e\n"
    }
  ],
  "next": "e6617c6ec28a17cf2f90262b835ec05b9b861400"
}
