)]}'
{
  "log": [
    {
      "commit": "c93f216b5b985a12a18323e5ca2eb01db3d2f000",
      "tree": "45fa35b290005f8b241dd76b6342875b81432fc3",
      "parents": [
        "c61b79b6ef266890954213a701d8f6021d8c1289",
        "ab3c9c686e22ab264269337ce7b75d9760211198"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 14:10:10 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 14:10:10 2009 -0700"
      },
      "message": "Merge branch \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-fixes-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  branch tracer, intel-iommu: fix build with CONFIG_BRANCH_TRACER\u003dy\n  branch tracer: Fix for enabling branch profiling makes sparse unusable\n  ftrace: Correct a text align for event format output\n  Update /debug/tracing/README\n  tracing/ftrace: alloc the started cpumask for the trace file\n  tracing, x86: remove duplicated #include\n  ftrace: Add check of sched_stopped for probe_sched_wakeup\n  function-graph: add proper initialization for init task\n  tracing/ftrace: fix missing include string.h\n  tracing: fix incorrect return type of ns2usecs()\n  tracing: remove CALLER_ADDR2 from wakeup tracer\n  blktrace: fix pdu_len when tracing packet command requests\n  blktrace: small cleanup in blk_msg_write()\n  blktrace: NUL-terminate user space messages\n  tracing: move scripts/trace/power.pl to scripts/tracing/power.pl\n"
    },
    {
      "commit": "6a5d263866d699ebf6843105497afc86ee53de5b",
      "tree": "439195e272631908cdc2e3e44abaf7e1c3447157",
      "parents": [
        "aeeae86859f4319de0a4946b44771d9926eeed54",
        "ffcd7dca3ab78f9f425971756e5e90024157f6be"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 11:06:41 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 11:06:41 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  loop: mutex already unlocked in loop_clr_fd()\n  cfq-iosched: don\u0027t let idling interfere with plugging\n  block: remove unused REQ_UNPLUG\n  cfq-iosched: kill two unused cfqq flags\n  cfq-iosched: change dispatch logic to deal with single requests at the time\n  mflash: initial support\n  cciss: change to discover first memory BAR\n  cciss: kernel scan thread for MSA2012\n  cciss: fix residual count for block pc requests\n  block: fix inconsistency in I/O stat accounting code\n  block: elevator quiescing helpers\n"
    },
    {
      "commit": "132ea5e9aa9ce13f62ba45db8e43ec887d1106e9",
      "tree": "417d93c83ccaa205efab507df56fc985242ba0ae",
      "parents": [
        "0e26da0f2200a2fb51844aaa43e365ea9dd5a93d",
        "cae5a29d3c4ec7c4214966021c9ee827e66bd67b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 08:53:02 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Apr 07 08:53:02 2009 -0700"
      },
      "message": "Merge branch \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev\n\n* \u0027upstream-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:\n  sata_mv: shorten register names\n  sata_mv: workaround errata SATA#13\n  sata_mv: cosmetic renames\n  sata_mv: workaround errata SATA#26\n  sata_mv: workaround errata PCI#7\n  sata_mv: replace 0x1f with ATA_PIO4 (v2)\n  sata_mv: fix irq mask races\n  sata_mv: revert SoC irq breakage\n  libata: ahci enclosure management bios workaround\n  ata: Add TRIM infrastructure\n  ata_piix: VGN-BX297XP wants the controller power up on suspend\n  libata: Remove some redundant casts from pata_octeon_cf.c\n  pata_artop: typo\n"
    },
    {
      "commit": "b029195dda0129b427c6e579a3bb3ae752da3a93",
      "tree": "7f8752d2fefac40b0b25720cc1b0fbbd8aed173a",
      "parents": [
        "2385327725419a76cfbca7258abd95908b8ba9eb"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 07 11:38:31 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 07 11:38:31 2009 +0200"
      },
      "message": "cfq-iosched: don\u0027t let idling interfere with plugging\n\nWhen CFQ is waiting for a new request from a process, currently it\u0027ll\nimmediately restart queuing when it sees such a request. This doesn\u0027t\nwork very well with streamed IO, since we then end up splitting IO\nthat would otherwise have been merged nicely. For a simple dd test,\nthis causes 10x as many requests to be issued as we should have.\nNormally this goes unnoticed due to the low overhead of requests\nat the device side, but some hardware is very sensitive to request\nsizes and there it can cause big slow downs.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "2385327725419a76cfbca7258abd95908b8ba9eb",
      "tree": "dee9c8167092707fbd3f1b1c5fdadc33ccf924a5",
      "parents": [
        "75e50984f062de2abc4bd84c642923e2c48ce2ae"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 07 08:59:11 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 07 08:59:11 2009 +0200"
      },
      "message": "block: remove unused REQ_UNPLUG\n\nThe request inherits the unplug flag from the bio, but it isn\u0027t actually\nused. The bio flag stops at __make_request(), which tells it to unplug\nafter submission. Passing it on to the request doesn\u0027t make any sense.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "75e50984f062de2abc4bd84c642923e2c48ce2ae",
      "tree": "57da8b176f77f0823f4a7b42cbf4e25f76bd98a6",
      "parents": [
        "2f5cb7381b737e24c8046fd4aeab571fb71315f5"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 07 08:56:14 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 07 08:56:14 2009 +0200"
      },
      "message": "cfq-iosched: kill two unused cfqq flags\n\nWe only manipulate the must_dispatch and queue_new flags, they are not\ntested anymore. So get rid of them.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "2f5cb7381b737e24c8046fd4aeab571fb71315f5",
      "tree": "27b82d748bdf99296b8a914c51dad2fbea90aea3",
      "parents": [
        "3fbed4c61abd8458896e38633d10110cb5a589d4"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 07 08:51:19 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 07 08:51:19 2009 +0200"
      },
      "message": "cfq-iosched: change dispatch logic to deal with single requests at the time\n\nThe IO scheduler core calls into the IO scheduler dispatch_request hook\nto move requests from the IO scheduler and into the driver dispatch\nlist. It only does so when the dispatch list is empty. CFQ moves several\nrequests to the dispatch list, which can cause higher latencies if we\nsuddenly have to switch to some important sync IO. Change the logic to\nmove one request at the time instead.\n\nThis should almost be functionally equivalent to what we did before,\nexcept that we now honor \u0027quantum\u0027 as the maximum queue depth at the\ndevice side from any single cfqq. If there\u0027s just a single active\ncfqq, we allow up to 4 times the normal quantum.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "26308eab69aa193f7b3fb50764a64ae14544a39b",
      "tree": "758f6100395a23228d042c3a9d6f7dc1922d7530",
      "parents": [
        "6c7e8cee6a9128eeb7f83c3ad1cb243f77f5cb16"
      ],
      "author": {
        "name": "Jerome Marchand",
        "email": "jmarchan@redhat.com",
        "time": "Fri Mar 27 10:31:51 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 07 08:12:38 2009 +0200"
      },
      "message": "block: fix inconsistency in I/O stat accounting code\n\nThis forces in_flight to be zero when turning off or on the I/O stat\naccounting and stops updating I/O stats in attempt_merge() when\naccounting is turned off.\n\nSigned-off-by: Jerome Marchand \u003cjmarchan@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "6c7e8cee6a9128eeb7f83c3ad1cb243f77f5cb16",
      "tree": "f57ac6ab9e57a4e3317a54d04c39151d3bb942cf",
      "parents": [
        "d508afb437daee7cf07da085b635c44a4ebf9b38"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Mar 27 10:30:47 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Apr 07 08:12:37 2009 +0200"
      },
      "message": "block: elevator quiescing helpers\n\nSimple helper functions to quiesce the request queue. These are\ncurrently only used for switching IO schedulers on-the-fly, but\nwe can use them to properly switch IO accounting on and off as well.\n\nSigned-off-by: Jerome Marchand \u003cjmarchan@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "8feb4d20b4b867e7a44f7486ecb028cc01a564ae",
      "tree": "7ffc0f18d3b336260f405b95faa1a518e99d0c84",
      "parents": [
        "0221c81b1b8eb0cbb6b30a0ced52ead32d2b4e4c"
      ],
      "author": {
        "name": "Alan Cox",
        "email": "alan@redhat.com",
        "time": "Wed Apr 01 15:01:39 2009 +0100"
      },
      "committer": {
        "name": "Jeff Garzik",
        "email": "jgarzik@redhat.com",
        "time": "Mon Apr 06 20:00:29 2009 -0400"
      },
      "message": "pata_artop: typo\n\nFix a typo (this was in the original patch but was not merged when the code\nfixes were for some reason)\n\nSigned-off-by: Alan Cox \u003calan@redhat.com\u003e\nSigned-off-by: Jeff Garzik \u003cjgarzik@redhat.com\u003e\n"
    },
    {
      "commit": "aeb6fafb8fa53266d70ca7474fcda2bdaf96524a",
      "tree": "ebe8e0c616a9dbfdfe5184b64d0150ea02d3d1b2",
      "parents": [
        "644b2d99b7a8677a56909a7b1fde31677eba4471"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Apr 06 14:48:07 2009 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 06 08:04:54 2009 -0700"
      },
      "message": "block: Add flag for telling the IO schedulers NOT to anticipate more IO\n\nBy default, CFQ will anticipate more IO from a given io context if the\npreviously completed IO was sync. This used to be fine, since the only\nsync IO was reads and O_DIRECT writes. But with more \"normal\" sync writes\nbeing used now, we don\u0027t want to anticipate for those.\n\nAdd a bio/request flag that informs the IO scheduler that this is a sync\nrequest that we should not idle for. Introduce WRITE_ODIRECT specifically\nfor O_DIRECT writes, and make sure that the other sync writes set this\nflag.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "644b2d99b7a8677a56909a7b1fde31677eba4471",
      "tree": "5271613f4fd9e6fbf11c16aff8dec8f1946b2234",
      "parents": [
        "4194b1eaf18ddc3eee9597e8800b6d2ffdfd3614"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Apr 06 14:48:06 2009 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 06 08:04:54 2009 -0700"
      },
      "message": "block: enabling plugging on SSD devices that don\u0027t do queuing\n\nFor the older SSD devices that don\u0027t do command queuing, we do want to\nenable plugging to get better merging.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "1faa16d22877f4839bd433547d770c676d1d964c",
      "tree": "9a0d50be1ef0358c1f53d7107413100904e7d526",
      "parents": [
        "0221c81b1b8eb0cbb6b30a0ced52ead32d2b4e4c"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Apr 06 14:48:01 2009 +0200"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Apr 06 08:04:53 2009 -0700"
      },
      "message": "block: change the request allocation/congestion logic to be sync/async based\n\nThis makes sure that we never wait on async IO for sync requests, instead\nof doing the split on writes vs reads.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "714f83d5d9f7c785f622259dad1f4fad12d64664",
      "tree": "20563541ae438e11d686b4d629074eb002a481b7",
      "parents": [
        "8901e7ffc2fa78ede7ce9826dbad68a3a25dc2dc",
        "645dae969c3b8651c5bc7c54a1835ec03820f85f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 11:04:19 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 11:04:19 2009 -0700"
      },
      "message": "Merge branch \u0027tracing-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027tracing-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (413 commits)\n  tracing, net: fix net tree and tracing tree merge interaction\n  tracing, powerpc: fix powerpc tree and tracing tree interaction\n  ring-buffer: do not remove reader page from list on ring buffer free\n  function-graph: allow unregistering twice\n  trace: make argument \u0027mem\u0027 of trace_seq_putmem() const\n  tracing: add missing \u0027extern\u0027 keywords to trace_output.h\n  tracing: provide trace_seq_reserve()\n  blktrace: print out BLK_TN_MESSAGE properly\n  blktrace: extract duplidate code\n  blktrace: fix memory leak when freeing struct blk_io_trace\n  blktrace: fix blk_probes_ref chaos\n  blktrace: make classic output more classic\n  blktrace: fix off-by-one bug\n  blktrace: fix the original blktrace\n  blktrace: fix a race when creating blk_tree_root in debugfs\n  blktrace: fix timestamp in binary output\n  tracing, Text Edit Lock: cleanup\n  tracing: filter fix for TRACE_EVENT_FORMAT events\n  ftrace: Using FTRACE_WARN_ON() to check \"freed record\" in ftrace_release()\n  x86: kretprobe-booster interrupt emulation code fix\n  ...\n\nFix up trivial conflicts in\n arch/parisc/include/asm/ftrace.h\n include/linux/memory.h\n kernel/extable.c\n kernel/module.c\n"
    },
    {
      "commit": "90975ef71246c5c688ead04e8ff6f36dc92d28b3",
      "tree": "eda44b2efe91509719b0e62219c2efec13a9e762",
      "parents": [
        "cab4e4c43f92582a2bfc026137b3d8a175bd0360",
        "558f6ab9106e6be701acb0257e7171df1bbccf04"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 10:33:07 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sun Apr 05 10:33:07 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/rusty/linux-2.6-cpumask: (36 commits)\n  cpumask: remove cpumask allocation from idle_balance, fix\n  numa, cpumask: move numa_node_id default implementation to topology.h, fix\n  cpumask: remove cpumask allocation from idle_balance\n  x86: cpumask: x86 mmio-mod.c use cpumask_var_t for downed_cpus\n  x86: cpumask: update 32-bit APM not to mug current-\u003ecpus_allowed\n  x86: microcode: cleanup\n  x86: cpumask: use work_on_cpu in arch/x86/kernel/microcode_core.c\n  cpumask: fix CONFIG_CPUMASK_OFFSTACK\u003dy cpu hotunplug crash\n  numa, cpumask: move numa_node_id default implementation to topology.h\n  cpumask: convert node_to_cpumask_map[] to cpumask_var_t\n  cpumask: remove x86 cpumask_t uses.\n  cpumask: use cpumask_var_t in uv_flush_tlb_others.\n  cpumask: remove cpumask_t assignment from vector_allocation_domain()\n  cpumask: make Xen use the new operators.\n  cpumask: clean up summit\u0027s send_IPI functions\n  cpumask: use new cpumask functions throughout x86\n  x86: unify cpu_callin_mask/cpu_callout_mask/cpu_initialized_mask/cpu_sibling_setup_mask\n  cpumask: convert struct cpuinfo_x86\u0027s llc_shared_map to cpumask_var_t\n  cpumask: convert node_to_cpumask_map[] to cpumask_var_t\n  x86: unify 32 and 64-bit node_to_cpumask_map\n  ...\n"
    },
    {
      "commit": "b1dbb67911fecb290db3f566281bcd9ccc9dc6df",
      "tree": "f55add06f624f7fed8a68372d8c96b583ca578fe",
      "parents": [
        "492f59f526d95e73028f57bff475b4bbe3c8cb72",
        "70f454408e68fdba2c2529ab7d6ec3c3525e59f2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 03 17:33:30 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Apr 03 17:33:30 2009 -0700"
      },
      "message": "Merge branch \u0027ipi-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027ipi-for-linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip:\n  s390: remove arch specific smp_send_stop()\n  panic: clean up kernel/panic.c\n  panic, smp: provide smp_send_stop() wrapper on UP too\n  panic: decrease oops_in_progress only after having done the panic\n  generic-ipi: eliminate WARN_ON()s during oops/panic\n  generic-ipi: cleanups\n  generic-ipi: remove CSD_FLAG_WAIT\n  generic-ipi: remove kmalloc()\n  generic IPI: simplify barriers and locking\n"
    },
    {
      "commit": "e2494e1b42ebac402324105d57646489d19e2b01",
      "tree": "bd8d0beac5d8b8a7e6ff209c265b015a56fed1fd",
      "parents": [
        "7635b03adf3d7b84da7649b81efa91e6ebf11b85"
      ],
      "author": {
        "name": "Li Zefan",
        "email": "lizf@cn.fujitsu.com",
        "time": "Thu Apr 02 13:43:26 2009 +0800"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Apr 03 15:29:26 2009 +0200"
      },
      "message": "blktrace: fix pdu_len when tracing packet command requests\n\nImpact: output all of packet commands - not just the first 4 / 8 bytes\n\nSince commit d7e3c3249ef23b4617393c69fe464765b4ff1645 (\"block: add\nlarge command support\"), struct request-\u003ecmd has been changed from\nunsinged char cmd[BLK_MAX_CDB] to unsigned char *cmd.\n\nv1 -\u003e v2: by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\n\n- make sure rq-\u003ecmd_len is always intialized, and then we can use\n  rq-\u003ecmd_len instead of BLK_MAX_CDB.\n\nSigned-off-by: Li Zefan \u003clizf@cn.fujitsu.com\u003e\nAcked-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nCc: Steven Rostedt \u003crostedt@goodmis.org\u003e\nCc: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nLKML-Reference: \u003c49D4507E.2060602@cn.fujitsu.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "8302294f43250dc337108c51882a6007f2b1e2e0",
      "tree": "85acd4440799c46a372df9cad170fa0c21e59096",
      "parents": [
        "4fe70410d9a219dabb47328effccae7e7f2a6e26",
        "2e572895bf3203e881356a4039ab0fa428ed2639"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Apr 01 21:54:19 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Apr 02 00:49:02 2009 +0200"
      },
      "message": "Merge branch \u0027tracing/core-v2\u0027 into tracing-for-linus\n\nConflicts:\n\tinclude/linux/slub_def.h\n\tlib/Kconfig.debug\n\tmm/slob.c\n\tmm/slub.c\n"
    },
    {
      "commit": "65fb0d23fcddd8697c871047b700c78817bdaa43",
      "tree": "119e6e5f276622c4c862f6c9b6d795264ba1603a",
      "parents": [
        "8c083f081d0014057901c68a0a3e0f8ca7ac8d23",
        "dfbbe89e197a77f2c8046a51c74e33e35f878080"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 30 23:53:32 2009 +0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Mar 30 23:53:32 2009 +0200"
      },
      "message": "Merge branch \u0027linus\u0027 into cpumask-for-linus\n\nConflicts:\n\tarch/x86/kernel/cpu/common.c\n"
    },
    {
      "commit": "7c730ccdc1188b97f5c8cb690906242c7ed75c22",
      "tree": "17ccd927e70dadaf59104c53cce892474eb539b2",
      "parents": [
        "8d735b4148d46446e64d72b22ef0344ee8dc02fa",
        "82268da1b130f763d22d04f7d016bbf6fc8815c2"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 28 13:40:20 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 28 13:48:38 2009 -0700"
      },
      "message": "Merge branch \u0027percpu-cpumask-x86-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\n* \u0027percpu-cpumask-x86-for-linus-2\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (682 commits)\n  percpu: fix spurious alignment WARN in legacy SMP percpu allocator\n  percpu: generalize embedding first chunk setup helper\n  percpu: more flexibility for @dyn_size of pcpu_setup_first_chunk()\n  percpu: make x86 addr \u003c-\u003e pcpu ptr conversion macros generic\n  linker script: define __per_cpu_load on all SMP capable archs\n  x86: UV: remove uv_flush_tlb_others() WARN_ON\n  percpu: finer grained locking to break deadlock and allow atomic free\n  percpu: move fully free chunk reclamation into a work\n  percpu: move chunk area map extension out of area allocation\n  percpu: replace pcpu_realloc() with pcpu_mem_alloc() and pcpu_mem_free()\n  x86, percpu: setup reserved percpu area for x86_64\n  percpu, module: implement reserved allocation and use it for module percpu variables\n  percpu: add an indirection ptr for chunk page map access\n  x86: make embedding percpu allocator return excessive free space\n  percpu: use negative for auto for pcpu_setup_first_chunk() arguments\n  percpu: improve first chunk initial area map handling\n  percpu: cosmetic renames in pcpu_setup_first_chunk()\n  percpu: clean up percpu constants\n  x86: un-__init fill_pud/pmd/pte\n  x86: remove vestigial fix_ioremap prototypes\n  ...\n\nManually merge conflicts in arch/ia64/kernel/irq_ia64.c\n"
    },
    {
      "commit": "d54b3538b0bfb31351d02d1669d4a978d2abfc5f",
      "tree": "5ce539ecba525b30bbfb1c46c55487099264947e",
      "parents": [
        "5d80f8e5a9dc9c9a94d4aeaa567e219a808b8a4a",
        "af50bb993dfa673cf21ab812efe620d7e0c36319"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 28 13:30:43 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Mar 28 13:30:43 2009 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (119 commits)\n  [SCSI] scsi_dh_rdac: Retry for NOT_READY check condition\n  [SCSI] mpt2sas: make global symbols unique\n  [SCSI] sd: Make revalidate less chatty\n  [SCSI] sd: Try READ CAPACITY 16 first for SBC-2 devices\n  [SCSI] sd: Refactor sd_read_capacity()\n  [SCSI] mpt2sas v00.100.11.15\n  [SCSI] mpt2sas: add MPT2SAS_MINOR(221) to miscdevice.h\n  [SCSI] ch: Add scsi type modalias\n  [SCSI] 3w-9xxx: add power management support\n  [SCSI] bsg: add linux/types.h include to bsg.h\n  [SCSI] cxgb3i: fix function descriptions\n  [SCSI] libiscsi: fix possbile null ptr session command cleanup\n  [SCSI] iscsi class: remove host no argument from session creation callout\n  [SCSI] libiscsi: pass session failure a session struct\n  [SCSI] iscsi lib: remove qdepth param from iscsi host allocation\n  [SCSI] iscsi lib: have lib create work queue for transmitting IO\n  [SCSI] iscsi class: fix lock dep warning on logout\n  [SCSI] libiscsi: don\u0027t cap queue depth in iscsi modules\n  [SCSI] iscsi_tcp: replace scsi_debug/tcp_debug logging with iscsi conn logging\n  [SCSI] libiscsi_tcp: replace tcp_debug/scsi_debug logging with session/conn logging\n  ...\n"
    },
    {
      "commit": "6e15cf04860074ad032e88c306bea656bbdd0f22",
      "tree": "c346383bb7563e8d66b2f4a502f875b259c34870",
      "parents": [
        "be0ea69674ed95e1e98cb3687a241badc756d228",
        "60db56422043aaa455ac7f858ce23c273220f9d9"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Mar 26 21:39:17 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 27 17:28:43 2009 +0100"
      },
      "message": "Merge branch \u0027core/percpu\u0027 into percpu-cpumask-x86-for-linus-2\n\nConflicts:\n\tarch/parisc/kernel/irq.c\n\tarch/x86/include/asm/fixmap_64.h\n\tarch/x86/include/asm/setup.h\n\tkernel/irq/handle.c\n\nSemantic merge:\n        arch/x86/include/asm/fixmap.h\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "e7cbbf1bf17e3c706f874e867f7b744e1c86fed9",
      "tree": "93076e12227e81f711402641146a4644d31a3c57",
      "parents": [
        "1cd96c242a829d52f7a5ae98f554ca9775429685"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Tue Mar 24 12:37:50 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Mar 26 11:01:25 2009 +0100"
      },
      "message": "bsg: Remove bogus check against request_queue-\u003emax_sectors\n\nbsg submits REQ_TYPE_BLOCK_PC so the right check is max_hw_sectors.\nBut I\u0027ve removed this check because right after, bsg proceeds with\ncalling blk_rq_map_user() which does all the right checks.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "1cd96c242a829d52f7a5ae98f554ca9775429685",
      "tree": "018d3ab9fa0d6e2bcd739483ac2693f6f71db96b",
      "parents": [
        "f028f3b2f987ebc61cef382ab7a5c449917b728e"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Tue Mar 24 12:35:07 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Mar 26 11:01:23 2009 +0100"
      },
      "message": "block: WARN in __blk_put_request() for potential bio leak\n\nPut a WARN_ON in __blk_put_request if it is about to\nleak bio(s). This is a serious bug that can happen in error\nhandling code paths.\n\nFor this to work I have fixed a couple of places in block/ where\nrequest-\u003ebio !\u003d NULL ownership was not honored. And a small cleanup\nat sg_io() while at it.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "05378940caf979a8655c18b18a17213dcfa52412",
      "tree": "b72d29396fd6aa6f4485af638090066c7280325b",
      "parents": [
        "0061d38642244892e17156f005bd7055fe744644"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Tue Mar 24 12:23:40 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Mar 24 12:35:17 2009 +0100"
      },
      "message": "bsg: add support for tail queuing\n\nCurrently inherited from sg.c bsg will submit asynchronous request\n at the head-of-the-queue, (using \"at_head\" set in the call to\n blk_execute_rq_nowait()). This is bad in situation where the queues\n are full, requests will execute out of order, and can cause\n starvation of the first submitted requests.\n\nThe sg_io_v4-\u003eflags member is used and a bit is allocated to denote the\nQ_AT_TAIL. Zero is to queue at_head as before, to be compatible with old\ncode at the write/read path. SG_IO code path behavior was changed so to\nbe the same as write/read behavior. SG_IO was very rarely used and breaking\ncompatibility with it is OK at this stage.\n\nsg_io_hdr at sg.h also has a flags member and uses 3 bits from the first\nnibble and one bit from the last nibble. Even though none of these bits\nare supported by bsg, The second nibble is allocated for use by bsg. Just\nin case.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nCC: Douglas Gilbert \u003cdgilbert@interlog.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "50e174931051bf4849cd7931667bb0a4d681ff60",
      "tree": "1d9bcc2600a83a3dbafe588b946e4abaa9757282",
      "parents": [
        "f3b144aa7f2861e1024682af3bf3dbf1c29184b9"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Mar 06 11:12:17 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Mar 24 12:35:16 2009 +0100"
      },
      "message": "block: get rid of unused blkdev_free_rq() define\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f3b144aa7f2861e1024682af3bf3dbf1c29184b9",
      "tree": "176e652f3340bc2ba199f4848b73dd04f45975d9",
      "parents": [
        "10cbda97e73c7d537d7174eadb2d098484f8f1da"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Mar 06 08:48:33 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Mar 24 12:35:16 2009 +0100"
      },
      "message": "block: remove various blk_queue_*() setting functions in blk_init_queue_node()\n\nIt calls blk_queue_make_request(), which sets the identical set of limits.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "cd80a8142efa3468c2cd9fb52845f334c3220d54",
      "tree": "919e88994bd3c09b34ce852d0a09bb0655d231d0",
      "parents": [
        "641cd4cfcdc71ce01535b31cc4d57d59a1fae1fc",
        "a98fe7f3425c6b4e90de16f8da63b0429a8fed08"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 13 11:05:58 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 13 11:05:58 2009 +0100"
      },
      "message": "Merge branch \u0027x86/core\u0027 into core/ipi\n"
    },
    {
      "commit": "c69fc56de1df5769f2ec69c915c7ad5afe63804c",
      "tree": "18cc8d2ad5d6643edf8b73a3a7d26c55b2125d25",
      "parents": [
        "d95c3578120e5bc4784069439f00ccb1b5f87717"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Mar 13 14:49:46 2009 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Mar 13 14:49:46 2009 +1030"
      },
      "message": "cpumask: use topology_core_cpumask/topology_thread_cpumask instead of cpu_core_map/cpu_sibling_map\n\nImpact: cleanup\n\nThis is presumably what those definitions are for, and while all archs\ndefine cpu_core_map/cpu_sibling map, that\u0027s changing (eg. x86 wants to\nchange it to a pointer).\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\n"
    },
    {
      "commit": "25d500067d5a666d1336598d1b324793554e5496",
      "tree": "3402308c4c69a66d02ce55f5c165e242fad2a8a9",
      "parents": [
        "0b13fda1e0936b3d64c4c407f183d33fa6bd2ad4",
        "9ead64974b05501bbac0d63a47c99fa786d064ba"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 13 02:14:25 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Mar 13 02:14:25 2009 +0100"
      },
      "message": "Merge branch \u0027linus\u0027 into core/ipi\n"
    },
    {
      "commit": "f290f1970f01287eaaffc798a677594a57ebd65e",
      "tree": "534b3ab262c3c791f80c8fd32dee7192395973dc",
      "parents": [
        "97218a1499391b174ea95e05b7a40fbb73e79813"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sun Feb 08 21:59:48 2009 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Thu Mar 12 12:58:13 2009 -0500"
      },
      "message": "[SCSI] Make scsi.h independent of the rest of the scsi includes\n\nThis allows it to compile and be used on the ps3 platform that wants\nto use the #define values in scsi.h without actually having\nCONFIG_SCSI set.\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "12e87e36e0141c08dbc8b2177c93c75fb18ad7e5",
      "tree": "a82ac66b372ddc7ee97fe095222232875b6737d4",
      "parents": [
        "42b40b3d55f5782b00b74d9105c3565fbfa5cb80",
        "c3ffc7a40b7e94b094efe1c8ab4e24370a782b65",
        "7bffc23e56e92c14b787bf4d95249a32085bfed5",
        "7a203f3b089be4410fe065dd9927027eade94557"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 10 09:56:25 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 10 09:56:25 2009 +0100"
      },
      "message": "Merge branches \u0027tracing/doc\u0027, \u0027tracing/ftrace\u0027, \u0027tracing/printk\u0027 and \u0027linus\u0027 into tracing/core\n"
    },
    {
      "commit": "467c88fee51e2ae862e9485245687da0730e29aa",
      "tree": "244aa2469e31cb53d7e04ec0768b506ccad71932",
      "parents": [
        "1f442d70c84aa798e243e721eba728a98434cd86",
        "7ab152470e8416ef2a44c800fdc157e2192f2974",
        "8827247ffcc9e880cbe4705655065cf011265157",
        "d1a8e7792047f7dca7eb5759250e2c12800bf262",
        "0feca851c1b3cb4ebfa3149144b3d5de0879ebaa",
        "d0fc63f7bd07cb779a06dc1cdd0c5a14e7f5d562",
        "7a203f3b089be4410fe065dd9927027eade94557",
        "3a450de1365d20afde406f0d9b2931a5e4a4fd6a"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 10 09:26:38 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Mar 10 09:26:38 2009 +0100"
      },
      "message": "Merge branches \u0027x86/apic\u0027, \u0027x86/asm\u0027, \u0027x86/fixmap\u0027, \u0027x86/memtest\u0027, \u0027x86/mm\u0027, \u0027x86/urgent\u0027, \u0027linus\u0027 and \u0027core/percpu\u0027 into x86/core\n"
    },
    {
      "commit": "59247eaea50cc68cc6ce3d3fd3855f3301b65c96",
      "tree": "76548e4273bb26568810095b14d62a4feaaf86a4",
      "parents": [
        "a3941ec101a5ec54c1e929730afeb196441a171e"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Mar 06 08:55:24 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Mar 06 08:55:24 2009 +0100"
      },
      "message": "block: fix missing bio back/front segment size setting in blk_recount_segments()\n\nCommit 1e42807918d17e8c93bf14fbb74be84b141334c1 introduced a bug where we\ndon\u0027t get front/back segment sizes in the bio in blk_recount_segments().\nFix this by tracking the back bio as well as the front bio in\n__blk_recalc_rq_segments(), this also cleans up the interface by getting\nrid of the segment size pointer passing.\n\nTested-by: Thomas Gleixner \u003ctglx@linutronix.de\u003e\nTested-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "91d75e209bd59695f0708d66964d928d45b3b2f3",
      "tree": "32cab1359d951e4193bebb181a0f0319824a2b95",
      "parents": [
        "9976b39b5031bbf76f715893cf080b6a17683881",
        "8b0e5860cb099d7958d13b00ffbc35ad02735700"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 04 02:29:19 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Mar 04 02:29:19 2009 +0100"
      },
      "message": "Merge branch \u0027x86/core\u0027 into core/percpu\n"
    },
    {
      "commit": "f701d354075914296474d062f18fc8ee681a2318",
      "tree": "4c39db49f4bc9827a1a0dabc6a83fb30bd2c7ac4",
      "parents": [
        "1b49061d400c9e51e3ac2aac026a099fe599b9bb",
        "64e71303e44f3697e4568147caa966de74bdb4fb"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 27 09:04:43 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 27 09:04:43 2009 +0100"
      },
      "message": "Merge branches \u0027tracing/ftrace\u0027 and \u0027linus\u0027 into tracing/core\n"
    },
    {
      "commit": "1e42807918d17e8c93bf14fbb74be84b141334c1",
      "tree": "55b15f0f6b2c666efeb938d064f24fdd268faf40",
      "parents": [
        "5e4c91c84b194b26cf592779e451f4b5be777cba"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Feb 23 09:03:10 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Feb 26 10:45:48 2009 +0100"
      },
      "message": "block: reduce stack footprint of blk_recount_segments()\n\nblk_recalc_rq_segments() requires a request structure passed in, which\nwe don\u0027t have from blk_recount_segments(). So the latter allocates one on\nthe stack, using \u003e 400 bytes of stack for that. This can cause us to spill\nover one page of stack from ext4 at least:\n\n 0)     4560     400   blk_recount_segments+0x43/0x62\n 1)     4160      32   bio_phys_segments+0x1c/0x24\n 2)     4128      32   blk_rq_bio_prep+0x2a/0xf9\n 3)     4096      32   init_request_from_bio+0xf9/0xfe\n 4)     4064     112   __make_request+0x33c/0x3f6\n 5)     3952     144   generic_make_request+0x2d1/0x321\n 6)     3808      64   submit_bio+0xb9/0xc3\n 7)     3744      48   submit_bh+0xea/0x10e\n 8)     3696     368   ext4_mb_init_cache+0x257/0xa6a [ext4]\n 9)     3328     288   ext4_mb_regular_allocator+0x421/0xcd9 [ext4]\n10)     3040     160   ext4_mb_new_blocks+0x211/0x4b4 [ext4]\n11)     2880     336   ext4_ext_get_blocks+0xb61/0xd45 [ext4]\n12)     2544      96   ext4_get_blocks_wrap+0xf2/0x200 [ext4]\n13)     2448      80   ext4_da_get_block_write+0x6e/0x16b [ext4]\n14)     2368     352   mpage_da_map_blocks+0x7e/0x4b3 [ext4]\n15)     2016     352   ext4_da_writepages+0x2ce/0x43c [ext4]\n16)     1664      32   do_writepages+0x2d/0x3c\n17)     1632     144   __writeback_single_inode+0x162/0x2cd\n18)     1488      96   generic_sync_sb_inodes+0x1e3/0x32b\n19)     1392      16   sync_sb_inodes+0xe/0x10\n20)     1376      48   writeback_inodes+0x69/0xb3\n21)     1328     208   balance_dirty_pages_ratelimited_nr+0x187/0x2f9\n22)     1120     224   generic_file_buffered_write+0x1d4/0x2c4\n23)      896     176   __generic_file_aio_write_nolock+0x35f/0x393\n24)      720      80   generic_file_aio_write+0x6c/0xc8\n25)      640      80   ext4_file_write+0xa9/0x137 [ext4]\n26)      560     320   do_sync_write+0xf0/0x137\n27)      240      48   vfs_write+0xb3/0x13c\n28)      192      64   sys_write+0x4c/0x74\n29)      128     128   system_call_fastpath+0x16/0x1b\n\nSplit the segment counting out into a __blk_recalc_rq_segments() helper\nto avoid allocating an onstack request just for checking the physical\nsegment count.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "9e8c0bccdc944bd09361672d47660810c027bcaa",
      "tree": "2974fec8cbfdddc52d0a051b26dadc7898079d14",
      "parents": [
        "b2bf96833c5782befc3e7700f791fde754a47b01"
      ],
      "author": {
        "name": "Márton Németh",
        "email": "nm127@freemail.hu",
        "time": "Fri Feb 20 08:12:51 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Feb 26 10:45:48 2009 +0100"
      },
      "message": "block: add documentation for register_blkdev()\n\nAdd documentation for register_blkdev() function and for the parameters.\n\nSigned-off-by: Márton Németh \u003cnm127@freemail.hu\u003e\nCc: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "6e2756376c706e4da3454a272947983f92e80a7e",
      "tree": "3a54c5dd97921ae869bb6122a69af42d9161ee3e",
      "parents": [
        "8969a5ede0f9e17da4b943712429aef2c9bcd82b"
      ],
      "author": {
        "name": "Peter Zijlstra",
        "email": "a.p.zijlstra@chello.nl",
        "time": "Wed Feb 25 13:59:48 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 25 14:13:44 2009 +0100"
      },
      "message": "generic-ipi: remove CSD_FLAG_WAIT\n\nOleg noticed that we don\u0027t strictly need CSD_FLAG_WAIT, rework\nthe code so that we can use CSD_FLAG_LOCK for both purposes.\n\nSigned-off-by: Peter Zijlstra \u003ca.p.zijlstra@chello.nl\u003e\nCc: Oleg Nesterov \u003coleg@redhat.com\u003e\nCc: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\nCc: Nick Piggin \u003cnpiggin@suse.de\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: \"Paul E. McKenney\" \u003cpaulmck@linux.vnet.ibm.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0edcf8d6926f4038443dbc24e319530177ca0353",
      "tree": "6010af62f73d01ab673d5106f310eaf4f4228e32",
      "parents": [
        "87b203079ed949de52f0d92aeae20e5e0116c12f",
        "40150d37be7f7949b2ec07d511244da856647d84"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 24 21:52:45 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 24 21:52:45 2009 +0100"
      },
      "message": "Merge branch \u0027tj-percpu\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tj/misc into core/percpu\n\nConflicts:\n\tarch/x86/include/asm/pgtable.h\n"
    },
    {
      "commit": "313e458f81ec3852106c5a83830fe0d4f405a71a",
      "tree": "682cd5b6d7dc4e0e9eccdcc7915820dd33c87a34",
      "parents": [
        "b36128c830a8f5bd7d4981f5b0b69950f5928ee6"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Fri Feb 20 16:29:08 2009 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Feb 20 16:29:08 2009 +0900"
      },
      "message": "alloc_percpu: add align argument to __alloc_percpu.\n\nThis prepares for a real __alloc_percpu, by adding an alignment argument.\nOnly one place uses __alloc_percpu directly, and that\u0027s for a string.\n\ntj: af_inet also uses __alloc_percpu(), update it.\n\nSigned-off-by: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nCc: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Jens Axboe \u003caxboe@kernel.dk\u003e\n"
    },
    {
      "commit": "72c26c9a26ea7f2f3d14f162c2ebb07805f724ea",
      "tree": "bf1b4bc0b69f96c79474f9edb9cf0e811c95f2dc",
      "parents": [
        "37bd824a35a60abc73e5fa8816bd5f50c913d69b",
        "ba95fd47d177d46743ad94055908d22840370e06"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 19 09:00:35 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 19 09:00:35 2009 +0100"
      },
      "message": "Merge branch \u0027linus\u0027 into tracing/blktrace\n\nConflicts:\n\tblock/blktrace.c\n\nSemantic merge:\n\tkernel/trace/blktrace.c\n\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "be987fdb55a4726e2fcbab7501f89276bdb57288",
      "tree": "bc92a402a4d710718883e67eeab6e0ced221e7ff",
      "parents": [
        "41b8c853a495438208faa5be03bbb0050859163b"
      ],
      "author": {
        "name": "Hannes Reinecke",
        "email": "hare@suse.de",
        "time": "Wed Feb 18 10:30:15 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Feb 18 10:34:16 2009 +0100"
      },
      "message": "block: fix deadlock in blk_abort_queue() for drivers that readd to timeout list\n\nblk_abort_queue() iterates the timeout list and aborts each request on the\nlist, but if the driver error handling readds a request to the timeout list\nduring this processing, we could be looping forever. Fix this by splicing\ncurrent entries to a local list and run over that list instead.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "41b8c853a495438208faa5be03bbb0050859163b",
      "tree": "912541723b38a52c68c46bdb1de567972e239594",
      "parents": [
        "78f707bfc723552e8309b7c38a8d0cc51012e813"
      ],
      "author": {
        "name": "Neil Brown",
        "email": "neilb@suse.de",
        "time": "Wed Feb 18 10:33:59 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Feb 18 10:33:59 2009 +0100"
      },
      "message": "block: fix booting from partitioned md array\n\nHi Tejun,\n\n it looks like your commit:\n\n   block: don\u0027t depend on consecutive minor space\n   f331c0296f2a9fee0d396a70598b954062603015\n\n broke a particular case for booting from partitioned md/raid devices.\n That is the second time this has been broken recently.  The previous\n time was fixed by\n\n   block: do_mounts - accept root\u003d\u003cnon-existant partition\u003e\n   30f2f0eb4bd2c43d10a8b0d872c6e5ad8f31c9a0\n\n Because the data isn\u0027t available when an md device is first created\n (we add disks and set it up after creation), the initial partition\n scan finds nothing.  It is not until the device is opened that\n another partition scan happens and finds something.\n\n So at the point where the kernel parameter \"root\u003d/dev/md_d0p1\" is\n being parsed, md_d0 exists, but md_d0p1 does not.\n However if we let blk_lookup_devt return the correct device number\n even though the device doesn\u0027t exist, then the attempt to mount it\n will successfully find the partition.\n\n I have tried in the past to find a way to get the partition table to\n be read as soon as the array is assembled but that proved impossible\n (at the time).  I don\u0027t remember the details, and could possibly\n revisit it.  However it would be really nice if blk_lookup_devt\n could be adjusted to again accept non existant partitions.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "93dbb393503d53cd226e5e1f0088fe8f4dbaa2b8",
      "tree": "790365e207951cf6810e8995f3141ddc0b74519b",
      "parents": [
        "c1c201200a359cf3b6e2e36a4236cdca77a3cd8e"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Feb 16 10:25:40 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Feb 18 10:32:00 2009 +0100"
      },
      "message": "block: fix bad definition of BIO_RW_SYNC\n\nWe can\u0027t OR shift values, so get rid of BIO_RW_SYNC and use BIO_RW_SYNCIO\nand BIO_RW_UNPLUG explicitly. This brings back the behaviour from before\n213d9417fec62ef4c3675621b9364a667954d4dd.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c1c201200a359cf3b6e2e36a4236cdca77a3cd8e",
      "tree": "e214a2773f20b814cb8cc8c5509066cd9ec98a1a",
      "parents": [
        "5955c7a2cfb6a35429adea5dc480002b15ca8cfc"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Tue Feb 03 07:47:29 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Feb 18 10:32:00 2009 +0100"
      },
      "message": "bsg: Fix sense buffer bug in SG_IO\n\nWhen submitting requests via SG_IO, which does a sync io, a\nbsg_command is not allocated. So an in-Kernel sense_buffer was not\nset. However when calling blk_execute_rq() with no sense buffer\none is provided from the stack. Now bsg at blk_complete_sgv4_hdr_rq()\nwould check if rq-\u003esense_len and a sense was requested by sg_io_v4\nthe rq-\u003esense was copy_user() back, but by now it is already mangled\nstack memory.\n\nI have fixed that by forcing a sense_buffer when calling bsg_map_hdr().\nThe bsg_command-\u003esense is provided in the write/read path like before,\nand on-the-stack buffer is provided when doing SG_IO.\n\nI have also fixed a dprintk message to print rq-\u003eerrors in hex because\nof the scsi bit-field use of this member. For other block devices it\ndoes not matter anyway.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nAcked-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "2db270a80b8f2238e536876cfb3987af02684df8",
      "tree": "352bf63f9d48cf686a2a36c157707789a29fe7d1",
      "parents": [
        "44b0635481437140b0e29d6023f05e805d5e7620"
      ],
      "author": {
        "name": "Frederic Weisbecker",
        "email": "fweisbec@gmail.com",
        "time": "Sat Feb 07 20:46:45 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Feb 09 10:51:02 2009 +0100"
      },
      "message": "tracing/blktrace: move the tracing file to kernel/trace\n\nImpact: cleanup\n\nMove blktrace.c to kernel/trace, also move its config entry.\n\nSigned-off-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "b6f11df26fdc28324cf9c9e3b77f2dc985c1bb13",
      "tree": "e03b4b8b9dad8a2d3f81574c10aab8fb7a779cbb",
      "parents": [
        "51a763dd84253bab1d0a1e68e11a7753d1b702ca"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Feb 05 18:02:00 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 06 01:01:41 2009 +0100"
      },
      "message": "trace: Call tracing_reset_online_cpus before tracer-\u003einit()\n\nImpact: cleanup\n\nTo make it easy for ftrace plugin writers, as this was open coded in\nthe existing plugins\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nAcked-by: Frédéric Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "51a763dd84253bab1d0a1e68e11a7753d1b702ca",
      "tree": "2cc2cf0509db480391c585786285267e360c1338",
      "parents": [
        "0a9877514c4fed10a70720293b37213dd172ee3e"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Feb 05 16:14:13 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 06 01:01:41 2009 +0100"
      },
      "message": "tracing: Introduce trace_buffer_{lock_reserve,unlock_commit}\n\nImpact: new API\n\nThese new functions do what previously was being open coded, reducing\nthe number of details ftrace plugin writers have to worry about.\n\nIt also standardizes the handling of stacktrace, userstacktrace and\nother trace options we may introduce in the future.\n\nWith this patch, for instance, the blk tracer (and some others already\nin the tree) can use the \"userstacktrace\" /d/tracing/trace_options\nfacility.\n\n$ codiff /tmp/vmlinux.before /tmp/vmlinux.after\nlinux-2.6-tip/kernel/trace/trace.c:\n  trace_vprintk              |   -5\n  trace_graph_return         |  -22\n  trace_graph_entry          |  -26\n  trace_function             |  -45\n  __ftrace_trace_stack       |  -27\n  ftrace_trace_userstack     |  -29\n  tracing_sched_switch_trace |  -66\n  tracing_stop               |   +1\n  trace_seq_to_user          |   -1\n  ftrace_trace_special       |  -63\n  ftrace_special             |   +1\n  tracing_sched_wakeup_trace |  -70\n  tracing_reset_online_cpus  |   -1\n 13 functions changed, 2 bytes added, 355 bytes removed, diff: -353\n\nlinux-2.6-tip/block/blktrace.c:\n  __blk_add_trace |  -58\n 1 function changed, 58 bytes removed, diff: -58\n\nlinux-2.6-tip/kernel/trace/trace.c:\n  trace_buffer_lock_reserve  |  +88\n  trace_buffer_unlock_commit |  +86\n 2 functions changed, 174 bytes added, diff: +174\n\n/tmp/vmlinux.after:\n 16 functions changed, 176 bytes added, 413 bytes removed, diff: -237\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nAcked-by: Frédéric Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "0a9877514c4fed10a70720293b37213dd172ee3e",
      "tree": "7f21548126d448d96116f57f2c7927fa2b2c7ddd",
      "parents": [
        "dac74940289f350c2590bec92737833bad608541"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Feb 05 16:12:56 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Fri Feb 06 01:01:40 2009 +0100"
      },
      "message": "ring_buffer: remove unused flags parameter\n\nImpact: API change, cleanup\n\n\u003eFrom ring_buffer_{lock_reserve,unlock_commit}.\n\n$ codiff /tmp/vmlinux.before /tmp/vmlinux.after\nlinux-2.6-tip/kernel/trace/trace.c:\n  trace_vprintk              |  -14\n  trace_graph_return         |  -14\n  trace_graph_entry          |  -10\n  trace_function             |   -8\n  __ftrace_trace_stack       |   -8\n  ftrace_trace_userstack     |   -8\n  tracing_sched_switch_trace |   -8\n  ftrace_trace_special       |  -12\n  tracing_sched_wakeup_trace |   -8\n 9 functions changed, 90 bytes removed, diff: -90\n\nlinux-2.6-tip/block/blktrace.c:\n  __blk_add_trace |   -1\n 1 function changed, 1 bytes removed, diff: -1\n\n/tmp/vmlinux.after:\n 10 functions changed, 91 bytes removed, diff: -91\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nAcked-by: Frédéric Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "7be421510b91491d5aa5a29fa1005712039b95af",
      "tree": "43c85cd688ea4e33b32816bb3f363215d572f052",
      "parents": [
        "97e5b191ae7dc0f4f5b82b9db29782928b103b4d"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Thu Feb 05 01:13:37 2009 -0500"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 05 14:35:47 2009 +0100"
      },
      "message": "trace: Remove unused trace_array_cpu parameter\n\nImpact: cleanup\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "268ccda0cb4d1292029d07ee3dbd07117baf6ecb",
      "tree": "7683e02758d3f768ad21414abf39b00773e87940",
      "parents": [
        "43769f10b4826376cbf4ce17af74a5b4e8dc4fcd"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Feb 04 20:16:39 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Feb 05 14:35:46 2009 +0100"
      },
      "message": "trace: assign defaults at register_ftrace_event\n\nImpact: simplification of tracers\n\nAs all tracers are doing this we might as well do it in\nregister_ftrace_event and save one branch each time we call these\ncallbacks.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nAcked-by: Steven Rostedt \u003csrostedt@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "ae7462b4f1fe1f36b5d562dbd5202a2eba01f072",
      "tree": "ceb9db3c0e90d4a459dac695ca7b2e2fddf70b32",
      "parents": [
        "d9793bd8018f835c64b10f44e278c86cecb8e932"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Feb 03 22:05:50 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 04 20:48:39 2009 +0100"
      },
      "message": "trace: make the trace_event callbacks return enum print_line_t\n\nAs they actually all return these enumerators.\n\nReported-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "d9793bd8018f835c64b10f44e278c86cecb8e932",
      "tree": "da5ad9bc8f3fc7b4eb4ecd398f7c52a6f112d544",
      "parents": [
        "ce70a0b472e06feae3a580ecb3fbef1e1e020a9b"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Feb 03 20:20:41 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Wed Feb 04 20:48:30 2009 +0100"
      },
      "message": "trace: judicious error checking of trace_seq results\n\nImpact: bugfix and cleanup\n\nSome callsites were returning either TRACE_ITER_PARTIAL_LINE if the\ntrace_seq routines (trace_seq_printf, etc) returned 0 meaning its buffer\nwas full, or zero otherwise.\n\nBut...\n\n/* Return values for print_line callback */\nenum print_line_t {\n        TRACE_TYPE_PARTIAL_LINE \u003d 0,    /* Retry after flushing the seq */\n        TRACE_TYPE_HANDLED      \u003d 1,\n        TRACE_TYPE_UNHANDLED    \u003d 2     /* Relay to other output functions */\n};\n\nIn other cases the return value was not being relayed at all.\n\nMost of the time it didn\u0027t hurt because the page wasn\u0027t get filled, but\nfor correctness sake, handle the return values everywhere.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nAcked-by: Frederic Weisbecker \u003cfweisbec@gmail.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "939b366977d29b5c0d53d1ea3b0b8cefb1e76202",
      "tree": "0fe79dcefcea4a899d8c5df355f2281670fa4398",
      "parents": [
        "08a06b83ff8b2779289f733348c669f31cb65d51"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Tue Feb 03 11:58:29 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 03 16:21:34 2009 +0100"
      },
      "message": "blktrace: fix coding style in recent patches\n\nImpact: cleanup\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "08a06b83ff8b2779289f733348c669f31cb65d51",
      "tree": "c8d5c13361ff9aa8e45cd660fbcad264b8310100",
      "parents": [
        "2c9b238eb325895d3312dad64e2685783575e474"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Feb 02 20:30:40 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 03 14:03:53 2009 +0100"
      },
      "message": "blkftrace: binary tracing, synthesizing old format\n\nImpact: new feature\n\nWith this and a blkrawverify modified not to verify the sequence numbers\nwe can start using the userspace tools to verify that the data produced\nwith the ftrace plugin works as expected.\n\nExample:\n\n[root@f10-1 ~]# echo 1 \u003e /sys/block/sda/sda1/trace/enable\n[root@f10-1 ~]# echo bin \u003e /d/tracing/trace_options\n[root@f10-1 ~]# echo blk \u003e /d/tracing/current_tracer\n[root@f10-1 ~]# cat /d/tracing/trace_pipe \u003e sda1.blktrace.0\n^C\n[root@f10-1 ~]# ./blkrawverify --noseq sda1\nVerifying sda1\n    CPU 0\nWrote output to sda1.verify.out\n[root@f10-1 ~]# cat sda1.verify.out\n\n---------------\nVerifying sda1\n    ---------------------\n    Summary for cpu 0:\n          1349 valid +          0 invalid (100.0%) processed\n\n[root@f10-1 ~]#\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2c9b238eb325895d3312dad64e2685783575e474",
      "tree": "1c64910c6084c53b9d9a458a34568ccb083419e8",
      "parents": [
        "c4a8e8be2d43cc22b371e8e9c05c253409759d94"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Feb 02 20:30:12 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 03 14:03:52 2009 +0100"
      },
      "message": "trace: Change struct trace_event callbacks parameter list\n\nImpact: API change\n\nThe trace_seq and trace_entry are in trace_iterator, where there are\nmore fields that may be needed by tracers, so just pass the\ntracer_iterator as is already the case for struct tracer-\u003eprint_line.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "dc573f9b20c8710105ac35c08ed0fe1da5160ecd",
      "tree": "24db0a0f6364b78f9c74e62541d26155e785b8f9",
      "parents": [
        "b3a8c34886d0e3dd3a24a5b614ee025181da2f41",
        "ecf441b593ac41cb8cd8cd3695110167c42e098c",
        "b1792e367053968f2ddb48bc911d314143ce6242"
      ],
      "author": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 03 06:25:38 2009 +0100"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Feb 03 06:25:38 2009 +0100"
      },
      "message": "Merge branches \u0027tracing/ftrace\u0027, \u0027tracing/kmemtrace\u0027 and \u0027linus\u0027 into tracing/core\n"
    },
    {
      "commit": "fb8ec18c316d869271137c97320dbfd2def56569",
      "tree": "8cf6a84747e10f0cf78a1cb73b1ea69681da0d70",
      "parents": [
        "45c82b5a770be66845687a7d027c8b52946d59af"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Feb 02 08:42:32 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Feb 02 08:42:32 2009 +0100"
      },
      "message": "block: fix oops in blk_queue_io_stat()\n\nSome initial probe requests don\u0027t have disk-\u003equeue mapped yet, so we\ncan\u0027t rely on a non-NULL queue in blk_queue_io_stat(). Wrap it in\nblk_do_io_stat().\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "3a9a3f6cc55418dd1525e636dccbbe13c394f652",
      "tree": "b23c46b8ecec0a338e4e81454e482f7dcd3ded0c",
      "parents": [
        "bc58ba9468d94d62c56ab9b47173583ec140b165"
      ],
      "author": {
        "name": "Divyesh Shah",
        "email": "dpshah@google.com",
        "time": "Fri Jan 30 12:46:41 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jan 30 12:47:33 2009 +0100"
      },
      "message": "cfq-iosched: Allow RT requests to pre-empt ongoing BE timeslice\n\nThis patch adds the ability to pre-empt an ongoing BE timeslice when a RT\nrequest is waiting for the current timeslice to complete. This reduces the\nwait time to disk for RT requests from an upper bound of 4 (current value\nof cfq_quantum) to 1 disk request.\n\nApplied Jens\u0027 suggeested changes to avoid the rb lookup and use !cfq_class_rt()\nand retested.\n\nLatency(secs) for the RT task when doing sequential reads from 10G file.\n                       | only RT | RT + BE | RT + BE + this patch\nsmall (512 byte) reads | 143     | 163     | 145\nlarge (1Mb) reads      | 142     | 158     | 146\n\nSigned-off-by: Divyesh Shah \u003cdpshah@google.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "bc58ba9468d94d62c56ab9b47173583ec140b165",
      "tree": "e31bee7a5001efdd40ed568151d5fdfa8b1a746a",
      "parents": [
        "7598909e3ee2a08726276d6415b69dadb52d0d76"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jan 23 10:54:44 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jan 30 12:34:38 2009 +0100"
      },
      "message": "block: add sysfs file for controlling io stats accounting\n\nThis allows us to turn off disk stat accounting completely, for the cases\nwhere the 0.5-1% reduction in system time is important.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "cec0707e40ae25794b5a2de7b7f03c51961f80d9",
      "tree": "85975a5b68ebf20bdb54b01846484fbc4b2c6455",
      "parents": [
        "dbdac9b71dff5d27885f82eb2cfca310861fdf9e"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 13 15:28:32 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jan 30 12:34:37 2009 +0100"
      },
      "message": "block: silently error an unsupported barrier bio\n\nThis fixes a \"regression\" from 2.6.28, where the barrier probes that file\nsystems may do would trigger additional end request warnings in dmesg.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "dbdac9b71dff5d27885f82eb2cfca310861fdf9e",
      "tree": "0df17847e2bf1335d21f98bd486e054c815bec30",
      "parents": [
        "1dfa17f4ab8543d82caf4d36636b93916a18f456"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jan 13 15:27:32 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jan 30 12:34:37 2009 +0100"
      },
      "message": "block: Fix documentation for blkdev_issue_flush()\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "213d9417fec62ef4c3675621b9364a667954d4dd",
      "tree": "d115a92085288d2d9c2ba0e8cbc573cccdcd8e46",
      "parents": [
        "1308835ffffe6d61ad1f48c5c381c9cc47f683ec"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 06 09:16:05 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jan 30 12:34:37 2009 +0100"
      },
      "message": "block: seperate bio/request unplug and sync bits\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "1308835ffffe6d61ad1f48c5c381c9cc47f683ec",
      "tree": "5430cde36604537fdc3c597f53f65cba990f08fd",
      "parents": [
        "16642eb68216d8e0e136a99e514e9166e7125838"
      ],
      "author": {
        "name": "Bartlomiej Zolnierkiewicz",
        "email": "bzolnier@gmail.com",
        "time": "Wed Jan 07 12:22:39 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jan 30 12:34:37 2009 +0100"
      },
      "message": "block: export SSD/non-rotational queue flag through sysfs\n\nFor some devices (i.e. CFA ATA) we can\u0027t reliably detect whether\nthe device is of rotational or non-rotational type so we need to\nleave the final decision about this setting to the user-space.\n\nAs a bonus do a minor CodingStyle fixup in queue_nomerges_store().\n\nSuggested-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nSigned-off-by: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f48fc4d32e24c0b6a18aad30305d819bcc68c049",
      "tree": "d993ccadfe87a0c481fba7e697107bb5cc701b4a",
      "parents": [
        "322316385dde5cd879e682bcb598c56d0659fb60"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jan 05 10:17:25 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jan 30 12:34:36 2009 +0100"
      },
      "message": "block: get rid of the manual directory counting in blktrace\n\nIt can result in a stuck blktrace system, if --kill is used.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "322316385dde5cd879e682bcb598c56d0659fb60",
      "tree": "3c2ab83c0b409a212e4b72e955df3bfec626b08b",
      "parents": [
        "8ae372e3bb4acaca37ffa2ce54f4cf8dd60a94fa"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Sun Jan 04 02:43:40 2009 -0500"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jan 30 12:34:36 2009 +0100"
      },
      "message": "block: Allow empty integrity profile\n\nAllow a block device to allocate and register an integrity profile\nwithout providing a template.  This allows DM to preallocate a profile\nto avoid deadlocks during table reconfiguration.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "700a3dcb9036d17d3a67d0a7ceee9d4373fbb570",
      "tree": "ff3d7daf41c646c22e2a877a8d97fd466ac3c4fe",
      "parents": [
        "ce181ebeff398e7d1a9c6cb92eb035a6d2d07489"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Wed Jan 28 12:33:56 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Thu Jan 29 14:28:30 2009 +0100"
      },
      "message": "blktrace: Use tracing_reset_online_cpus\n\nImpact: cleanup\n\nUse tracing_reset_online_cpus instead of open coding it.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "32c0bd9624115041cfec31c0436995418083090a",
      "tree": "833dfe1e19338721d1043a2ecfa96a40703c0749",
      "parents": [
        "157f9c00e88529ed84bd7d581a40d411e5414cf0"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Jan 26 16:00:40 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Tue Jan 27 14:30:36 2009 +0100"
      },
      "message": "blktrace: the ftrace interface needs CONFIG_TRACING\n\nImpact: build fix\n\nAlso mention in the help text that blktrace now can be used using\nthe ftrace interface.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "157f9c00e88529ed84bd7d581a40d411e5414cf0",
      "tree": "7d7360cd76c5339c831e0e5ffd3cce5a659a9614",
      "parents": [
        "c71a896154119f4ca9e89d6078f5f63ad60ef199"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Mon Jan 26 15:00:56 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 26 18:30:01 2009 +0100"
      },
      "message": "tracing/blktrace: fix up checkpatch reported problems in ftrace plugin patch\n\nAlso make sure sparse (make C\u003d2 block/blktrace.o) is happy too.\n\nReported-by: Ingo Molnar \u003cmingo@elte.hu\u003e\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "c71a896154119f4ca9e89d6078f5f63ad60ef199",
      "tree": "0018ea80af12d6385fd0aa5295dddefdb284eebe",
      "parents": [
        "9011262a37cb438f0fa9394b5e83840db8f9680a"
      ],
      "author": {
        "name": "Arnaldo Carvalho de Melo",
        "email": "acme@redhat.com",
        "time": "Fri Jan 23 12:06:27 2009 -0200"
      },
      "committer": {
        "name": "Ingo Molnar",
        "email": "mingo@elte.hu",
        "time": "Mon Jan 26 14:40:53 2009 +0100"
      },
      "message": "blktrace: add ftrace plugin\n\nImpact: New way of using the blktrace infrastructure\n\nThis drops the requirement of userspace utilities to use the blktrace\nfacility.\n\nConfiguration is done thru sysfs, adding a \"trace\" directory to the\npartition directory where blktrace can be enabled for the associated\nrequest_queue.\n\nThe same filters present in the IOCTL interface are present as sysfs\ndevice attributes.\n\nThe /sys/block/sdX/sdXN/trace/enable file allows tracing without any\nfilters.\n\nThe other files in this directory: pid, act_mask, start_lba and end_lba\ncan be used with the same meaning as with the IOCTL interface.\n\nUsing the sysfs interface will only setup the request_queue-\u003eblk_trace\nfields, tracing will only take place when the \"blk\" tracer is selected\nvia the ftrace interface, as in the following example:\n\nTo see the trace, one can use the /d/tracing/trace file or the\n/d/tracign/trace_pipe file, with semantics defined in the ftrace\ndocumentation in Documentation/ftrace.txt.\n\n[root@f10-1 ~]# cat /t/trace\n       kjournald-305   [000]  3046.491224:   8,1    A WBS 6367 + 8 \u003c- (8,1) 6304\n       kjournald-305   [000]  3046.491227:   8,1    Q   R 6367 + 8 [kjournald]\n       kjournald-305   [000]  3046.491236:   8,1    G  RB 6367 + 8 [kjournald]\n       kjournald-305   [000]  3046.491239:   8,1    P  NS [kjournald]\n       kjournald-305   [000]  3046.491242:   8,1    I RBS 6367 + 8 [kjournald]\n       kjournald-305   [000]  3046.491251:   8,1    D  WB 6367 + 8 [kjournald]\n       kjournald-305   [000]  3046.491610:   8,1    U  WS [kjournald] 1\n          \u003cidle\u003e-0     [000]  3046.511914:   8,1    C  RS 6367 + 8 [6367]\n[root@f10-1 ~]#\n\nThe default line context (prefix) format is the one described in the ftrace\ndocumentation, with the blktrace specific bits using its existing format,\ndescribed in blkparse(8).\n\nIf one wants to have the classic blktrace formatting, this is possible by\nusing:\n\n[root@f10-1 ~]# echo blk_classic \u003e /t/trace_options\n[root@f10-1 ~]# cat /t/trace\n  8,1    0  3046.491224   305  A WBS 6367 + 8 \u003c- (8,1) 6304\n  8,1    0  3046.491227   305  Q   R 6367 + 8 [kjournald]\n  8,1    0  3046.491236   305  G  RB 6367 + 8 [kjournald]\n  8,1    0  3046.491239   305  P  NS [kjournald]\n  8,1    0  3046.491242   305  I RBS 6367 + 8 [kjournald]\n  8,1    0  3046.491251   305  D  WB 6367 + 8 [kjournald]\n  8,1    0  3046.491610   305  U  WS [kjournald] 1\n  8,1    0  3046.511914     0  C  RS 6367 + 8 [6367]\n[root@f10-1 ~]#\n\nUsing the ftrace standard format allows more flexibility, such\nas the ability of asking for backtraces via trace_options:\n\n[root@f10-1 ~]# echo noblk_classic \u003e /t/trace_options\n[root@f10-1 ~]# echo stacktrace \u003e /t/trace_options\n\n[root@f10-1 ~]# cat /t/trace\n       kjournald-305   [000]  3318.826779:   8,1    A WBS 6375 + 8 \u003c- (8,1) 6312\n       kjournald-305   [000]  3318.826782:\n \u003c\u003d submit_bio\n \u003c\u003d submit_bh\n \u003c\u003d sync_dirty_buffer\n \u003c\u003d journal_commit_transaction\n \u003c\u003d kjournald\n \u003c\u003d kthread\n \u003c\u003d child_rip\n       kjournald-305   [000]  3318.826836:   8,1    Q   R 6375 + 8 [kjournald]\n       kjournald-305   [000]  3318.826837:\n \u003c\u003d generic_make_request\n \u003c\u003d submit_bio\n \u003c\u003d submit_bh\n \u003c\u003d sync_dirty_buffer\n \u003c\u003d journal_commit_transaction\n \u003c\u003d kjournald\n \u003c\u003d kthread\n\nPlease read the ftrace documentation to use aditional, standardized\ntracing filters such as /d/tracing/trace_cpumask, etc.\n\nSee also /d/tracing/trace_mark to add comments in the trace stream,\nthat is equivalent to the /d/block/sdaN/msg interface.\n\nSigned-off-by: Arnaldo Carvalho de Melo \u003cacme@redhat.com\u003e\nSigned-off-by: Ingo Molnar \u003cmingo@elte.hu\u003e\n"
    },
    {
      "commit": "2150edc6c5cf00f7adb54538b9ea2a3e9cedca3f",
      "tree": "f72a0d85e66f500b4cead348a231e3d3b9f357bc",
      "parents": [
        "cd764695b67386a81964f68e9c66efd9f13f4d29",
        "4b905671d2ea09fd48fed72c581df17e40823f39"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 17:14:59 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 17:14:59 2009 -0800"
      },
      "message": "Merge branch \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4\n\n* \u0027for_linus\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tytso/ext4: (57 commits)\n  jbd2: Fix oops in jbd2_journal_init_inode() on corrupted fs\n  ext4: Remove \"extents\" mount option\n  block: Add Kconfig help which notes that ext4 needs CONFIG_LBD\n  ext4: Make printk\u0027s consistently prefixed with \"EXT4-fs: \"\n  ext4: Add sanity checks for the superblock before mounting the filesystem\n  ext4: Add mount option to set kjournald\u0027s I/O priority\n  jbd2: Submit writes to the journal using WRITE_SYNC\n  jbd2: Add pid and journal device name to the \"kjournald2 starting\" message\n  ext4: Add markers for better debuggability\n  ext4: Remove code to create the journal inode\n  ext4: provide function to release metadata pages under memory pressure\n  ext3: provide function to release metadata pages under memory pressure\n  add releasepage hooks to block devices which can be used by file systems\n  ext4: Fix s_dirty_blocks_counter if block allocation failed with nodelalloc\n  ext4: Init the complete page while building buddy cache\n  ext4: Don\u0027t allow new groups to be added during block allocation\n  ext4: mark the blocks/inode bitmap beyond end of group as used\n  ext4: Use new buffer_head flag to check uninit group bitmaps initialization\n  ext4: Fix the race between read_inode_bitmap() and ext4_new_inode()\n  ext4: code cleanup\n  ...\n"
    },
    {
      "commit": "cd764695b67386a81964f68e9c66efd9f13f4d29",
      "tree": "504e961ab6bad164c41f4b9c1ff00c0ce7f645ee",
      "parents": [
        "97d61b8e3aef163a75f80f4762794c154572293d",
        "ffda8c7dc492e2170bb263f7c56f286992ceb54b"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 16:27:31 2009 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jan 08 16:27:31 2009 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (45 commits)\n  [SCSI] qla2xxx: Update version number to 8.03.00-k1.\n  [SCSI] qla2xxx: Add ISP81XX support.\n  [SCSI] qla2xxx: Use proper request/response queues with MQ instantiations.\n  [SCSI] qla2xxx: Correct MQ-chain information retrieval during a firmware dump.\n  [SCSI] qla2xxx: Collapse EFT/FCE copy procedures during a firmware dump.\n  [SCSI] qla2xxx: Don\u0027t pollute kernel logs with ZIO/RIO status messages.\n  [SCSI] qla2xxx: Don\u0027t fallback to interrupt-polling during re-initialization with MSI-X enabled.\n  [SCSI] qla2xxx: Remove support for reading/writing HW-event-log.\n  [SCSI] cxgb3i: add missing include\n  [SCSI] scsi_lib: fix DID_RESET status problems\n  [SCSI] fc transport: restore missing dev_loss_tmo callback to LLDD\n  [SCSI] aha152x_cs: Fix regression that keeps driver from using shared interrupts\n  [SCSI] sd: Correctly handle 6-byte commands with DIX\n  [SCSI] sd: DIF: Fix tagging on platforms with signed char\n  [SCSI] sd: DIF: Show app tag on error\n  [SCSI] Fix error handling for DIF/DIX\n  [SCSI] scsi_lib: don\u0027t decrement busy counters when inserting commands\n  [SCSI] libsas: fix test for negative unsigned and typos\n  [SCSI] a2091, gvp11: kill warn_unused_result warnings\n  [SCSI] fusion: Move a dereference below a NULL test\n  ...\n\nFixed up trivial conflict due to moving the async part of sd_probe\naround in the async probes vs using dev_set_name() in naming.\n"
    },
    {
      "commit": "4d783b093cd4f3e2738527365979cbd1c5101065",
      "tree": "cd8b330894e63fe7e039884f56e3f710b95c5e38",
      "parents": [
        "abda14189251563a50f56da5ea2e37e904ac4cba"
      ],
      "author": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jan 06 15:16:33 2009 -0500"
      },
      "committer": {
        "name": "Theodore Ts\u0027o",
        "email": "tytso@mit.edu",
        "time": "Tue Jan 06 15:16:33 2009 -0500"
      },
      "message": "block: Add Kconfig help which notes that ext4 needs CONFIG_LBD\n\nSigned-off-by: \"Theodore Ts\u0027o\" \u003ctytso@mit.edu\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "3ada8b7e980dac7cc42937d42d90ee51b19204fe",
      "tree": "6c23e272997cd5b68459c5a92a4490504f1c4be7",
      "parents": [
        "4383fc3d9a98759a1ec3c57a30781e95a4cfcfa9"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Tue Jan 06 10:44:43 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 06 10:44:43 2009 -0800"
      },
      "message": "block: struct device - replace bus_id with dev_name(), dev_set_name()\n\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "97ae77a1cd332c7b011d71315c8faabce6840c72",
      "tree": "fc243ca28ea474eaf81729079eeb3b259cd1b81b",
      "parents": [
        "56c451f4b583ccdf80c9e676179c9cb49de86745"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Thu Dec 18 14:49:38 2008 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Jan 02 11:10:35 2009 -0600"
      },
      "message": "[SCSI] block: make blk_rq_map_user take a NULL user-space buffer for WRITE\n\nThe commit 818827669d85b84241696ffef2de485db46b0b5e (block: make\nblk_rq_map_user take a NULL user-space buffer) extended\nblk_rq_map_user to accept a NULL user-space buffer with a READ\ncommand. It was necessary to convert sg to use the block layer mapping\nAPI.\n\nThis patch extends blk_rq_map_user again for a WRITE command. It is\nnecessary to convert st and osst drivers to use the block layer\napping API.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "56c451f4b583ccdf80c9e676179c9cb49de86745",
      "tree": "7ad9daeafb88e3c4390bf7a2db0c203fe2642728",
      "parents": [
        "e623ddb4e940b266adc77ba1cc28a3554aa90e79"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Thu Dec 18 14:49:37 2008 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Jan 02 11:10:08 2009 -0600"
      },
      "message": "[SCSI] block: fix the partial mappings with struct rq_map_data\n\nThis fixes bio_copy_user_iov to properly handle the partial mappings\nwith struct rq_map_data (which only sg uses for now but st and osst\nwill shortly). It adds the offset member to struct rq_map_data and\nchanges blk_rq_map_user to update it so that bio_copy_user_iov can add\nan appropriate page frame via bio_add_pc_page().\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "2ca1a615835d9f4990f42102ab1f2ef434e7e89c",
      "tree": "726cf3d5f29a6c66c44e4bd68e7ebed2fd83d059",
      "parents": [
        "e12f0102ac81d660c9f801d0a0e10ccf4537a9de",
        "6a94cb73064c952255336cc57731904174b2c58f"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Dec 31 23:05:57 2008 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Wed Dec 31 23:05:57 2008 +1030"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n\nConflicts:\n\n\tarch/x86/kernel/io_apic.c\n"
    },
    {
      "commit": "33edcf133ba93ecba2e4b6472e97b689895d805c",
      "tree": "327d7a20acef64005e7c5ccbfa1265be28aeb6ac",
      "parents": [
        "be4d638c1597580ed2294d899d9f1a2cd10e462c",
        "3c92ec8ae91ecf59d88c798301833d7cf83f2179"
      ],
      "author": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Dec 30 08:02:35 2008 +1030"
      },
      "committer": {
        "name": "Rusty Russell",
        "email": "rusty@rustcorp.com.au",
        "time": "Tue Dec 30 08:02:35 2008 +1030"
      },
      "message": "Merge branch \u0027master\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/torvalds/linux-2.6\n"
    },
    {
      "commit": "62c1fe9d9f0a676fce89185b1513f0e5f473c72c",
      "tree": "28085a657fa93ed63b7dda20b5a84885e67d429e",
      "parents": [
        "8ae30b895805a6e2bb725b1d78b12daabd7eadfe"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 15 21:19:25 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:29:52 2008 +0100"
      },
      "message": "cfq-iosched: fix race between exiting queue and exiting task\n\nOriginal patch from Nikanth Karthikesan \u003cknikanth@suse.de\u003e\n\nWhen a queue exits the queue lock is taken and cfq_exit_queue() would free all\nthe cic\u0027s associated with the queue.\n\nBut when a task exits, cfq_exit_io_context() gets cic one by one and then\nlocks the associated queue to call __cfq_exit_single_io_context. It looks like\nbetween getting a cic from the ioc and locking the queue, the queue might have\nexited on another cpu.\n\nFix this by rechecking the cfq_io_context queue key inside the queue lock\nagain, and not calling into __cfq_exit_single_io_context() if somebody\nbeat us to it.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "b3a6ffe16b5cc48abe7db8d04882dc45280eb693",
      "tree": "7bd0860ca93beb9aa8c5cb54a3081617d8d12de9",
      "parents": [
        "3c18ce71af754cefae75103dbae28817e04b2db4"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Dec 12 09:51:16 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:29:51 2008 +0100"
      },
      "message": "Get rid of CONFIG_LSF\n\nWe have two seperate config entries for large devices/files. One\nis CONFIG_LBD that guards just the devices, the other is CONFIG_LSF\nthat handles large files. This doesn\u0027t make a lot of sense, you typically\nwant both or none. So get rid of CONFIG_LSF and change CONFIG_LBD wording\nto indicate that it covers both.\n\nAcked-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "3c18ce71af754cefae75103dbae28817e04b2db4",
      "tree": "74e9ccf6478972c23f63c3304594dccaba7cd35b",
      "parents": [
        "18af8b2ca34b831c32c6fa01e7ce33143c33bb63"
      ],
      "author": {
        "name": "Roel Kluin",
        "email": "roel.kluin@gmail.com",
        "time": "Wed Dec 10 15:47:33 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:29:51 2008 +0100"
      },
      "message": "block: make blk_softirq_init() static\n\nSparse asked whether these could be static.\n\nSigned-off-by: Roel Kluin \u003croel.kluin@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "18af8b2ca34b831c32c6fa01e7ce33143c33bb63",
      "tree": "0feb71c891dea467c88181b1974d15cf58243f9a",
      "parents": [
        "a6f23657d3072bde6844055bbc2290e497f33fbc"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Thu Dec 04 08:56:35 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:29:51 2008 +0100"
      },
      "message": "block: use min_not_zero in blk_queue_stack_limits\n\nzero is invalid for max_phys_segments, max_hw_segments, and\nmax_segment_size. It\u0027s better to use use min_not_zero instead of\nmin. min() works though (because the commit 0e435ac makes sure that\nthese values are set to the default values, non zero, if a queue is\ninitialized properly).\n\nWith this patch, blk_queue_stack_limits does the almost same thing\nthat dm\u0027s combine_restrictions_low() does. I think that it\u0027s easy to\nremove dm\u0027s combine_restrictions_low.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a6f23657d3072bde6844055bbc2290e497f33fbc",
      "tree": "bd96916615d04228cc9492ae198ed5012d5ee86a",
      "parents": [
        "30e0dc28bff9dc456cdfc2aae4aca78b8b1a1cec"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Oct 24 12:52:42 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:29:51 2008 +0100"
      },
      "message": "block: add one-hit cache for disk partition lookup\n\ndisk_map_sector_rcu() returns a partition from a sector offset,\nwhich we use for IO statistics on a per-partition basis. The\nlookup itself is an O(N) list lookup, where N is the number of\npartitions. This actually hurts performance quite a bit, even\non the lower end partitions. On higher numbered partitions,\nit can get pretty bad.\n\nSolve this by adding a one-hit cache for partition lookup.\nThis makes the lookup O(1) for the case where we do most IO to\none partition. Even for mixed partition workloads, amortized cost\nis pretty close to O(1) since the natural IO batching makes the\none-hit cache last for lots of IOs.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "30e0dc28bff9dc456cdfc2aae4aca78b8b1a1cec",
      "tree": "cb72eba9e27bf893928189c832d29e97bbe132ad",
      "parents": [
        "31dcfab0ae6eb0340d456931df4d478e17efc65d"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Oct 20 15:44:28 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:29:51 2008 +0100"
      },
      "message": "cfq-iosched: remove limit of dispatch depth of max 4 times quantum\n\nThis basically limits the hardware queue depth to 4*quantum at any\npoint in time, which is 16 with the default settings. As CFQ uses\nother means to shrink the hardware queue when necessary in the first\nplace, there\u0027s really no need for this extra heuristic. Additionally,\nit ends up hurting performance in some cases.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "b374d18a4bfce705e4a99ae9f501b53e86ecb283",
      "tree": "7e773464725a78e96a2017fa36cf9d4a4e29f73b",
      "parents": [
        "abf137dd7712132ee56d5b3143c2ff61a72a5faa"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Oct 31 10:05:07 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:29:50 2008 +0100"
      },
      "message": "block: get rid of elevator_t typedef\n\nJust use struct elevator_queue everywhere instead.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a31a97381cdf7dceb03b797a8faf9bc8a01c65d1",
      "tree": "268f86dc23b8338396faf5b891af60a7fb23929f",
      "parents": [
        "a185eb4bc84155fff35b602ce99602c010de9634"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Oct 17 13:58:29 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:28:45 2008 +0100"
      },
      "message": "block: don\u0027t use plugging on SSD devices\n\nWe just want to hand the first bits of IO to the device as fast\nas possible. Gains a few percent on the IOPS rate.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a185eb4bc84155fff35b602ce99602c010de9634",
      "tree": "e052052cbac813166b614325b32584d8bb9beff0",
      "parents": [
        "58eea927d2de43dc6f03d1ba2c46e55854b31540"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Nov 28 13:32:07 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:28:45 2008 +0100"
      },
      "message": "block: fix empty barrier on write-through w/ ordered tag\n\nEmpty barrier on write-through (or no cache) w/ ordered tag has no\ncommand to execute and without any command to execute ordered tag is\nnever issued to the device and the ordering is never achieved.  Force\ndraining for such cases.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "58eea927d2de43dc6f03d1ba2c46e55854b31540",
      "tree": "bb43f43891a3154741bb6a116dc2956342160f15",
      "parents": [
        "8f11b3e99a1136fcbb67316c3260f085299c0bff"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Nov 28 13:32:06 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:28:45 2008 +0100"
      },
      "message": "block: simplify empty barrier implementation\n\nEmpty barrier required special handling in __elv_next_request() to\ncomplete it without letting the low level driver see it.\n\nWith previous changes, barrier code is now flexible enough to skip the\nBAR step using the same barrier sequence selection mechanism.  Drop\nthe special handling and mask off q-\u003eordered from start_ordered().\n\nRemove blk_empty_barrier() test which now has no user.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "8f11b3e99a1136fcbb67316c3260f085299c0bff",
      "tree": "bb9b12fe23aceac19e24f674786612d0fcad2142",
      "parents": [
        "f671620e7d895af221bdfeda751d54fa55ed9546"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Nov 28 13:32:05 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:28:45 2008 +0100"
      },
      "message": "block: make barrier completion more robust\n\nBarrier completion had the following assumptions.\n\n* start_ordered() couldn\u0027t finish the whole sequence properly.  If all\n  actions are to be skipped, q-\u003eordseq is set correctly but the actual\n  completion was never triggered thus hanging the barrier request.\n\n* Drain completion in elv_complete_request() assumed that there\u0027s\n  always at least one request in the queue when drain completes.\n\nBoth assumptions are true but these assumptions need to be removed to\nimprove empty barrier implementation.  This patch makes the following\nchanges.\n\n* Make start_ordered() use blk_ordered_complete_seq() to mark skipped\n  steps complete and notify __elv_next_request() that it should fetch\n  the next request if the whole barrier has completed inside\n  start_ordered().\n\n* Make drain completion path in elv_complete_request() check whether\n  the queue is empty.  Empty queue also indicates drain completion.\n\n* While at it, convert 0/1 return from blk_do_ordered() to false/true.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f671620e7d895af221bdfeda751d54fa55ed9546",
      "tree": "beeb843a4a356d94b6b4faec97e078b2a4ad1f09",
      "parents": [
        "a7384677b2f4cd40948fd7ce024ba5e1821444ba"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Nov 28 13:32:04 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:28:45 2008 +0100"
      },
      "message": "block: make every barrier action optional\n\nIn all barrier sequences, the barrier write itself was always assumed\nto be issued and thus didn\u0027t have corresponding control flag.  This\npatch adds QUEUE_ORDERED_DO_BAR and unify action mask handling in\nstart_ordered() such that any barrier action can be skipped.\n\nThis patch doesn\u0027t introduce any visible behavior changes.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a7384677b2f4cd40948fd7ce024ba5e1821444ba",
      "tree": "679af09dde4d2659bc6a7dcd1d3dc34752899fa6",
      "parents": [
        "313e42999dbc0f234ca5909a236f78f082cb43b1"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Nov 28 13:32:03 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:28:44 2008 +0100"
      },
      "message": "block: remove duplicate or unused barrier/discard error paths\n\n* Because barrier mode can be changed dynamically, whether barrier is\n  supported or not can be determined only when actually issuing the\n  barrier and there is no point in checking it earlier.  Drop barrier\n  support check in generic_make_request() and __make_request(), and\n  update comment around the support check in blk_do_ordered().\n\n* There is no reason to check discard support in both\n  generic_make_request() and __make_request().  Drop the check in\n  __make_request().  While at it, move error action block to the end\n  of the function and add unlikely() to q existence test.\n\n* Barrier request, be it empty or not, is never passed to low level\n  driver and thus it\u0027s meaningless to try to copy back req-\u003esector to\n  bio-\u003ebi_sector on error.  In addition, the notion of failed sector\n  doesn\u0027t make any sense for empty barrier to begin with.  Drop the\n  code block from __end_that_request_first().\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "313e42999dbc0f234ca5909a236f78f082cb43b1",
      "tree": "023ac251809e3926ebc6b6c2174d67f8c4ac535f",
      "parents": [
        "ba744d5e290055d171c68067259fcc1e2721f542"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Nov 28 13:32:02 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:28:44 2008 +0100"
      },
      "message": "block: reorganize QUEUE_ORDERED_* constants\n\nSeparate out ordering type (drain,) and action masks (preflush,\npostflush, fua) from visible ordering mode selectors\n(QUEUE_ORDERED_*).  Ordering types are now named QUEUE_ORDERED_BY_*\nwhile action masks are named QUEUE_ORDERED_DO_*.\n\nThis change is necessary to add QUEUE_ORDERED_DO_BAR and make it\noptional to improve empty barrier implementation.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "64d01dc9e1927e6535627d73f2336c75d1dd3fe2",
      "tree": "1813333970f6ed1c1959edfc2842b00ed2b3a70e",
      "parents": [
        "08bafc0341f2f7920e9045bc32c40299cac8c21b"
      ],
      "author": {
        "name": "Cheng Renquan",
        "email": "crquan@gmail.com",
        "time": "Wed Dec 03 12:41:39 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:28:44 2008 +0100"
      },
      "message": "block: use cancel_work_sync() instead of kblockd_flush_work()\n\nAfter many improvements on kblockd_flush_work, it is now identical to\ncancel_work_sync, so a direct call to cancel_work_sync is suggested.\n\nThe only difference is that cancel_work_sync is a GPL symbol,\nso no non-GPL modules anymore.\n\nSigned-off-by: Cheng Renquan \u003ccrquan@gmail.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "08bafc0341f2f7920e9045bc32c40299cac8c21b",
      "tree": "ab4ad0f73f457409239a98c050bf7edd47c03cf1",
      "parents": [
        "7c239517d9f18427fc2e7ed259fb3b866595f5af"
      ],
      "author": {
        "name": "Keith Mannthey",
        "email": "kmannth@us.ibm.com",
        "time": "Tue Nov 25 10:24:35 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:28:44 2008 +0100"
      },
      "message": "block: Supress Buffer I/O errors when SCSI REQ_QUIET flag set\n\nAllow the scsi request REQ_QUIET flag to be propagated to the buffer\nfile system layer. The basic ideas is to pass the flag from the scsi\nrequest to the bio (block IO) and then to the buffer layer.  The buffer\nlayer can then suppress needless printks.\n\nThis patch declutters the kernel log by removed the 40-50 (per lun)\nbuffer io error messages seen during a boot in my multipath setup . It\nis a good chance any real errors will be missed in the \"noise\" it the\nlogs without this patch.\n\nDuring boot I see blocks of messages like\n\"\n__ratelimit: 211 callbacks suppressed\nBuffer I/O error on device sdm, logical block 5242879\nBuffer I/O error on device sdm, logical block 5242879\nBuffer I/O error on device sdm, logical block 5242847\nBuffer I/O error on device sdm, logical block 1\nBuffer I/O error on device sdm, logical block 5242878\nBuffer I/O error on device sdm, logical block 5242879\nBuffer I/O error on device sdm, logical block 5242879\nBuffer I/O error on device sdm, logical block 5242879\nBuffer I/O error on device sdm, logical block 5242879\nBuffer I/O error on device sdm, logical block 5242872\n\"\nin my logs.\n\nMy disk environment is multipath fiber channel using the SCSI_DH_RDAC\ncode and multipathd.  This topology includes an \"active\" and \"ghost\"\npath for each lun. IO\u0027s to the \"ghost\" path will never complete and the\nSCSI layer, via the scsi device handler rdac code, quick returns the IOs\nto theses paths and sets the REQ_QUIET scsi flag to suppress the scsi\nlayer messages.\n\n I am wanting to extend the QUIET behavior to include the buffer file\nsystem layer to deal with these errors as well. I have been running this\npatch for a while now on several boxes without issue.  A few runs of\nbonnie++ show no noticeable difference in performance in my setup.\n\nThanks for John Stultz for the quiet_error finalization.\n\nSubmitted-by:  Keith Mannthey \u003ckmannth@us.ibm.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "7c239517d9f18427fc2e7ed259fb3b866595f5af",
      "tree": "cd2149cc2f2eb0faa83d38fe64e1228f7c703a85",
      "parents": [
        "42364690992e592c05f85c76fda4055820b48c1b"
      ],
      "author": {
        "name": "Wu Fengguang",
        "email": "fengguang.wu@intel.com",
        "time": "Tue Nov 25 09:08:39 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:28:43 2008 +0100"
      },
      "message": "block: don\u0027t take lock on changing ra_pages\n\nThere\u0027s no need to take queue_lock or kernel_lock when modifying\nbdi-\u003era_pages. So remove them. Also remove out of date comment for\nqueue_max_sectors_store().\n\nSigned-off-by: Wu Fengguang \u003cwfg@linux.intel.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c6a06f707cc29ea3a47588e4d2cd0bdcfa311a7d",
      "tree": "6a058cb9ab1703eb329021b586a885d7ac92257a",
      "parents": [
        "8a3173de4ab4cdacc43675dc5c077f9a5bf17f5f"
      ],
      "author": {
        "name": "Qinghuang Feng",
        "email": "qhfeng.kernel@gmail.com",
        "time": "Mon Nov 24 10:43:36 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:28:43 2008 +0100"
      },
      "message": "block/blk-tag.c: cleanup kernel-doc\n\nThere is no argument named @tags in blk_init_tags,\nremove its\u0027 comment.\n\nSigned-off-by: Qinghuang Feng \u003cqhfeng.kernel@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "2b91bafcc0fc545e489e9537a38f487706960ea5",
      "tree": "69ebe2bbfef7f95036fab184ff206208438caf43",
      "parents": [
        "70ed28b92a786f44750ab64117b03d126dd14656"
      ],
      "author": {
        "name": "Milton Miller",
        "email": "miltonm@bga.com",
        "time": "Mon Nov 17 13:10:34 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:28:42 2008 +0100"
      },
      "message": "scsi-ioctl: use clock_t \u003c\u003e jiffies\n\nConvert the timeout ioctl scalling to use the clock_t functions\nwhich are much more accurate with some USER_HZ vs HZ combinations.\n\nSigned-off-by: Milton Miller \u003cmiltonm@bga.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "70ed28b92a786f44750ab64117b03d126dd14656",
      "tree": "03e84c48c262b380fbcccb21f55ff979aaeb4e77",
      "parents": [
        "65d3618ccfe686e8d7b3f01a838d0578182406df"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Nov 19 14:38:39 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:28:42 2008 +0100"
      },
      "message": "block: leave the request timeout timer running even on an empty list\n\nFor sync IO, we\u0027ll often do them serialized. This means we\u0027ll be touching\nthe queue timer for every IO, as opposed to only occasionally like we\ndo for queued IO. Instead of deleting the timer when the last request\nis removed, just let continue running. If a new request comes up soon\nwe then don\u0027t have to readd the timer again. If no new requests arrive,\nthe timer will expire without side effect later.\n\nThis improves high iops sync IO by ~1%.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "65d3618ccfe686e8d7b3f01a838d0578182406df",
      "tree": "0a53a7d3649eb82a8e2af2c9f4e8de2d9b1b6616",
      "parents": [
        "565e411d764eeda006738dfadbccca79d48381e1"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 30 08:53:02 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Dec 29 08:28:42 2008 +0100"
      },
      "message": "block: add comment in blk_rq_timed_out() about why next can not be 0\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    }
  ],
  "next": "565e411d764eeda006738dfadbccca79d48381e1"
}
