)]}'
{
  "log": [
    {
      "commit": "ef5bef357cdf49f3a386c7102dbf3be5f7e5c913",
      "tree": "48d9dc86768e3e146267ea21d0c898f9008275a1",
      "parents": [
        "e26feff647ef34423b048b940540a0059001ddb0",
        "41bfcf90101601f9507240ff0435c1b73d28a132"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 10 10:53:26 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 10 10:53:26 2008 -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: (37 commits)\n  [SCSI] zfcp: fix double dbf id usage\n  [SCSI] zfcp: wait on SCSI work to be finished before proceeding with init dev\n  [SCSI] zfcp: fix erp list usage without using locks\n  [SCSI] zfcp: prevent fc_remote_port_delete calls for unregistered rport\n  [SCSI] zfcp: fix deadlock caused by shared work queue tasks\n  [SCSI] zfcp: put threshold data in hba trace\n  [SCSI] zfcp: Simplify zfcp data structures\n  [SCSI] zfcp: Simplify get_adapter_by_busid\n  [SCSI] zfcp: remove all typedefs and replace them with standards\n  [SCSI] zfcp: attach and release SAN nameserver port on demand\n  [SCSI] zfcp: remove unused references, declarations and flags\n  [SCSI] zfcp: Update message with input from review\n  [SCSI] zfcp: add queue_full sysfs attribute\n  [SCSI] scsi_dh: suppress comparison warning\n  [SCSI] scsi_dh: add Dell product information into rdac device handler\n  [SCSI] qla2xxx: remove the unused SCSI_QLOGIC_FC_FIRMWARE option\n  [SCSI] qla2xxx: fix printk format warnings\n  [SCSI] qla2xxx: Update version number to 8.02.01-k8.\n  [SCSI] qla2xxx: Ignore payload reserved-bits during RSCN processing.\n  [SCSI] qla2xxx: Additional residual-count corrections during UNDERRUN handling.\n  ...\n"
    },
    {
      "commit": "e26feff647ef34423b048b940540a0059001ddb0",
      "tree": "acafe68602ee2f6f1a438c113073ffcc0040e949",
      "parents": [
        "d403a6484f0341bf0624d17ece46f24f741b6a92",
        "b911e473d24633c19414b54b82b9ff0b1a2419d7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 10 10:52:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 10 10:52:45 2008 -0700"
      },
      "message": "Merge branch \u0027for-2.6.28\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.28\u0027 of git://git.kernel.dk/linux-2.6-block: (132 commits)\n  doc/cdrom: Trvial documentation error, file not present\n  block_dev: fix kernel-doc in new functions\n  block: add some comments around the bio read-write flags\n  block: mark bio_split_pool static\n  block: Find bio sector offset given idx and offset\n  block: gendisk integrity wrapper\n  block: Switch blk_integrity_compare from bdev to gendisk\n  block: Fix double put in blk_integrity_unregister\n  block: Introduce integrity data ownership flag\n  block: revert part of d7533ad0e132f92e75c1b2eb7c26387b25a583c1\n  bio.h: Remove unused conditional code\n  block: remove end_{queued|dequeued}_request()\n  block: change elevator to use __blk_end_request()\n  gdrom: change to use __blk_end_request()\n  memstick: change to use __blk_end_request()\n  virtio_blk: change to use __blk_end_request()\n  blktrace: use BLKTRACE_BDEV_SIZE as the name size for setup structure\n  block: add lld busy state exporting interface\n  block: Fix blk_start_queueing() to not kick a stopped queue\n  include blktrace_api.h in headers_install\n  ...\n"
    },
    {
      "commit": "d403a6484f0341bf0624d17ece46f24f741b6a92",
      "tree": "be1c2ec69a3caa9f437e4b87ca9cac80e57fbc4d",
      "parents": [
        "ed458df4d2470adc02762a87a9ad665d0b1a2bd4",
        "e496e3d645c93206faf61ff6005995ebd08cc39c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 10 08:07:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 10 08:28:58 2008 -0700"
      },
      "message": "Merge phase #1 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip\n\nThis merges phase 1 of the x86 tree, which is a collection of branches:\n\n  x86/alternatives, x86/cleanups, x86/commandline, x86/crashdump,\n  x86/debug, x86/defconfig, x86/doc, x86/exports, x86/fpu, x86/gart,\n  x86/idle, x86/mm, x86/mtrr, x86/nmi-watchdog, x86/oprofile,\n  x86/paravirt, x86/reboot, x86/sparse-fixes, x86/tsc, x86/urgent and\n  x86/vmalloc\n\nand as Ingo says: \"these are the easiest, purely independent x86 topics\nwith no conflicts, in one nice Octopus merge\".\n\n* \u0027x86-v28-for-linus-phase1\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/tip/linux-2.6-tip: (147 commits)\n  x86: mtrr_cleanup: treat WRPROT as UNCACHEABLE\n  x86: mtrr_cleanup: first 1M may be covered in var mtrrs\n  x86: mtrr_cleanup: print out correct type v2\n  x86: trivial printk fix in efi.c\n  x86, debug: mtrr_cleanup print out var mtrr before change it\n  x86: mtrr_cleanup try gran_size to less than 1M, v3\n  x86: mtrr_cleanup try gran_size to less than 1M, cleanup\n  x86: change MTRR_SANITIZER to def_bool y\n  x86, debug printouts: IOMMU setup failures should not be KERN_ERR\n  x86: export set_memory_ro and set_memory_rw\n  x86: mtrr_cleanup try gran_size to less than 1M\n  x86: mtrr_cleanup prepare to make gran_size to less 1M\n  x86: mtrr_cleanup safe to get more spare regs now\n  x86_64: be less annoying on boot, v2\n  x86: mtrr_cleanup hole size should be less than half of chunk_size, v2\n  x86: add mtrr_cleanup_debug command line\n  x86: mtrr_cleanup optimization, v2\n  x86: don\u0027t need to go to chunksize to 4G\n  x86_64: be less annoying on boot\n  x86, olpc: fix endian bug in openfirmware workaround\n  ...\n"
    },
    {
      "commit": "ed458df4d2470adc02762a87a9ad665d0b1a2bd4",
      "tree": "7f5a8409b5b1514e05bf54c4c666711131f6de2f",
      "parents": [
        "82219fceeb654789a9dd7cd3c6cce12dbf659342"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 10 08:00:17 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 10 08:00:17 2008 -0700"
      },
      "message": "PnP: move pnpacpi/pnpbios_init to after PCI init\n\nWe already did that a long time ago for pnp_system_init, but\npnpacpi_init and pnpbios_init remained as subsys_initcalls, and get\nlinked into the kernel before the arch-specific routines that finalize\nthe PCI resources (pci_subsys_init).\n\nThis means that the PnP routines would either register their resources\nbefore the PCI layer could, or would be unable to check whether a PCI\nresource had already been registered.  Both are problematic.\n\nI wanted to do this before 2.6.27, but every time we change something\nlike this, something breaks.  That said, _every_ single time we trust\nsome firmware (like PnP tables) more than we trust the hardware itself\n(like PCI probing), the problems have been worse.\n\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "82219fceeb654789a9dd7cd3c6cce12dbf659342",
      "tree": "d00570c185471efd2c53ceae5d6e509db0603cf8",
      "parents": [
        "3fa8749e584b55f1180411ab1b51117190bac1e5",
        "0395e61babd59c749fb5efe112affbfaa7d50eb7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 10 07:46:45 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 10 07:46:45 2008 -0700"
      },
      "message": "Merge branch \u0027upstream-2.6.28\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev\n\n* \u0027upstream-2.6.28\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/jgarzik/libata-dev:\n  ata_piix: IDE Mode SATA patch for Intel Ibex Peak DeviceIDs\n  libata-eh: clear UNIT ATTENTION after reset\n  ata_piix: add Hercules EC-900 mini-notebook to ich_laptop short cable list\n  libata: reorder ata_device to remove 8 bytes of padding on 64 bits\n  [libata] pata_bf54x: Add proper PM operation\n  pata_sil680: convert CONFIG_PPC_MERGE to CONFIG_PPC\n  libata: Implement disk shock protection support\n  [libata] Introduce ata_id_has_unload()\n  PATA: RPC now selects HAVE_PATA_PLATFORM for pata platform driver\n  ata_piix: drop merged SCR access and use slave_link instead\n  libata: implement slave_link\n  libata: misc updates to prepare for slave link\n  libata: reimplement link iterator\n  libata: make SCR access ops per-link\n"
    },
    {
      "commit": "b911e473d24633c19414b54b82b9ff0b1a2419d7",
      "tree": "8242ebab01962326c58c9bb49bd7d791801461fa",
      "parents": [
        "57d1b5366f46fe434e565b710baf683daff78dd8"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Fri Oct 10 08:22:44 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Oct 10 08:22:44 2008 +0200"
      },
      "message": "doc/cdrom: Trvial documentation error, file not present\n\nThe sbpcd tester program is not included in the kernel source tree,\nso remove the reference to it.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nReported-by: Nick Warne \u003cnick@ukfsn.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "3fa8749e584b55f1180411ab1b51117190bac1e5",
      "tree": "a3fc1f3d3ed06cae9b83850bcd9aadb957849f20",
      "parents": [
        "efc968d450e013049a662d22727cf132618dcb2f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 09 15:13:53 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 09 15:13:53 2008 -0700"
      },
      "message": "Linux 2.6.27\n"
    },
    {
      "commit": "efc968d450e013049a662d22727cf132618dcb2f",
      "tree": "22b603182650a341922de5a640d5cceff1107cbc",
      "parents": [
        "07f405541892bd9bab4cca6c12499091ef4dd556"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 09 14:04:54 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 09 14:26:38 2008 -0700"
      },
      "message": "Don\u0027t allow splice() to files opened with O_APPEND\n\nThis is debatable, but while we\u0027re debating it, let\u0027s disallow the\ncombination of splice and an O_APPEND destination.\n\nIt\u0027s not entirely clear what the semantics of O_APPEND should be, and\nPOSIX apparently expects pwrite() to ignore O_APPEND, for example.  So\nwe could make up any semantics we want, including the old ones.\n\nBut Miklos convinced me that we should at least give it some thought,\nand that accepting writes at arbitrary offsets is wrong at least for\nIS_APPEND() files (which always have O_APPEND set, even if the reverse\nisn\u0027t true: you can obviously have O_APPEND set on a regular file).\n\nSo disallow O_APPEND entirely for now.  I doubt anybody cares, and this\nway we have one less gray area to worry about.\n\nReported-and-argued-for-by: Miklos Szeredi \u003cmiklos@szeredi.hu\u003e\nAcked-by: Jens Axboe \u003cens.axboe@oracle.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "07f405541892bd9bab4cca6c12499091ef4dd556",
      "tree": "54f85f9314716275e46882c47cfe75541371bc22",
      "parents": [
        "9283dfed51b223eddf68bdf91c5cddc4a9abbdbe",
        "5e5cddbc3f2936c9fefbae64633c522e242c350d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 09 12:23:54 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 09 12:23:54 2008 -0700"
      },
      "message": "Merge branch \u0027hwmon-for-linus\u0027 of git://jdelvare.pck.nerim.net/jdelvare-2.6\n\n* \u0027hwmon-for-linus\u0027 of git://jdelvare.pck.nerim.net/jdelvare-2.6:\n  hwmon: (abituguru3) Enable DMI probing feature on Abit AT8 32X\n  hwmon: (abituguru3) Enable reading from AUX3 fan on Abit AT8 32X\n  hwmon: (adt7473) Fix some bogosity in documentation file\n  hwmon: Define sysfs interface for energy consumption register\n  hwmon: (it87) Prevent power-off on Shuttle SN68PT\n  eeepc-laptop: Fix hwmon interface\n"
    },
    {
      "commit": "9283dfed51b223eddf68bdf91c5cddc4a9abbdbe",
      "tree": "6575fc65813c5563b6755ff4fa8f3e56c8b4318b",
      "parents": [
        "70096a561d1e09120bae1f293f3632cedbfd5c68",
        "8d5922572038bae9f7b16fcb974eee806727b44c"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 09 12:23:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 09 12:23:35 2008 -0700"
      },
      "message": "Merge branch \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq\n\n* \u0027fixes\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/davej/cpufreq:\n  [CPUFREQ] correct broken links and email addresses\n"
    },
    {
      "commit": "70096a561d1e09120bae1f293f3632cedbfd5c68",
      "tree": "6c5f7474089ceeff06aa515a5b39cb38e7318efe",
      "parents": [
        "69849375d6b13e94d08cdc94b49b11fbab454a0e"
      ],
      "author": {
        "name": "Matt Mackall",
        "email": "mpm@selenic.com",
        "time": "Wed Oct 08 14:51:57 2008 -0500"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Oct 09 12:18:27 2008 -0700"
      },
      "message": "SLOB: fix bogus ksize calculation fix\n\nThis fixes the previous fix, which was completely wrong on closer\ninspection. This version has been manually tested with a user-space\ntest harness and generates sane values. A nearly identical patch has\nbeen boot-tested.\n\nThe problem arose from changing how kmalloc/kfree handled alignment\npadding without updating ksize to match. This brings it in sync.\n\nSigned-off-by: Matt Mackall \u003cmpm@selenic.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "8d5922572038bae9f7b16fcb974eee806727b44c",
      "tree": "d68e7e8887131c387292f2899dc4533014482366",
      "parents": [
        "69849375d6b13e94d08cdc94b49b11fbab454a0e"
      ],
      "author": {
        "name": "Németh Márton",
        "email": "nm127@freemail.hu",
        "time": "Thu Oct 09 14:59:17 2008 +0200"
      },
      "committer": {
        "name": "Dave Jones",
        "email": "davej@redhat.com",
        "time": "Thu Oct 09 13:52:40 2008 -0400"
      },
      "message": "[CPUFREQ] correct broken links and email addresses\n\nReplace the no longer working links and email address in the\ndocumentation and in source code.\n\nSigned-off-by: Márton Németh \u003cnm127@freemail.hu\u003e\nSigned-off-by: Dave Jones \u003cdavej@redhat.com\u003e\n"
    },
    {
      "commit": "5e5cddbc3f2936c9fefbae64633c522e242c350d",
      "tree": "80a5b75204af8ca2053393d8de7036f8f6698c74",
      "parents": [
        "8748a71e8c2d1310b66c2feed1632de8620cd2f1"
      ],
      "author": {
        "name": "Alistair John Strachan",
        "email": "alistair@devzero.co.uk",
        "time": "Thu Oct 09 15:33:59 2008 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@mahadeva.delvare",
        "time": "Thu Oct 09 15:33:59 2008 +0200"
      },
      "message": "hwmon: (abituguru3) Enable DMI probing feature on Abit AT8 32X\n\nEnable driver checking of the DMI product name (when enabled) on\nan Abit AT8 32X, instead of falling back to a manual probe. This\neliminates false negatives and eventually will help avoid\nunnecessary bus probes on unsupported mainboards.\n\nSigned-off-by: Alistair John Strachan \u003calistair@devzero.co.uk\u003e\nTested-by: Daniel Exner \u003cdex@dragonslave.de\u003e\nAcked-by: Hans de Goede \u003chdegoede@redhat.com\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "8748a71e8c2d1310b66c2feed1632de8620cd2f1",
      "tree": "7c45fc5dc4bbeb948f893570512e3ed4cee62238",
      "parents": [
        "c73c556c1ae3619d8a7c55254b0ddcf10034a914"
      ],
      "author": {
        "name": "Alistair John Strachan",
        "email": "alistair@devzero.co.uk",
        "time": "Thu Oct 09 15:33:59 2008 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@mahadeva.delvare",
        "time": "Thu Oct 09 15:33:59 2008 +0200"
      },
      "message": "hwmon: (abituguru3) Enable reading from AUX3 fan on Abit AT8 32X\n\nThe table for the Abit AT8 32X was incorrectly missing an entry\nfor the sixth (\"AUX3\") fan. Add this entry, exporting the fan\nreading to userspace.\n\nCloses lm-sensors.org ticket #2339.\n\nSigned-off-by: Alistair John Strachan \u003calistair@devzero.co.uk\u003e\nTested-by: Daniel Exner \u003cdex@dragonslave.de\u003e\nAcked-by: Hans de Goede \u003chdegoede@redhat.com\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "c73c556c1ae3619d8a7c55254b0ddcf10034a914",
      "tree": "33867a195e504c353be572838e1b637e4b5c91f9",
      "parents": [
        "ddedc658fc56bb5b9b200d7f4df6e93e1d0d8048"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@us.ibm.com",
        "time": "Thu Oct 09 15:33:58 2008 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@mahadeva.delvare",
        "time": "Thu Oct 09 15:33:58 2008 +0200"
      },
      "message": "hwmon: (adt7473) Fix some bogosity in documentation file\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "ddedc658fc56bb5b9b200d7f4df6e93e1d0d8048",
      "tree": "5485cc461e3b57460b411c5d3264b6e63636f67d",
      "parents": [
        "98dd22c3e086d76058083432d4d8fb85f04bab90"
      ],
      "author": {
        "name": "Darrick J. Wong",
        "email": "djwong@us.ibm.com",
        "time": "Thu Oct 09 15:33:58 2008 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@mahadeva.delvare",
        "time": "Thu Oct 09 15:33:58 2008 +0200"
      },
      "message": "hwmon: Define sysfs interface for energy consumption register\n\nDescribe the sysfs files that were introduced in the ibmaem driver.\n\nSigned-off-by: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "98dd22c3e086d76058083432d4d8fb85f04bab90",
      "tree": "9f0c230ead96600d9c21f289c4c41987fd2d901b",
      "parents": [
        "04dcd84bc79d9f756bf5b9fc16c7df3344823ca8"
      ],
      "author": {
        "name": "Jean Delvare",
        "email": "khali@linux-fr.org",
        "time": "Thu Oct 09 15:33:58 2008 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@mahadeva.delvare",
        "time": "Thu Oct 09 15:33:58 2008 +0200"
      },
      "message": "hwmon: (it87) Prevent power-off on Shuttle SN68PT\n\nOn the Shuttle SN68PT, FAN_CTL2 is apparently not connected to a fan,\nbut to something else. One user has reported instant system power-off\nwhen changing the PWM2 duty cycle, so we disable it.\n\nI use the board name string as the trigger in case the same board is\never used in other systems.\n\nThis closes lm-sensors ticket #2349:\npwmconfig causes a hard poweroff\nhttp://www.lm-sensors.org/ticket/2349\n\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "04dcd84bc79d9f756bf5b9fc16c7df3344823ca8",
      "tree": "816a307993e7d2b516e907eb87b4396768f0d8f9",
      "parents": [
        "69849375d6b13e94d08cdc94b49b11fbab454a0e"
      ],
      "author": {
        "name": "Corentin Chary",
        "email": "corentincj@iksaif.net",
        "time": "Thu Oct 09 15:33:57 2008 +0200"
      },
      "committer": {
        "name": "Jean Delvare",
        "email": "khali@mahadeva.delvare",
        "time": "Thu Oct 09 15:33:57 2008 +0200"
      },
      "message": "eeepc-laptop: Fix hwmon interface\n\nCreates a name file in the sysfs directory, that\nis needed for the libsensors library to work.\nAlso rename fan1_pwm to pwm1 and scale its value as needed.\n\nThis fixes bug #11520:\nhttp://bugzilla.kernel.org/show_bug.cgi?id\u003d11520\n\nSigned-off-by: Corentin Chary \u003ccorentincj@iksaif.net\u003e\nSigned-off-by: Jean Delvare \u003ckhali@linux-fr.org\u003e\n"
    },
    {
      "commit": "57d1b5366f46fe434e565b710baf683daff78dd8",
      "tree": "7ecd8eb272850247000a824f1b3e65b7e8e453fa",
      "parents": [
        "af5639424008ffe96f89b059bea1aec15e0115a9"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Thu Oct 09 10:42:38 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 10:42:38 2008 +0200"
      },
      "message": "block_dev: fix kernel-doc in new functions\n\nFix kernel-doc in new functions:\n\nError(mmotm-2008-1002-1617//fs/block_dev.c:895): duplicate section name \u0027Description\u0027\nError(mmotm-2008-1002-1617//fs/block_dev.c:924): duplicate section name \u0027Description\u0027\nWarning(mmotm-2008-1002-1617//fs/block_dev.c:1282): No description found for parameter \u0027pathname\u0027\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\ncc: Andrew Patterson \u003candrew.patterson@hp.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "af5639424008ffe96f89b059bea1aec15e0115a9",
      "tree": "5055712fa33e4878c97ff240d7755c6413627baf",
      "parents": [
        "6feef531f55cf4a20fd9eb39f5352e5745203603"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 09:01:10 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 09:01:10 2008 +0200"
      },
      "message": "block: add some comments around the bio read-write flags\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "6feef531f55cf4a20fd9eb39f5352e5745203603",
      "tree": "2c52b800edcbdf01abefcf27e900985c087f1b36",
      "parents": [
        "ad3316bf4eeb53c89164f759767f911072b56203"
      ],
      "author": {
        "name": "Denis ChengRq",
        "email": "crquan@gmail.com",
        "time": "Thu Oct 09 08:57:05 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:57:05 2008 +0200"
      },
      "message": "block: mark bio_split_pool static\n\nSince all bio_split calls refer the same single bio_split_pool, the bio_split\nfunction can use bio_split_pool directly instead of the mempool_t parameter;\n\nthen the mempool_t parameter can be removed from bio_split param list, and\nbio_split_pool is only referred in fs/bio.c file, can be marked static.\n\nSigned-off-by: Denis ChengRq \u003ccrquan@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ad3316bf4eeb53c89164f759767f911072b56203",
      "tree": "12caa0194f385c58e4543ad864a58dff02f33a47",
      "parents": [
        "b02739b01c5309d74a59859f2ce92c931d1f1955"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Wed Oct 01 22:42:53 2008 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:22 2008 +0200"
      },
      "message": "block: Find bio sector offset given idx and offset\n\nHelper function to find the sector offset in a bio given bvec index\nand page offset.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "b02739b01c5309d74a59859f2ce92c931d1f1955",
      "tree": "d435454dba5ebb10233069f9f4547df3a140ef28",
      "parents": [
        "ad7fce93147d32ae53d25d9ea1a8ba31a239deee"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Thu Oct 02 18:47:49 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:22 2008 +0200"
      },
      "message": "block: gendisk integrity wrapper\n\nThis is a wrapper for accessing a gendisk\u0027s integrity bits.  It allows\nthe integrity support in MD to be compiled with BLK_DEV_INTEGRITY off.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ad7fce93147d32ae53d25d9ea1a8ba31a239deee",
      "tree": "baa8c613c1d34ec247f13b860c3bf7671b07f586",
      "parents": [
        "0c032ab889e7b20b8a5a7d09313e4aca214a15f7"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Wed Oct 01 03:38:39 2008 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:21 2008 +0200"
      },
      "message": "block: Switch blk_integrity_compare from bdev to gendisk\n\nThe DM and MD integrity support now depends on being able to use\ngendisks instead of block_devices when comparing integrity profiles.\nChange function parameters accordingly.\n\nAlso update comparison logic so that two NULL profiles are a valid\nconfiguration.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "0c032ab889e7b20b8a5a7d09313e4aca214a15f7",
      "tree": "921d41ff5a31f9b538b43bea6fb56a6e2467530d",
      "parents": [
        "74aa8c2cc010035a7eef2b4ca4d6430e0dae206a"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Wed Oct 01 03:38:38 2008 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:21 2008 +0200"
      },
      "message": "block: Fix double put in blk_integrity_unregister\n\n- kobject_del already puts the parent.\n\n - Set integrity profile to NULL to prevent stale data.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "74aa8c2cc010035a7eef2b4ca4d6430e0dae206a",
      "tree": "4a1c84cd687343028d21288ccd70036fa4d4a89a",
      "parents": [
        "b04accc425d52ca59699290661e0dfd09b0feeeb"
      ],
      "author": {
        "name": "Martin K. Petersen",
        "email": "martin.petersen@oracle.com",
        "time": "Wed Oct 01 03:38:37 2008 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:21 2008 +0200"
      },
      "message": "block: Introduce integrity data ownership flag\n\nA filesystem might supply its own integrity metadata.  Introduce a\nflag that indicates whether the filesystem or the block layer owns the\nintegrity buffer.\n\nSigned-off-by: Martin K. Petersen \u003cmartin.petersen@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "b04accc425d52ca59699290661e0dfd09b0feeeb",
      "tree": "2d30e03b384e9a6c990006c4c68176b56fd53fbe",
      "parents": [
        "8deaf7210728c453295dc1cb2a5b66c68183ac85"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 02 12:53:22 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:21 2008 +0200"
      },
      "message": "block: revert part of d7533ad0e132f92e75c1b2eb7c26387b25a583c1\n\nWe need bdev_get_integrity() to support the pending md/dm patches.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "8deaf7210728c453295dc1cb2a5b66c68183ac85",
      "tree": "bb4bead2773c733e5164a44b784c9601b458821d",
      "parents": [
        "d00e29fd99dd63d1c51917604e35dee824ed567f"
      ],
      "author": {
        "name": "Alberto Bertogli",
        "email": "albertito@blitiri.com.ar",
        "time": "Thu Oct 02 12:46:53 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:21 2008 +0200"
      },
      "message": "bio.h: Remove unused conditional code\n\nThe whole bio_integrity() definition is inside an #ifdef\nCONFIG_BLK_DEV_INTEGRITY, there\u0027s no need for the conditional code.\n\nSigned-off-by: Alberto Bertogli \u003calbertito@blitiri.com.ar\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "d00e29fd99dd63d1c51917604e35dee824ed567f",
      "tree": "461c725d7ffaf2d5a69bc854ca4aa9977f530ea2",
      "parents": [
        "99cd3386f290eaf61f2b7596d5a4cc2007771174"
      ],
      "author": {
        "name": "Kiyoshi Ueda",
        "email": "k-ueda@ct.jp.nec.com",
        "time": "Wed Oct 01 10:14:46 2008 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:21 2008 +0200"
      },
      "message": "block: remove end_{queued|dequeued}_request()\n\nThis patch removes end_queued_request() and end_dequeued_request(),\nwhich are no longer used.\n\nAs a results, users of __end_request() became only end_request().\nSo the actual code in __end_request() is moved to end_request()\nand __end_request() is removed.\n\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "99cd3386f290eaf61f2b7596d5a4cc2007771174",
      "tree": "90f93246c060a33b90d0ef3d98f327768f167909",
      "parents": [
        "7afb3a6e752503d5ebeb038336aa0fa886a51b44"
      ],
      "author": {
        "name": "Kiyoshi Ueda",
        "email": "k-ueda@ct.jp.nec.com",
        "time": "Wed Oct 01 10:13:44 2008 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:21 2008 +0200"
      },
      "message": "block: change elevator to use __blk_end_request()\n\nThis patch converts elevator to use __blk_end_request() directly\nso that end_{queued|dequeued}_request() can be removed.\nRelated \u0027uptodate\u0027 arguments is converted to \u0027error\u0027.\n\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "7afb3a6e752503d5ebeb038336aa0fa886a51b44",
      "tree": "e2797bd14291211e364adf255e50e8b5e4f3bc7b",
      "parents": [
        "2a9df5055a99df25533daf4041fdb99f0ed3463c"
      ],
      "author": {
        "name": "Kiyoshi Ueda",
        "email": "k-ueda@ct.jp.nec.com",
        "time": "Wed Oct 01 10:13:02 2008 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:21 2008 +0200"
      },
      "message": "gdrom: change to use __blk_end_request()\n\nThis patch converts gdrom to use __blk_end_request() directly\nso that end_{queued|dequeued}_request() can be removed.\n\ngd.transfer is \u00271\u0027 in error cases and \u00270\u0027 in non-error cases,\nso gdrom hasn\u0027t been propagating any error code to the block layer.\nWe can just convert error cases to \u0027-EIO\u0027.\n\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nCc: Adrian McMenamin \u003cadrian@mcmen.demon.co.uk\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "2a9df5055a99df25533daf4041fdb99f0ed3463c",
      "tree": "48a62d02ee13c12fdbf99e3de0a8bbcbc23bc4c2",
      "parents": [
        "8316982ac06d7d8875dc8738efbb030791dc33bb"
      ],
      "author": {
        "name": "Kiyoshi Ueda",
        "email": "k-ueda@ct.jp.nec.com",
        "time": "Wed Oct 01 10:12:15 2008 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:20 2008 +0200"
      },
      "message": "memstick: change to use __blk_end_request()\n\nThis patch converts memstick to use __blk_end_request() directly\nso that end_{queued|dequeued}_request() can be removed.\n\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nCc: Alex Dubov \u003coakad@yahoo.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "8316982ac06d7d8875dc8738efbb030791dc33bb",
      "tree": "418ba7251e267f0a06d2e6bd8bb9783b12580bae",
      "parents": [
        "0497b345e7d067109e0dd9bf9f4978a6847ee13b"
      ],
      "author": {
        "name": "Kiyoshi Ueda",
        "email": "k-ueda@ct.jp.nec.com",
        "time": "Wed Oct 01 10:11:20 2008 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:20 2008 +0200"
      },
      "message": "virtio_blk: change to use __blk_end_request()\n\nThis patch converts virtio_blk to use __blk_end_request() directly\nso that end_{queued|dequeued}_request() can be removed.\nRelated \u0027uptodate\u0027 argument is converted to \u0027error\u0027.\n\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nCc: Rusty Russell \u003crusty@rustcorp.com.au\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "0497b345e7d067109e0dd9bf9f4978a6847ee13b",
      "tree": "8c181a200c9e883a9c85169dff887bfb9109ee5e",
      "parents": [
        "ef9e3facdf1fe1228721a7c295a76d1b7a0e57ec"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Oct 01 16:16:25 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:20 2008 +0200"
      },
      "message": "blktrace: use BLKTRACE_BDEV_SIZE as the name size for setup structure\n\nDefine as 32, which is is what BDEVNAME_SIZE is/was as well. This keeps\nthe user interface the same and gets rid of the difference between\nkernel and user api here.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ef9e3facdf1fe1228721a7c295a76d1b7a0e57ec",
      "tree": "33847b1e267895ea58c2399c06cdd23365c7dc73",
      "parents": [
        "336c3d8ce771608815b65bcfa27a17a83b297328"
      ],
      "author": {
        "name": "Kiyoshi Ueda",
        "email": "k-ueda@ct.jp.nec.com",
        "time": "Wed Oct 01 16:12:15 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:20 2008 +0200"
      },
      "message": "block: add lld busy state exporting interface\n\nThis patch adds an new interface, blk_lld_busy(), to check lld\u0027s\nbusy state from the block layer.\nblk_lld_busy() calls down into low-level drivers for the checking\nif the drivers set q-\u003elld_busy_fn() using blk_queue_lld_busy().\n\nThis resolves a performance problem on request stacking devices below.\n\nSome drivers like scsi mid layer stop dispatching request when\nthey detect busy state on its low-level device like host/target/device.\nIt allows other requests to stay in the I/O scheduler\u0027s queue\nfor a chance of merging.\n\nRequest stacking drivers like request-based dm should follow\nthe same logic.\nHowever, there is no generic interface for the stacked device\nto check if the underlying device(s) are busy.\nIf the request stacking driver dispatches and submits requests to\nthe busy underlying device, the requests will stay in\nthe underlying device\u0027s queue without a chance of merging.\nThis causes performance problem on burst I/O load.\n\nWith this patch, busy state of the underlying device is exported\nvia q-\u003elld_busy_fn().  So the request stacking driver can check it\nand stop dispatching requests if busy.\n\nThe underlying device driver must return the busy state appropriately:\n    1: when the device driver can\u0027t process requests immediately.\n    0: when the device driver can process requests immediately,\n       including abnormal situations where the device driver needs\n       to kill all requests.\n\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nCc: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "336c3d8ce771608815b65bcfa27a17a83b297328",
      "tree": "91841449cf24ee051ff1daefcb60a8fbefe2522a",
      "parents": [
        "c0ddffa84a7d12da9943a94d04dadbfb1883b904"
      ],
      "author": {
        "name": "Elias Oltmanns",
        "email": "eo@nebensachen.de",
        "time": "Wed Oct 01 16:02:33 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:20 2008 +0200"
      },
      "message": "block: Fix blk_start_queueing() to not kick a stopped queue\n\nblk_start_queueing() should act like the generic queue unplugging\nand kicking and ignore a stopped queue. Such a queue may not be\nrun until after a call to blk_start_queue().\n\nSigned-off-by: Elias Oltmanns \u003ceo@nebensachen.de\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c0ddffa84a7d12da9943a94d04dadbfb1883b904",
      "tree": "3598e05a07650383a5949debb977b2c0ad5cb522",
      "parents": [
        "e3ba9ae58a5599226e3976b29c8093041ae7c332"
      ],
      "author": {
        "name": "Sven Schuetz",
        "email": "sven@linux.vnet.ibm.com",
        "time": "Fri Sep 26 10:58:02 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:19 2008 +0200"
      },
      "message": "include blktrace_api.h in headers_install\n\nThis header file is of interest for user space programming, i.e.\nfor tools that process blktrace data.\n\nWe would like to use it for a tool on-top of blktrace which processes\ndata provided by blktrace. For this purpose, it would be helpful\nif the blktrace API would make it to /usr/include/linux.\n\nThe git tree for the blktrace tools comes with its own copy of this header\nfile. I didn\u0027t manage to replace that copy with the file generated\nby the patch below yet. A few more cleanups would be needed.\nFor example, the blktrace ioctl numbers, which are currently defined in\nusr/include/fs.h, might need to be moved. Should be feasible, though.\n\nSigned-off-by: Sven Schuetz \u003csven@linux.vnet.ibm.com\u003e\nSigned-off-by: Martin Peschke \u003cmp3@de.ibm.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e3ba9ae58a5599226e3976b29c8093041ae7c332",
      "tree": "5e8a7c0c1b675e19fa6209489479fe9b799a1b3e",
      "parents": [
        "f7d7b7a7a3db6526a84ea755c1c54a051e9a52de"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Sep 25 11:42:41 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:19 2008 +0200"
      },
      "message": "block: reserve some tags just for sync IO\n\nBy only allowing async IO to consume 3/4 ths of the tag depth, we\nalways have slots free to serve sync IO. This is important to avoid\nhaving writes fill the entire tag queue, thus starving reads.\n\nOriginal patch and idea from Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f7d7b7a7a3db6526a84ea755c1c54a051e9a52de",
      "tree": "4d02c3abfca1c6175527473dff12769b09b630bb",
      "parents": [
        "8bff7c6b0f63c7ee9c5e3a076338d74125b8debb"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Sep 25 11:37:50 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:19 2008 +0200"
      },
      "message": "block: as/cfq ssd idle check update\n\nWe really need to know about the hardware tagging support as well,\nsince if the SSD does not do tagging then we still want to idle.\nOtherwise have the same dependent sync IO vs flooding async IO\nproblem as on rotational media.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "8bff7c6b0f63c7ee9c5e3a076338d74125b8debb",
      "tree": "0863c7e0d09592ee9f4d568625348ef12e4a30df",
      "parents": [
        "a68bbddba486020c9c74825ce90c4c1ec463e0e8"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Sep 24 13:05:10 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:19 2008 +0200"
      },
      "message": "libata: set queue SSD flag for SSD devices\n\nSSD devices should give an RPM setting of 1 in word 217 of the ID\npage. If we see such a device, tell the block layer about it.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a68bbddba486020c9c74825ce90c4c1ec463e0e8",
      "tree": "ce0acea1e609185968310316d3d1ac6f730db983",
      "parents": [
        "9e49184c82e9ec3ab4d45f9ea5a17ccaf43869f0"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Sep 24 13:03:33 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:19 2008 +0200"
      },
      "message": "block: add queue flag for SSD/non-rotational devices\n\nWe don\u0027t want to idle in AS/CFQ if the device doesn\u0027t have a seek\npenalty. So add a QUEUE_FLAG_NONROT to indicate a non-rotational\ndevice, low level drivers should set this flag upon discovery of\nan SSD or similar device type.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "9e49184c82e9ec3ab4d45f9ea5a17ccaf43869f0",
      "tree": "532d70e75854e1f7c070d4818f3b44cefe528d3e",
      "parents": [
        "061837bc8687edc2739ef02f721b7ae0b8076390"
      ],
      "author": {
        "name": "Keith Wansbrough",
        "email": "keith@lochan.org",
        "time": "Mon Sep 22 14:57:17 2008 -0700"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:19 2008 +0200"
      },
      "message": "floppy: support arbitrary first-sector numbers\n\nThe current floppy_struct allows floppies to number sectors starting\nfrom 0 or 1.  This patch allows arbitrary first-sector numbers - for\nexample, 0xC1 for Amstrad CPC disks.\n\nThis extends the existing 1-bit field (FD_ZEROBASED, bit 2 of stretch)\nto 8 bits (FD_SECTMASK, bits 2 to 9).\n\nCurrently 0x00 denotes a first sector number of 1, and 0x01 denotes a\nfirst sector number of 0.  We extend this by interpreting FD_SECTMASK\nas the first sector number with the LSB flipped.\n\nSigned-off-by: Keith Wansbrough \u003ckeith@lochan.org\u003e\nCc: Alain Knaff \u003calain@linux.lu\u003e\nCc: Michael Kerrisk \u003cmtk.manpages@googlemail.com\u003e\nCc: Karel Zak \u003ckzak@redhat.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "061837bc8687edc2739ef02f721b7ae0b8076390",
      "tree": "e1c59ea7212949a91b2cf19ed125c0db24052b29",
      "parents": [
        "905bd78f2188da69e74966918e3d71df3dff382b"
      ],
      "author": {
        "name": "Julia Lawall",
        "email": "julia@diku.dk",
        "time": "Mon Sep 22 14:57:16 2008 -0700"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:19 2008 +0200"
      },
      "message": "drivers/block: Use DIV_ROUND_UP\n\nThe kernel.h macro DIV_ROUND_UP performs the computation (((n) + (d) - 1) /\n(d)) but is perhaps more readable.\n\nAn extract of the semantic patch that makes this change is as follows:\n(http://www.emn.fr/x-info/coccinelle/)\n\n// \u003csmpl\u003e\n@haskernel@\n@@\n\n#include \u003clinux/kernel.h\u003e\n\n@depends on haskernel@\nexpression n,d;\n@@\n\n(\n- (n + d - 1) / d\n+ DIV_ROUND_UP(n,d)\n|\n- (n + (d - 1)) / d\n+ DIV_ROUND_UP(n,d)\n)\n\n@depends on haskernel@\nexpression n,d;\n@@\n\n- DIV_ROUND_UP((n),d)\n+ DIV_ROUND_UP(n,d)\n\n@depends on haskernel@\nexpression n,d;\n@@\n\n- DIV_ROUND_UP(n,(d))\n+ DIV_ROUND_UP(n,d)\n// \u003c/smpl\u003e\n\nSigned-off-by: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: \u003cmike.miller@hp.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "905bd78f2188da69e74966918e3d71df3dff382b",
      "tree": "bfe96fedd70cf56a9a7c1585bc7f5965c3fb47e3",
      "parents": [
        "79eb014578b79fcfb9d9e7dc979d1316079220aa"
      ],
      "author": {
        "name": "scameron@beardog.cca.cpqcorp.net",
        "email": "scameron@beardog.cca.cpqcorp.net",
        "time": "Fri Sep 19 18:27:47 2008 -0700"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:18 2008 +0200"
      },
      "message": "cciss: Fix cciss SCSI rescan code to better notice device changes\n\nFix cciss SCSI rescan code to better notice device changes.\nIf you hot-unplug a tape drive, then hot-plug a different\ntape drive into the same slot in a storage enclosure,\nthe cciss driver wouldn\u0027t notice anything had changed, as\nit was only looking at the LUN address and device type.\nNow it looks at the inquiry page 0x83 device identifier,\nand vendor and model strings as well.\n\nSigned-off-by: Stephen M. Cameron \u003cscameron@beardog.cca.cpqcorp.net\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "79eb014578b79fcfb9d9e7dc979d1316079220aa",
      "tree": "7e6101ba2cc0d105a877df432af17650bf082387",
      "parents": [
        "4ee5eaf4516a60f8ef64d3c246c64c6be0cf8c3a"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Thu Sep 18 09:35:28 2008 -0700"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:18 2008 +0200"
      },
      "message": "fix an example of scatterlists handling in DMA-API.txt\n\nThis example isn\u0027t the proper way to handle scatterlists (can\u0027t handle\nsg chaining).\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": "4ee5eaf4516a60f8ef64d3c246c64c6be0cf8c3a",
      "tree": "3097d305534cd3a0fbfcca31ab5f4079b90e0fc3",
      "parents": [
        "82124d60354846623a4b94af335717a5e142a074"
      ],
      "author": {
        "name": "Kiyoshi Ueda",
        "email": "k-ueda@ct.jp.nec.com",
        "time": "Thu Sep 18 10:46:13 2008 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:18 2008 +0200"
      },
      "message": "block: add a queue flag for request stacking support\n\nThis patch adds a queue flag to indicate the block device can be\nused for request stacking.\n\nRequest stacking drivers need to stack their devices on top of\nonly devices of which q-\u003erequest_fn is functional.\nSince bio stacking drivers (e.g. md, loop) basically initialize\ntheir queue using blk_alloc_queue() and don\u0027t set q-\u003erequest_fn,\nthe check of (q-\u003erequest_fn \u003d\u003d NULL) looks enough for that purpose.\n\nHowever, dm will become both types of stacking driver (bio-based and\nrequest-based).  And dm will always set q-\u003erequest_fn even if the dm\ndevice is bio-based of which q-\u003erequest_fn is not functional actually.\nSo we need something else to distinguish the type of the device.\nAdding a queue flag is a solution for that.\n\nThe reason why dm always sets q-\u003erequest_fn is to keep\nthe compatibility of dm user-space tools.\nCurrently, all dm user-space tools are using bio-based dm without\nspecifying the type of the dm device they use.\nTo use request-based dm without changing such tools, the kernel\nmust decide the type of the dm device automatically.\nThe automatic type decision can\u0027t be done at the device creation time\nand needs to be deferred until such tools load a mapping table,\nsince the actual type is decided by dm target type included in\nthe mapping table.\n\nSo a dm device has to be initialized using blk_init_queue()\nso that we can load either type of table.\nThen, all queue stuffs are set (e.g. q-\u003erequest_fn) and we have\nno element to distinguish that it is bio-based or request-based,\neven after a table is loaded and the type of the device is decided.\n\nBy the way, some stuffs of the queue (e.g. request_list, elevator)\nare needless when the dm device is used as bio-based.\nBut the memory size is not so large (about 20[KB] per queue on ia64),\nso I hope the memory loss can be acceptable for bio-based dm users.\n\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "82124d60354846623a4b94af335717a5e142a074",
      "tree": "af7b98d5ef57483cfac53cc4866194391c3ff7b7",
      "parents": [
        "32fab448e5e86694beade415e750363538ea5f49"
      ],
      "author": {
        "name": "Kiyoshi Ueda",
        "email": "k-ueda@ct.jp.nec.com",
        "time": "Thu Sep 18 10:45:38 2008 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:18 2008 +0200"
      },
      "message": "block: add request submission interface\n\nThis patch adds blk_insert_cloned_request(), a generic request\nsubmission interface for request stacking drivers.\nRequest-based dm will use it to submit their clones to underlying\ndevices.\n\nblk_rq_check_limits() is also added because it is possible that\nthe lower queue has stronger limitations than the upper queue\nif multiple drivers are stacking at request-level.\nNot only for blk_insert_cloned_request()\u0027s internal use, the function\nwill be used by request-based dm when the queue limitation is\nmodified (e.g. by replacing dm\u0027s table).\n\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "32fab448e5e86694beade415e750363538ea5f49",
      "tree": "6eab6189afba893c302fa6acca1a89406fd620c6",
      "parents": [
        "e3335de94067dbebe22e3962632ead34e832cb60"
      ],
      "author": {
        "name": "Kiyoshi Ueda",
        "email": "k-ueda@ct.jp.nec.com",
        "time": "Thu Sep 18 10:45:09 2008 -0400"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:18 2008 +0200"
      },
      "message": "block: add request update interface\n\nThis patch adds blk_update_request(), which updates struct request\nwith completing its data part, but doesn\u0027t complete the struct\nrequest itself.\nThough it looks like end_that_request_first() of older kernels,\nblk_update_request() should be used only by request stacking drivers.\n\nRequest-based dm will use it in bio-\u003ebi_end_io callback to update\nthe original request when a data part of a cloned request completes.\nFollowings are additional background information of why request-based\ndm needs this interface.\n\n  - Request stacking drivers can\u0027t use blk_end_request() directly from\n    the lower driver\u0027s completion context (bio-\u003ebi_end_io or rq-\u003eend_io),\n    because some device drivers (e.g. ide) may try to complete\n    their request with queue lock held, and it may cause deadlock.\n    See below for detailed description of possible deadlock:\n    \u003chttp://marc.info/?l\u003dlinux-kernel\u0026m\u003d120311479108569\u0026w\u003d2\u003e\n\n  - To solve that, request-based dm offloads the completion of\n    cloned struct request to softirq context (i.e. using\n    blk_complete_request() from rq-\u003eend_io).\n\n  - Though it is possible to use the same solution from bio-\u003ebi_end_io,\n    it will delay the notification of bio completion to the original\n    submitter.  Also, it will cause inefficient partial completion,\n    because the lower driver can\u0027t perform the cloned request anymore\n    and request-based dm needs to requeue and redispatch it to\n    the lower driver again later.  That\u0027s not good.\n\n  - So request-based dm needs blk_update_request() to perform the bio\n    completion in the lower driver\u0027s completion context, which is more\n    efficient.\n\nSigned-off-by: Kiyoshi Ueda \u003ck-ueda@ct.jp.nec.com\u003e\nSigned-off-by: Jun\u0027ichi Nomura \u003cj-nomura@ce.jp.nec.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e3335de94067dbebe22e3962632ead34e832cb60",
      "tree": "93d88fd70ce8af33d9444e9af91a4e0635a64c96",
      "parents": [
        "9246b5f06deeea541e7c62437c2ad19a0b1172c0"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Sep 18 09:22:54 2008 -0700"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:18 2008 +0200"
      },
      "message": "block: blk_cleanup_queue() should call blk_sync_queue()\n\nWhen a driver calls blk_cleanup_queue(), the device should be fully idle.\nHowever, the block layer may have pending plugging timers and the IO\nschedulers may have pending work in the work queues. So quisce the device\nby waiting for the timer and flushing the work queues.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "9246b5f06deeea541e7c62437c2ad19a0b1172c0",
      "tree": "b7af564d1e32ce4eceba6f6a438256d6c3ca77fd",
      "parents": [
        "9c02f2b02e29a2244e36c6e1f246080d8afc6cff"
      ],
      "author": {
        "name": "Chris Lalancette",
        "email": "clalance@redhat.com",
        "time": "Wed Sep 17 14:30:32 2008 -0700"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:18 2008 +0200"
      },
      "message": "block: Expand Xen blkfront for \u003e 16 xvd\n\nUntil recently, the maximum number of xvd block devices you could attach\nto a Xen domU was 16. This limitation turned out to be problematic for\nsome users, so it was expanded to handle a much larger number of disks.\nHowever, this requires a couple of changes in the way that blkfront\nscans for disks. This functionality is already present in the Xen\nlinux-2.6.18-xen.hg tree; the attached patch adds this functionality to\nthe mainline xen-blkfront implementation. I successfully tested it on a\n2.6.25 tree, and build tested it on 2.6.27-rc3.\n\nSigned-off-by: Chris Lalancette \u003cclalance@redhat.com\u003e\nAcked-by: Jeremy Fitzhardinge \u003cjeremy@goop.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "9c02f2b02e29a2244e36c6e1f246080d8afc6cff",
      "tree": "d917ffa2e6ea5a75d180b72cc16e786da6a4b437",
      "parents": [
        "7ba1fbaa4a478f72fbaf5a56af9c82a77966b4c7"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Sep 18 09:31:53 2008 -0700"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:17 2008 +0200"
      },
      "message": "block: cleanup some of the integrity stuff in blkdev.h\n\nDon\u0027t put functions that are only used in fs/bio-integrity.c in\nblkdev.h, it\u0027s much cleaner to just keep it in there. Also kill\ncompletely unused bdev_get_tag_size()\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "7ba1fbaa4a478f72fbaf5a56af9c82a77966b4c7",
      "tree": "275c1d86386d7db9fa75840363230098ca6bddd3",
      "parents": [
        "581d4e28d9195aa8b2231383dbabc288988d615e"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Sep 16 09:54:11 2008 -0700"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:17 2008 +0200"
      },
      "message": "block: use rq complete marking in blk_abort_request()\n\nWe cannot abort a request if we raced with the timeout handler already,\nor with the IO completion. So make blk_abort_request() mark the request\nas complete, and only continue if we succeeded.\n\nFound and suggested by Mike Anderson \u003candmike@linux.vnet.ibm.com\u003e\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "581d4e28d9195aa8b2231383dbabc288988d615e",
      "tree": "093bcac9a538ef67edcf91826f7532bdb88e6248",
      "parents": [
        "0a0d96b03a1f3bfd6bc3ea08008699e8e59fccd9"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sun Sep 14 05:56:33 2008 -0700"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:17 2008 +0200"
      },
      "message": "block: add fault injection mechanism for faking request timeouts\n\nOnly works for the generic request timer handling. Allows one to\nsporadically ignore request completions, thus exercising the timeout\nhandling.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "0a0d96b03a1f3bfd6bc3ea08008699e8e59fccd9",
      "tree": "59cbbcb691a76121fba8d7af74d89558296d5834",
      "parents": [
        "3e6053d76dcbd92b2f9f4ad5ece9bce83149523e"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Sep 11 13:17:37 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:17 2008 +0200"
      },
      "message": "block: add bio_kmalloc()\n\nNot all callers need (or want!) the mempool backing guarentee, it\nessentially means that you can only use bio_alloc() for short allocations\nand not for preallocating some bio\u0027s at setup or init time.\n\nSo add bio_kmalloc() which does the same thing as bio_alloc(), except\nit just uses kmalloc() as the backing instead of the bio mempools.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "3e6053d76dcbd92b2f9f4ad5ece9bce83149523e",
      "tree": "0e7ab62872071c39e2475decb769b9715de75376",
      "parents": [
        "4677735f03f5b6b6f2182f457a921855cadfb85b"
      ],
      "author": {
        "name": "Hugh Dickins",
        "email": "hugh@veritas.com",
        "time": "Thu Sep 11 10:57:55 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:17 2008 +0200"
      },
      "message": "block: adjust blkdev_issue_discard for swap\n\nTwo mods to blkdev_issue_discard(), thinking ahead to its use on swap:\n\n1. Add gfp_mask argument, so swap allocation can use it where GFP_KERNEL\n   might deadlock but GFP_NOIO is safe.\n\n2. Enlarge nr_sects argument from unsigned to sector_t: unsigned long is\n   enough to cover a whole swap area, but sector_t suits any partition.\n\nChange sb_issue_discard()\u0027s nr_blocks to sector_t too; but no need seen\nfor a gfp_mask there, just pass GFP_KERNEL down to blkdev_issue_discard().\n\nSigned-off-by: Hugh Dickins \u003chugh@veritas.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "4677735f03f5b6b6f2182f457a921855cadfb85b",
      "tree": "a5fc6c16ccb0a2050ea714f93f1ad79a8d1f9689",
      "parents": [
        "0b6cb26c6686f1f24607c41f0a6d21ce54191710"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Sep 02 22:50:08 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:16 2008 +0200"
      },
      "message": "sg: remove unnecessary blk_rq_unmap_user\n\nblk_rq_unmap_user in sg_finish_rem_req can take care of all the cases.\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": "0b6cb26c6686f1f24607c41f0a6d21ce54191710",
      "tree": "9b941224d5d2782e484c00e27e74aa2c2436e928",
      "parents": [
        "c3919af2354fff673026dcbeac6f009d2ce5ceee"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Sep 02 22:50:07 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:15 2008 +0200"
      },
      "message": "sg: remove sg_read_xfer\n\nsg_read_xfer was used to copy data to user space for READ\ncommands. blk_rq_unmap_user does the job so sg_read_xfer does nothing\nuseful.\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": "c3919af2354fff673026dcbeac6f009d2ce5ceee",
      "tree": "8504a35a3a247ec2a40578754aff2f3128294749",
      "parents": [
        "626710c9d665ff381c7ec666b6a023f064ca5fef"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Sep 02 22:50:06 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:14 2008 +0200"
      },
      "message": "sg: remove sg_write_xfer\n\nsg_write_xfer was used to copy data from user space for WRITE\ncommands. blk_rq_map_user_iov and blk_rq_map_user do the job so\nsg_write_xfer does nothing useful.\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": "626710c9d665ff381c7ec666b6a023f064ca5fef",
      "tree": "011b7b58f3a5868439eab36fd3b3e90952ccbef0",
      "parents": [
        "44c7b0eaa041007066e30ab4869d5bbf8dad5989"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Sep 02 22:50:05 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:14 2008 +0200"
      },
      "message": "sg: incorporate sg_build_direct into sg_start_req\n\nCalling blk_rq_map_user() at a single place is better than at\ndifferent two places. It makes the code more understandable.\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": "44c7b0eaa041007066e30ab4869d5bbf8dad5989",
      "tree": "4c127ab80d271c86c38ea3a382667e88f00b83ca",
      "parents": [
        "fd1c1de0766844af4cfc39298e109ad273e72a9e"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Sep 02 22:50:04 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:14 2008 +0200"
      },
      "message": "sg: remove __sg_start_req\n\n__sg_start_req() was used temporarily to call blk_get_request() during\nconverting sg to use the block layer.\n\nNow sg always calls blk_get_request() so we can move blk_get_request()\nto sg_start_req(). We don\u0027t need __sg_start_req anymore.\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": "fd1c1de0766844af4cfc39298e109ad273e72a9e",
      "tree": "ae4d03b3898a2ea65f99868660993b28b64a1542",
      "parents": [
        "7e56cb0f7e7a132803ffefa0a5a15fb2079afaf1"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Sep 02 22:50:03 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:14 2008 +0200"
      },
      "message": "sg: remove b_malloc_len in sg_scatter_hold struct\n\nIt\u0027s not used for anything useful after the block layer conversion.\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": "7e56cb0f7e7a132803ffefa0a5a15fb2079afaf1",
      "tree": "3747a89cca01a9ed95345981a194ee8802972df1",
      "parents": [
        "a91a3a20e06621b9931793888583efe37db4e4e8"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Sep 02 22:50:02 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:14 2008 +0200"
      },
      "message": "sg: remove SG_ALLOW_DIO_CODE define\n\nsg had lots of the own functions for the direct IO but now sg uses the\nblock layer functions for it. There are only five lines for the direct\nIO. SG_ALLOW_DIO_CODE define was used to compile out the direct IO\ncode but we don\u0027t need the define. If someone wants to remove the\ndirect IO code, he can do easily without the define.\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": "a91a3a20e06621b9931793888583efe37db4e4e8",
      "tree": "af515f0e87c438218e224e959692dbe3879248fb",
      "parents": [
        "224cb3e981f1b2f9f93dbd49eaef505d17d894c2"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Sep 02 22:50:01 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:14 2008 +0200"
      },
      "message": "sg: rename sg_cmd_done sg_rq_end_io\n\nold sg_rq_end_io() was used to wrap sg_cmd_done during converting sg\nto use the block layer (in order to cover the difference\nscsi_execute_async and blk_execute_rq_nowait). Now we don\u0027t need it so\nlet\u0027s remove it.\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": "224cb3e981f1b2f9f93dbd49eaef505d17d894c2",
      "tree": "41f2201e228a1cdb46430779deeaa474cedab7ed",
      "parents": [
        "11914a53d2ec2974a565311af327b8983d8c820d"
      ],
      "author": {
        "name": "Mike Anderson",
        "email": "andmike@linux.vnet.ibm.com",
        "time": "Fri Aug 29 09:36:09 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:14 2008 +0200"
      },
      "message": "dm: Call blk_abort_queue on failed paths\n\nSigned-off-by: Mike Anderson \u003candmike@linux.vnet.ibm.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "11914a53d2ec2974a565311af327b8983d8c820d",
      "tree": "72713d2661ed56fa5d9e29203541bad32c88a3ba",
      "parents": [
        "242f9dcb8ba6f68fcd217a119a7648a4f69290e9"
      ],
      "author": {
        "name": "Mike Anderson",
        "email": "andmike@linux.vnet.ibm.com",
        "time": "Sat Sep 13 20:31:27 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:13 2008 +0200"
      },
      "message": "block: Add interface to abort queued requests\n\nSigned-off-by: Mike Anderson \u003candmike@linux.vnet.ibm.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "242f9dcb8ba6f68fcd217a119a7648a4f69290e9",
      "tree": "1bfe245ffbc50d204d76665cd8f90d85100f86a1",
      "parents": [
        "608aeef17a91747d6303de4df5e2c2e6899a95e8"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sun Sep 14 05:55:09 2008 -0700"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:13 2008 +0200"
      },
      "message": "block: unify request timeout handling\n\nRight now SCSI and others do their own command timeout handling.\nMove those bits to the block layer.\n\nInstead of having a timer per command, we try to be a bit more clever\nand simply have one per-queue. This avoids the overhead of having to\ntear down and setup a timer for each command, so it will result in a lot\nless timer fiddling.\n\nSigned-off-by: Mike Anderson \u003candmike@linux.vnet.ibm.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "608aeef17a91747d6303de4df5e2c2e6899a95e8",
      "tree": "deafb5e779f8ed43ecfd5396681cc9b18b3223c7",
      "parents": [
        "56ade44b46780fa291fa68b824f1dafdcb11b0ca"
      ],
      "author": {
        "name": "Andrew Patterson",
        "email": "andrew.patterson@hp.com",
        "time": "Thu Sep 04 14:27:45 2008 -0600"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:13 2008 +0200"
      },
      "message": "Call flush_disk() after detecting an online resize.\n\nWe call flush_disk() to make sure the buffer cache for the disk is\nflushed after a disk resize. There are two resize cases, growing and\nshrinking. Given that users can shrink/then grow a disk before\nrevalidate_disk() is called, we treat the grow case identically to\nshrinking. We need to flush the buffer cache after an online shrink\nbecause, as James Bottomley puts it,\n\n     The two use cases for shrinking I can see are\n\n     1. planned: the fs is already shrunk to within the new boundaries\n        and all data is relocated, so invalidate is fine (any dirty\n        buffers that might exist in the shrunk region are there only\n        because they were relocated but not yet written to their\n        original location).\n     2. unplanned:  In this case, the fs is probably toast, so whether\n        we invalidate or not isn\u0027t going to make a whole lot of\n        difference; it\u0027s still going to try to read or write from\n        sectors beyond the new size and get I/O errors.\n\nImmediately invalidating shrunk disks will cause errors for outstanding\nI/Os for reads/write beyond the new end of the disk to be generated\nearlier then if we waited for the normal buffer cache operation. It also\nremoves a potential security hole where we might keep old data around\nfrom beyond the end of the shrunk disk if the disk was not invalidated.\n\nSigned-off-by: Andrew Patterson \u003candrew.patterson@hp.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "56ade44b46780fa291fa68b824f1dafdcb11b0ca",
      "tree": "2232dc9a9e6b080428e4e6e0a32bcc7c83cc1731",
      "parents": [
        "f98a8cae12f2b2a8f9bfd7a53c990a1a405e880e"
      ],
      "author": {
        "name": "Andrew Patterson",
        "email": "andrew.patterson@hp.com",
        "time": "Thu Sep 04 14:27:40 2008 -0600"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:13 2008 +0200"
      },
      "message": "Added flush_disk to factor out common buffer cache flushing code.\n\nWe need to be able to flush the buffer cache for for more than\njust when a disk is changed, so we factor out common cache flush code\nin check_disk_change() to an internal flush_disk() routine.  This\nroutine will then be used for both disk changes and disk resizes (in a\nlater patch).\n\nInclude the disk name in the text indicating that there are busy\ninodes on the device and increase the KERN severity of the message.\n\nSigned-off-by: Andrew Patterson \u003candrew.patterson@hp.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "f98a8cae12f2b2a8f9bfd7a53c990a1a405e880e",
      "tree": "3fcfd762a5841b8cbc5ab0987da8da3ee37a9201",
      "parents": [
        "9bc3ffbfbdf71fefda8a261ef8d6fdc388a29b42"
      ],
      "author": {
        "name": "Andrew Patterson",
        "email": "andrew.patterson@hp.com",
        "time": "Thu Sep 04 14:27:35 2008 -0600"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:13 2008 +0200"
      },
      "message": "SCSI sd driver calls revalidate_disk wrapper.\n\nModify the SCSI disk driver to call the revalidate_disk()\nwrapper. This allows us to do some housekeeping such as accounting for\na disk being resized online. The wrapper will call\nsd_revalidate_disk() at the appropriate time.\n\nSigned-off-by: Andrew Patterson \u003candrew.patterson@hp.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "9bc3ffbfbdf71fefda8a261ef8d6fdc388a29b42",
      "tree": "c6f4ffdb3351a379fc5aee8fd6f91ba6caee83d0",
      "parents": [
        "c3279d1454cdfed02a557d789d8a6d08ab4cbe70"
      ],
      "author": {
        "name": "Andrew Patterson",
        "email": "andrew.patterson@hp.com",
        "time": "Thu Sep 04 14:27:30 2008 -0600"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:12 2008 +0200"
      },
      "message": "Check for device resize when rescanning partitions\n\nCheck for device resize in the rescan_partitions() routine. If the device\nhas been resized, the bdev size is set to match. The rescan_partitions()\nroutine is called when opening the device and when calling the\nBLKRRPART ioctl.\n\nSigned-off-by: Andrew Patterson \u003candrew.patterson@hp.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c3279d1454cdfed02a557d789d8a6d08ab4cbe70",
      "tree": "2591c7c0886f9b6b63aa40e3ef3caa984370c38b",
      "parents": [
        "0c002c2f74e10baa9021d3ecc50585c6eafea568"
      ],
      "author": {
        "name": "Andrew Patterson",
        "email": "andrew.patterson@hp.com",
        "time": "Thu Sep 04 14:27:25 2008 -0600"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:12 2008 +0200"
      },
      "message": "Adjust block device size after an online resize of a disk.\n\nThe revalidate_disk routine now checks if a disk has been resized by\ncomparing the gendisk capacity to the bdev inode size.  If they are\ndifferent (usually because the disk has been resized underneath the kernel)\nthe bdev inode size is adjusted to match the capacity.\n\nSigned-off-by: Andrew Patterson \u003candrew.patterson@hp.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "0c002c2f74e10baa9021d3ecc50585c6eafea568",
      "tree": "c7d29fe0968b852f798f78bbd9231df155c56180",
      "parents": [
        "243294dae09c909c0442c8f04d470b69c3c19d6e"
      ],
      "author": {
        "name": "Andrew Patterson",
        "email": "andrew.patterson@hp.com",
        "time": "Thu Sep 04 14:27:20 2008 -0600"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:12 2008 +0200"
      },
      "message": "Wrapper for lower-level revalidate_disk routines.\n\nThis is a wrapper for the lower-level revalidate_disk call-backs such\nas sd_revalidate_disk(). It allows us to perform pre and post\noperations when calling them.\n\nWe will use this wrapper in a later patch to adjust block device sizes\nafter an online resize (a _post_ operation).\n\nSigned-off-by: Andrew Patterson \u003candrew.patterson@hp.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "243294dae09c909c0442c8f04d470b69c3c19d6e",
      "tree": "b6178beadd19247b81d2b09e063e856943c83177",
      "parents": [
        "fad7f01e61bf737fe8a3740d803f000db57ecac6"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu Sep 04 09:17:31 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:12 2008 +0200"
      },
      "message": "block: fix duplicate headers for /proc/partitions\n\nseqf can be started multiple times for a read and the header should be\nprinted only for the initial one.  Fix it.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "fad7f01e61bf737fe8a3740d803f000db57ecac6",
      "tree": "d72959e6b5043bf3436f122ebcddb0c8f41d1acf",
      "parents": [
        "818827669d85b84241696ffef2de485db46b0b5e"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Sep 02 16:20:20 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:12 2008 +0200"
      },
      "message": "sg: set dxferp to NULL for READ with the older SG interface\n\nWith the older SG interface, we don\u0027t know a user-space address to\ntrasfer data when executing a SCSI command. So we can\u0027t pass a\nuser-space address to blk_rq_map_user.\n\nThis patch fixes sg to pass a NULL user-space address to\nblk_rq_map_user so that it just sets up a request and bios with page\nframes propely without data transfer.\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": "818827669d85b84241696ffef2de485db46b0b5e",
      "tree": "694d09728733e65d604bf3e1f13679db73fc1d9a",
      "parents": [
        "839e96afba87117befd39cf4e43f156edc8047a7"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Sep 02 16:20:19 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:11 2008 +0200"
      },
      "message": "block: make blk_rq_map_user take a NULL user-space buffer\n\nThis patch changes blk_rq_map_user to accept a NULL user-space buffer\nwith a READ command if rq_map_data is not NULL. Thus a caller can pass\npage frames to lk_rq_map_user to just set up a request and bios with\npage frames propely. bio_uncopy_user (called via blk_rq_unmap_user)\ndoesn\u0027t copy data to user space with such request.\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": "839e96afba87117befd39cf4e43f156edc8047a7",
      "tree": "ae091a3a8ed386e080cd18569abc4335c1adde84",
      "parents": [
        "55dc7db70a73a3809a2334063c9b5b0d8ccebdaa"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Sep 02 09:25:21 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:11 2008 +0200"
      },
      "message": "block: update comment on end_request()\n\nIt refers to functions that no longer exist after the IO completion\nchanges.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "55dc7db70a73a3809a2334063c9b5b0d8ccebdaa",
      "tree": "e0e52ad2a0e6d3142945346f5acd7979c2b10e8d",
      "parents": [
        "2bbedcb4c1abac498f18e5770d62ae66ff235ada"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Sep 01 13:44:35 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:11 2008 +0200"
      },
      "message": "init: DEBUG_BLOCK_EXT_DEVT requires explicit root\u003d param\n\nDEBUG_BLOCK_EXT_DEVT shuffles SCSI and IDE device numbers and root\ndevice number set using rdev become meaningless.  Root devices should\nbe explicitly specified using textual names.  Warn about it if root\ncan\u0027t be found and DEBUG_BLOCK_EXT_DEVT is enabled.  Also, add warning\nto the help text.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "2bbedcb4c1abac498f18e5770d62ae66ff235ada",
      "tree": "2609360651b9a0d137c5c564a971152c90d52001",
      "parents": [
        "759f8ca3048f7438aa3129268d7252552505d662"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Fri Aug 29 11:41:51 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:11 2008 +0200"
      },
      "message": "block: don\u0027t test for partition size in bdget_disk() and blk_lookup_devt()\n\nbdget_disk() and blk_lookup_devt() never cared whether the specified\npartition (or disk) is zero sized or not.  I got confused while\nconverting those not to depend on consecutive minor numbers in commit\n5a6411b1178baf534aa9138052864dfa89d3eada and later when dev0 was added\nit broke callers which expected to get valid return for zero sized\ndisk devices.\n\nSo, they never needed nr_sects checks in the first place.  Kill them.\n\nThis problem was spotted and debugged by Bartlmoiej Zolnierkiewicz.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "759f8ca3048f7438aa3129268d7252552505d662",
      "tree": "68ff6d337fbb9fd8fbc2b5f48c993c348df8a60f",
      "parents": [
        "aeb3d3a81e81c6323a17fe914e91eb228b3f1aa1"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Aug 29 09:06:29 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:11 2008 +0200"
      },
      "message": "Change default value of CONFIG_DEBUG_BLOCK_EXT_DEVT to \u0027n\u0027\n\nIt\u0027s a debug option that you would explicitly enable to test this\nfeature, we should default it to \u0027n\u0027 to prevent accidental surprises\nfor now.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "aeb3d3a81e81c6323a17fe914e91eb228b3f1aa1",
      "tree": "9cacfa989eaad1611f61e5707fd432e7f1fde685",
      "parents": [
        "01cfcddd98f09e05a2e36031654ed46643b76f23"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Thu Aug 28 09:27:42 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:11 2008 +0200"
      },
      "message": "block: kmalloc args reversed, small function definition fixes\n\nNoticed by sparse:\nblock/blk-softirq.c:156:12: warning: symbol \u0027blk_softirq_init\u0027 was not declared. Should it be static?\nblock/genhd.c:583:28: warning: function \u0027bdget_disk\u0027 with external linkage has definition\nblock/genhd.c:659:17: warning: incorrect type in argument 1 (different base types)\nblock/genhd.c:659:17:    expected unsigned int [unsigned] [usertype] size\nblock/genhd.c:659:17:    got restricted gfp_t\nblock/genhd.c:659:29: warning: incorrect type in argument 2 (different base types)\nblock/genhd.c:659:29:    expected restricted gfp_t [usertype] flags\nblock/genhd.c:659:29:    got unsigned int\nblock: kmalloc args reversed\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "01cfcddd98f09e05a2e36031654ed46643b76f23",
      "tree": "58bfbd3d70363e5a8d1c5822d27b29e2be93ad40",
      "parents": [
        "879040742cf09f2360a9ac41846288707e4e567c"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Thu Aug 28 15:05:59 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:11 2008 +0200"
      },
      "message": "sg: use blk_rq_aligned helper function\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Douglas Gilbert \u003cdougg@torque.net\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "879040742cf09f2360a9ac41846288707e4e567c",
      "tree": "7768750efd0d8ef28a183f8cd781b0c878212795",
      "parents": [
        "4d8ab62e087d9300883b82c2662e73e6eef803a3"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Thu Aug 28 15:05:58 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:11 2008 +0200"
      },
      "message": "block: add blk_rq_aligned helper function\n\nThis adds blk_rq_aligned helper function to see if alignment and\npadding requirement is satisfied for DMA transfer. This also converts\nblk_rq_map_kern and __blk_rq_map_user to use the helper function.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "4d8ab62e087d9300883b82c2662e73e6eef803a3",
      "tree": "379f6c1a3dfb165ce1c604d34ddb42ac1447d832",
      "parents": [
        "10db10d144c0248f285242f79daf6b9de6b00a62"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Thu Aug 28 15:05:57 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:10 2008 +0200"
      },
      "message": "bio: convert bio_copy_kern to use bio_copy_user\n\nbio_copy_kern and bio_copy_user are very similar. This converts\nbio_copy_kern to use bio_copy_user.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "10db10d144c0248f285242f79daf6b9de6b00a62",
      "tree": "315806c8e09f6007bdc0c1dfeea1313f15815bfd",
      "parents": [
        "6e5a30cba5e7c03b2cd564e968f1dd667a0f7c42"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Fri Aug 29 12:32:18 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:10 2008 +0200"
      },
      "message": "sg: convert the indirect IO path to use the block layer\n\nThis patch converts the indirect IO path (including mmap IO and old\nstruct sg_header) to use the block layer functions (blk_get_request,\nblk_execute_rq_nowait, blk_rq_map_user, etc) instead of\nscsi_execute_async().\n\n[Jens: fixed compile error with SCSI logging enabled]\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Douglas Gilbert \u003cdougg@torque.net\u003e\nCc: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "6e5a30cba5e7c03b2cd564e968f1dd667a0f7c42",
      "tree": "4a48fa4edc2a285a860b6f6771ae732c036143a5",
      "parents": [
        "10865dfa34e7552c4c64606edcdf1e21a110c985"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Thu Aug 28 16:17:08 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:10 2008 +0200"
      },
      "message": "sg: convert the direct IO path to use the block layer\n\nThis patch converts the direct IO path (SG_FLAG_DIRECT_IO) to use the\nblock layer functions (blk_get_request, blk_execute_rq_nowait,\nblk_rq_map_user, etc) instead of scsi_execute_async().\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Douglas Gilbert \u003cdougg@torque.net\u003e\nCc: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "10865dfa34e7552c4c64606edcdf1e21a110c985",
      "tree": "fe39b3528b667b3a0690246e7c05048dfcf8fd09",
      "parents": [
        "152e283fdfea0cd11e297d982378b55937842dde"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Thu Aug 28 16:17:07 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:10 2008 +0200"
      },
      "message": "sg: convert the non-data path to use the block layer\n\nThis patch converts the non data path to use the block layer functions\n(blk_get_request, blk_execute_rq_nowait, etc) instead of uses\nscsi_execute_async().\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Douglas Gilbert \u003cdougg@torque.net\u003e\nCc: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "152e283fdfea0cd11e297d982378b55937842dde",
      "tree": "a97a57108353f167a1e2911e8ee09c527ef42d3e",
      "parents": [
        "a3bce90edd8f6cafe3f63b1a943800792e830178"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Thu Aug 28 16:17:06 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:10 2008 +0200"
      },
      "message": "block: introduce struct rq_map_data to use reserved pages\n\nThis patch introduces struct rq_map_data to enable bio_copy_use_iov()\nuse reserved pages.\n\nCurrently, bio_copy_user_iov allocates bounce pages but\ndrivers/scsi/sg.c wants to allocate pages by itself and use\nthem. struct rq_map_data can be used to pass allocated pages to\nbio_copy_user_iov.\n\nThe current users of bio_copy_user_iov simply passes NULL (they don\u0027t\nwant to use pre-allocated pages).\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Douglas Gilbert \u003cdougg@torque.net\u003e\nCc: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "a3bce90edd8f6cafe3f63b1a943800792e830178",
      "tree": "c07a2962987e57997b4ff6f6c63febe1feaa0a9c",
      "parents": [
        "45333d5a31296d0af886d94f1d08f128231cab8e"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Thu Aug 28 16:17:05 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:10 2008 +0200"
      },
      "message": "block: add gfp_mask argument to blk_rq_map_user and blk_rq_map_user_iov\n\nCurrently, blk_rq_map_user and blk_rq_map_user_iov always do\nGFP_KERNEL allocation.\n\nThis adds gfp_mask argument to blk_rq_map_user and blk_rq_map_user_iov\nso sg can use it (sg always does GFP_ATOMIC allocation).\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Douglas Gilbert \u003cdougg@torque.net\u003e\nCc: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "45333d5a31296d0af886d94f1d08f128231cab8e",
      "tree": "ea5b1afb70fb17935128bac6df588e6b5ae764b4",
      "parents": [
        "605401618ce4409045bc4db86e88d4b38f2ad585"
      ],
      "author": {
        "name": "Aaron Carroll",
        "email": "aaronc@gelato.unsw.edu.au",
        "time": "Tue Aug 26 15:52:36 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:09 2008 +0200"
      },
      "message": "cfq-iosched: fix queue depth detection\n\nCFQ\u0027s detection of queueing devices assumes a non-queuing device and detects\nif the queue depth reaches a certain threshold.  Under some workloads (e.g.\nsynchronous reads), CFQ effectively forces a unit queue depth, thus defeating\nthe detection logic.  This leads to poor performance on queuing hardware,\nsince the idle window remains enabled.\n\nThis patch inverts the sense of the logic: assume a queuing-capable device,\nand detect if the depth does not exceed the threshold.\n\nSigned-off-by: Aaron Carroll \u003caaronc@gelato.unsw.edu.au\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "605401618ce4409045bc4db86e88d4b38f2ad585",
      "tree": "1abcf85f04c407c5f18268c1e84acb99244a7e38",
      "parents": [
        "ab780f1ece0dc8d5e8e8e85435acc5e4747ccda3"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Aug 26 13:34:34 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:09 2008 +0200"
      },
      "message": "block: don\u0027t use bio_has_data() in the completion path\n\nWe should just check for rq-\u003ebio, as that is really the information\nwe are looking for. Even if the bio attached doesn\u0027t carry data,\nwe still need to do IO post processing on it.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "ab780f1ece0dc8d5e8e8e85435acc5e4747ccda3",
      "tree": "4085b6c929a44de229eb5ef13fa2079211ea5512",
      "parents": [
        "c7c22e4d5c1fdebfac4dba76de7d0338c2b0d832"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Aug 26 10:25:02 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:09 2008 +0200"
      },
      "message": "block: inherit CPU completion on bio-\u003erq and rq-\u003erq merges\n\nSomewhat incomplete, as we do allow merges of requests and bios\nthat have different completion CPUs given. This is done on the\nassumption that a larger IO is still more beneficial than CPU\nlocality.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c7c22e4d5c1fdebfac4dba76de7d0338c2b0d832",
      "tree": "ecc3d2517b3471ccc35d4cb4e3b48d4b57205061",
      "parents": [
        "18887ad910e56066233a07fd3cfb2fa11338b782"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Sat Sep 13 20:26:01 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:09 2008 +0200"
      },
      "message": "block: add support for IO CPU affinity\n\nThis patch adds support for controlling the IO completion CPU of\neither all requests on a queue, or on a per-request basis. We export\na sysfs variable (rq_affinity) which, if set, migrates completions\nof requests to the CPU that originally submitted it. A bio helper\n(bio_set_completion_cpu()) is also added, so that queuers can ask\nfor completion on that specific CPU.\n\nIn testing, this has been show to cut the system time by as much\nas 20-40% on synthetic workloads where CPU affinity is desired.\n\nThis requires a little help from the architecture, so it\u0027ll only\nwork as designed for archs that are using the new generic smp\nhelper infrastructure.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "18887ad910e56066233a07fd3cfb2fa11338b782",
      "tree": "a8d14ba47f15c58e36b26c82fa4ae4ad7526c80a",
      "parents": [
        "b646fc59b332ef307895558c9cd1359dc2d25813"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jul 28 13:08:45 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:09 2008 +0200"
      },
      "message": "block: make kblockd_schedule_work() take the queue as parameter\n\nPreparatory patch for checking queuing affinity.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "b646fc59b332ef307895558c9cd1359dc2d25813",
      "tree": "47d703053144c099abee8326e52ed0d3b05920c6",
      "parents": [
        "0835da67c11e879ed5dc23160934d8970470a2ce"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jul 28 13:06:00 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:09 2008 +0200"
      },
      "message": "block: split softirq handling into blk-softirq.c\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "0835da67c11e879ed5dc23160934d8970470a2ce",
      "tree": "8a09f5592d9573955e118240848174b5db491aab",
      "parents": [
        "3e1a7ff8a0a7b948f2684930166954f9e8e776fe"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Aug 26 09:15:47 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:09 2008 +0200"
      },
      "message": "block: use linux/uaccess.h in elevator.c instead of asm variant\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "3e1a7ff8a0a7b948f2684930166954f9e8e776fe",
      "tree": "0a8642f5cdbc6ddfdd66dc7241c915e57b3cb7ff",
      "parents": [
        "689d6fac40b41c7bf154f362deaf442548e4dc81"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:56:17 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:08 2008 +0200"
      },
      "message": "block: allow disk to have extended device number\n\nNow that disk and partition handlings are mostly unified, it\u0027s easy to\nallow disk to have extended device number.  This patch makes\nadd_disk() use extended device number if disk-\u003eminors is zero.  Both\nsd and ide-disk are updated to use this.\n\n* sd_format_disk_name() is implemented which can generically determine\n  the drive name.  This removes disk number restriction stemming from\n  limited device names.\n\n* If sd index goes over SD_MAX_DISKS (which can be increased now BTW),\n  sd simply doesn\u0027t initialize minors letting block layer choose\n  extended device number.\n\n* If CONFIG_DEBUG_EXT_DEVT is set, both sd and ide-disk always set\n  minors to 0 and use extended device numbers.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "689d6fac40b41c7bf154f362deaf442548e4dc81",
      "tree": "5989dc5767f657272194ee8c7d69c6db1e62dab7",
      "parents": [
        "540eed5637b766bb1e881ef744c42617760b4815"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:56:16 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:08 2008 +0200"
      },
      "message": "block: replace @ext_minors with GENHD_FL_EXT_DEVT\n\nWith previous changes, it\u0027s meaningless to limit the number of\npartitions.  Replace @ext_minors with GENHD_FL_EXT_DEVT such that\nsetting the flag allows the disk to have maximum number of allowed\npartitions (only limited by the number of entries in parsed_partitions\nas determined by MAX_PART constant).\n\nThis kills not-too-pretty alloc_disk_ext[_node]() functions and makes\n@minors parameter to alloc_disk[_node]() unnecessary.  The parameter\nis left alone to avoid disturbing the users.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "540eed5637b766bb1e881ef744c42617760b4815",
      "tree": "8bdf54967a8290f780216f767291623e67ee7e9b",
      "parents": [
        "074a7aca7afa6f230104e8e65eba3420263714a5"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:56:15 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:08 2008 +0200"
      },
      "message": "block: make partition array dynamic\n\ndisk-\u003e__part used to be statically allocated to the maximum possible\nnumber of partitions.  This patch makes partition array allocation\ndynamic.  The added overhead is minimal as only real change is one\nmemory dereference changed to RCU one.  This saves both a bit of\nmemory and cpu cycles iterating through unoccupied slots and makes\nincreasing partition limit easier.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "074a7aca7afa6f230104e8e65eba3420263714a5",
      "tree": "f418313e45bd55be8156c8a3e8f9a216cf63058d",
      "parents": [
        "eddb2e26b5ee3c5da68ba4bf1921ba20e2097bff"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:56:14 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:08 2008 +0200"
      },
      "message": "block: move stats from disk to part0\n\nMove stats related fields - stamp, in_flight, dkstats - from disk to\npart0 and unify stat handling such that...\n\n* part_stat_*() now updates part0 together if the specified partition\n  is not part0.  ie. part_stat_*() are now essentially all_stat_*().\n\n* {disk|all}_stat_*() are gone.\n\n* part_round_stats() is updated similary.  It handles part0 stats\n  automatically and disk_round_stats() is killed.\n\n* part_{inc|dec}_in_fligh() is implemented which automatically updates\n  part0 stats for parts other than part0.\n\n* disk_map_sector_rcu() is updated to return part0 if no part matches.\n  Combined with the above changes, this makes NULL special case\n  handling in callers unnecessary.\n\n* Separate stats show code paths for disk are collapsed into part\n  stats show code paths.\n\n* Rename disk_stat_lock/unlock() to part_stat_lock/unlock()\n\nWhile at it, reposition stat handling macros a bit and add missing\nparentheses around macro parameters.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "eddb2e26b5ee3c5da68ba4bf1921ba20e2097bff",
      "tree": "7a24f3f3cb577f344491dc57ea441060fac9d9a9",
      "parents": [
        "0762b8bde9729f10f8e6249809660ff2ec3ad735"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Mon Aug 25 19:56:13 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Oct 09 08:56:08 2008 +0200"
      },
      "message": "block: kill GENHD_FL_FAIL and use part0-\u003emake_it_fail\n\nGENHD_FL_FAIL for disk is what make_it_fail is for parts.  Kill it and\nuse part0-\u003emake_it_fail.  Sysfs node handling is unified too.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    }
  ],
  "next": "0762b8bde9729f10f8e6249809660ff2ec3ad735"
}
