)]}'
{
  "log": [
    {
      "commit": "c7a841f3aca469187db76842676951a672fd27d1",
      "tree": "6819d796270f9b4c5eb4cae374a69ab1988d384a",
      "parents": [
        "057f02a38e67a944a2d0b89bb0111efb9dbe6e6e"
      ],
      "author": {
        "name": "James Smart",
        "email": "james.smart@emulex.com",
        "time": "Sun Nov 14 11:12:04 2010 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Dec 09 09:41:14 2010 -0600"
      },
      "message": "[SCSI] bsg: correct fault if queue object removed while dev_t open\n\nThis patch corrects an issue in bsg that results in a general protection\nfault if an LLD is removed while an application is using an open file\nhandle to a bsg device, and the application issues an ioctl. The fault\noccurs because the class_dev is NULL, having been cleared in\nbsg_unregister_queue() when the driver was removed.  With this\npatch, a check is made for the class_dev, and the application\nwill receive ENXIO if the related object is gone.\n\nSigned-off-by: Carl Lajeunesse \u003ccarl.lajeunesse@emulex.com\u003e\nSigned-off-by: James Smart \u003cjames.smart@emulex.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "092e0e7e520a1fca03e13c9f2d157432a8657ff2",
      "tree": "451897252c4c08c4b5a8ef535da156f1e817e80b",
      "parents": [
        "79f14b7c56d3b3ba58f8b43d1f70b9b71477a800",
        "776c163b1b93c8dfa5edba885bc2bfbc2d228a5f"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:52:56 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:52:56 2010 -0700"
      },
      "message": "Merge branch \u0027llseek\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl\n\n* \u0027llseek\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl:\n  vfs: make no_llseek the default\n  vfs: don\u0027t use BKL in default_llseek\n  llseek: automatically add .llseek fop\n  libfs: use generic_file_llseek for simple_attr\n  mac80211: disallow seeks in minstrel debug code\n  lirc: make chardev nonseekable\n  viotape: use noop_llseek\n  raw: use explicit llseek file operations\n  ibmasmfs: use generic_file_llseek\n  spufs: use llseek in all file operations\n  arm/omap: use generic_file_llseek in iommu_debug\n  lkdtm: use generic_file_llseek in debugfs\n  net/wireless: use generic_file_llseek in debugfs\n  drm: use noop_llseek\n"
    },
    {
      "commit": "c37927d4359e81b85de644f8fb08878717cf5f3f",
      "tree": "25dabf2d905e1410819d1bdaba0bf5f779100d3c",
      "parents": [
        "5704e44d283e907623e3775c1262f206a2c48cf3",
        "2a48fc0ab24241755dc93bfd4f01d68efab47f5a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:49:54 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 10:49:54 2010 -0700"
      },
      "message": "Merge branch \u0027trivial\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl\n\n* \u0027trivial\u0027 of git://git.kernel.org/pub/scm/linux/kernel/git/arnd/bkl:\n  block: autoconvert trivial BKL users to private mutex\n  drivers: autoconvert trivial BKL users to private mutex\n  ipmi: autoconvert trivial BKL users to private mutex\n  mac: autoconvert trivial BKL users to private mutex\n  mtd: autoconvert trivial BKL users to private mutex\n  scsi: autoconvert trivial BKL users to private mutex\n\nFix up trivial conflicts (due to addition of private mutex right next to\ndeletion of a version string) in drivers/char/pcmcia/cm40[04]0_cs.c\n"
    },
    {
      "commit": "478971600e47cb83ff2d3c63c5c24f2b04b0d6a1",
      "tree": "8a426c30523aa558249bc8e4844b757af6ac1b96",
      "parents": [
        "16d3ea26f82271fef9b1c4523b5e1ea31fa39eec"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Fri Sep 17 00:46:42 2010 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Oct 15 10:18:48 2010 -0400"
      },
      "message": "[SCSI] bsg: fix incorrect device_status value\n\nbsg incorrectly returns sg\u0027s masked_status value for device_status.\n\n[jejb: fix up expression logic]\nReported-by: Douglas Gilbert \u003cdgilbert@interlog.com\u003e\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Stable Tree \u003cstable@kernel.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "6038f373a3dc1f1c26496e60b6c40b164716f07e",
      "tree": "a0d3bbd026eea41b9fc36b8c722cbaf56cd9f825",
      "parents": [
        "1ec5584e3edf9c4bf2c88c846534d19cf986ba11"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Sun Aug 15 18:52:59 2010 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Fri Oct 15 15:53:27 2010 +0200"
      },
      "message": "llseek: automatically add .llseek fop\n\nAll file_operations should get a .llseek operation so we can make\nnonseekable_open the default for future file operations without a\n.llseek pointer.\n\nThe three cases that we can automatically detect are no_llseek, seq_lseek\nand default_llseek. For cases where we can we can automatically prove that\nthe file offset is always ignored, we use noop_llseek, which maintains\nthe current behavior of not returning an error from a seek.\n\nNew drivers should normally not use noop_llseek but instead use no_llseek\nand call nonseekable_open at open time.  Existing drivers can be converted\nto do the same when the maintainer knows for certain that no user code\nrelies on calling seek on the device file.\n\nThe generated code is often incorrectly indented and right now contains\ncomments that clarify for each added line why a specific variant was\nchosen. In the version that gets submitted upstream, the comments will\nbe gone and I will manually fix the indentation, because there does not\nseem to be a way to do that using coccinelle.\n\nSome amount of new code is currently sitting in linux-next that should get\nthe same modifications, which I will do at the end of the merge window.\n\nMany thanks to Julia Lawall for helping me learn to write a semantic\npatch that does all this.\n\n\u003d\u003d\u003d\u003d\u003d begin semantic patch \u003d\u003d\u003d\u003d\u003d\n// This adds an llseek\u003d method to all file operations,\n// as a preparation for making no_llseek the default.\n//\n// The rules are\n// - use no_llseek explicitly if we do nonseekable_open\n// - use seq_lseek for sequential files\n// - use default_llseek if we know we access f_pos\n// - use noop_llseek if we know we don\u0027t access f_pos,\n//   but we still want to allow users to call lseek\n//\n@ open1 exists @\nidentifier nested_open;\n@@\nnested_open(...)\n{\n\u003c+...\nnonseekable_open(...)\n...+\u003e\n}\n\n@ open exists@\nidentifier open_f;\nidentifier i, f;\nidentifier open1.nested_open;\n@@\nint open_f(struct inode *i, struct file *f)\n{\n\u003c+...\n(\nnonseekable_open(...)\n|\nnested_open(...)\n)\n...+\u003e\n}\n\n@ read disable optional_qualifier exists @\nidentifier read_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\nexpression E;\nidentifier func;\n@@\nssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)\n{\n\u003c+...\n(\n   *off \u003d E\n|\n   *off +\u003d E\n|\n   func(..., off, ...)\n|\n   E \u003d *off\n)\n...+\u003e\n}\n\n@ read_no_fpos disable optional_qualifier exists @\nidentifier read_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\n@@\nssize_t read_f(struct file *f, char *p, size_t s, loff_t *off)\n{\n... when !\u003d off\n}\n\n@ write @\nidentifier write_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\nexpression E;\nidentifier func;\n@@\nssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)\n{\n\u003c+...\n(\n  *off \u003d E\n|\n  *off +\u003d E\n|\n  func(..., off, ...)\n|\n  E \u003d *off\n)\n...+\u003e\n}\n\n@ write_no_fpos @\nidentifier write_f;\nidentifier f, p, s, off;\ntype ssize_t, size_t, loff_t;\n@@\nssize_t write_f(struct file *f, const char *p, size_t s, loff_t *off)\n{\n... when !\u003d off\n}\n\n@ fops0 @\nidentifier fops;\n@@\nstruct file_operations fops \u003d {\n ...\n};\n\n@ has_llseek depends on fops0 @\nidentifier fops0.fops;\nidentifier llseek_f;\n@@\nstruct file_operations fops \u003d {\n...\n .llseek \u003d llseek_f,\n...\n};\n\n@ has_read depends on fops0 @\nidentifier fops0.fops;\nidentifier read_f;\n@@\nstruct file_operations fops \u003d {\n...\n .read \u003d read_f,\n...\n};\n\n@ has_write depends on fops0 @\nidentifier fops0.fops;\nidentifier write_f;\n@@\nstruct file_operations fops \u003d {\n...\n .write \u003d write_f,\n...\n};\n\n@ has_open depends on fops0 @\nidentifier fops0.fops;\nidentifier open_f;\n@@\nstruct file_operations fops \u003d {\n...\n .open \u003d open_f,\n...\n};\n\n// use no_llseek if we call nonseekable_open\n////////////////////////////////////////////\n@ nonseekable1 depends on !has_llseek \u0026\u0026 has_open @\nidentifier fops0.fops;\nidentifier nso ~\u003d \"nonseekable_open\";\n@@\nstruct file_operations fops \u003d {\n...  .open \u003d nso, ...\n+.llseek \u003d no_llseek, /* nonseekable */\n};\n\n@ nonseekable2 depends on !has_llseek @\nidentifier fops0.fops;\nidentifier open.open_f;\n@@\nstruct file_operations fops \u003d {\n...  .open \u003d open_f, ...\n+.llseek \u003d no_llseek, /* open uses nonseekable */\n};\n\n// use seq_lseek for sequential files\n/////////////////////////////////////\n@ seq depends on !has_llseek @\nidentifier fops0.fops;\nidentifier sr ~\u003d \"seq_read\";\n@@\nstruct file_operations fops \u003d {\n...  .read \u003d sr, ...\n+.llseek \u003d seq_lseek, /* we have seq_read */\n};\n\n// use default_llseek if there is a readdir\n///////////////////////////////////////////\n@ fops1 depends on !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier readdir_e;\n@@\n// any other fop is used that changes pos\nstruct file_operations fops \u003d {\n... .readdir \u003d readdir_e, ...\n+.llseek \u003d default_llseek, /* readdir is present */\n};\n\n// use default_llseek if at least one of read/write touches f_pos\n/////////////////////////////////////////////////////////////////\n@ fops2 depends on !fops1 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read.read_f;\n@@\n// read fops use offset\nstruct file_operations fops \u003d {\n... .read \u003d read_f, ...\n+.llseek \u003d default_llseek, /* read accesses f_pos */\n};\n\n@ fops3 depends on !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier write.write_f;\n@@\n// write fops use offset\nstruct file_operations fops \u003d {\n... .write \u003d write_f, ...\n+\t.llseek \u003d default_llseek, /* write accesses f_pos */\n};\n\n// Use noop_llseek if neither read nor write accesses f_pos\n///////////////////////////////////////////////////////////\n\n@ fops4 depends on !fops1 \u0026\u0026 !fops2 \u0026\u0026 !fops3 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read_no_fpos.read_f;\nidentifier write_no_fpos.write_f;\n@@\n// write fops use offset\nstruct file_operations fops \u003d {\n...\n .write \u003d write_f,\n .read \u003d read_f,\n...\n+.llseek \u003d noop_llseek, /* read and write both use no f_pos */\n};\n\n@ depends on has_write \u0026\u0026 !has_read \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier write_no_fpos.write_f;\n@@\nstruct file_operations fops \u003d {\n... .write \u003d write_f, ...\n+.llseek \u003d noop_llseek, /* write uses no f_pos */\n};\n\n@ depends on has_read \u0026\u0026 !has_write \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\nidentifier read_no_fpos.read_f;\n@@\nstruct file_operations fops \u003d {\n... .read \u003d read_f, ...\n+.llseek \u003d noop_llseek, /* read uses no f_pos */\n};\n\n@ depends on !has_read \u0026\u0026 !has_write \u0026\u0026 !fops1 \u0026\u0026 !fops2 \u0026\u0026 !has_llseek \u0026\u0026 !nonseekable1 \u0026\u0026 !nonseekable2 \u0026\u0026 !seq @\nidentifier fops0.fops;\n@@\nstruct file_operations fops \u003d {\n...\n+.llseek \u003d noop_llseek, /* no read or write fn */\n};\n\u003d\u003d\u003d\u003d\u003d End semantic patch \u003d\u003d\u003d\u003d\u003d\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\nCc: Julia Lawall \u003cjulia@diku.dk\u003e\nCc: Christoph Hellwig \u003chch@infradead.org\u003e\n"
    },
    {
      "commit": "2a48fc0ab24241755dc93bfd4f01d68efab47f5a",
      "tree": "fa9ae10ce89b26b7d8ae9ce24bdfda5e3007b763",
      "parents": [
        "613655fa39ff6957754fa8ceb8559980920eb8ee"
      ],
      "author": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Wed Jun 02 14:28:52 2010 +0200"
      },
      "committer": {
        "name": "Arnd Bergmann",
        "email": "arnd@arndb.de",
        "time": "Tue Oct 05 15:01:10 2010 +0200"
      },
      "message": "block: autoconvert trivial BKL users to private mutex\n\nThe block device drivers have all gained new lock_kernel\ncalls from a recent pushdown, and some of the drivers\nwere already using the BKL before.\n\nThis turns the BKL into a set of per-driver mutexes.\nStill need to check whether this is safe to do.\n\nfile\u003d$1\nname\u003d$2\nif grep -q lock_kernel ${file} ; then\n    if grep -q \u0027include.*linux.mutex.h\u0027 ${file} ; then\n            sed -i \u0027/include.*\u003clinux\\/smp_lock.h\u003e/d\u0027 ${file}\n    else\n            sed -i \u0027s/include.*\u003clinux\\/smp_lock.h\u003e.*$/include \u003clinux\\/mutex.h\u003e/g\u0027 ${file}\n    fi\n    sed -i ${file} \\\n        -e \"/^#include.*linux.mutex.h/,$ {\n                1,/^\\(static\\|int\\|long\\)/ {\n                     /^\\(static\\|int\\|long\\)/istatic DEFINE_MUTEX(${name}_mutex);\n\n} }\"  \\\n    -e \"s/\\(un\\)*lock_kernel\\\u003e[ ]*()/mutex_\\1lock(\\\u0026${name}_mutex)/g\" \\\n    -e \u0027/[      ]*cycle_kernel_lock();/d\u0027\nelse\n    sed -i -e \u0027/include.*\\\u003csmp_lock.h\\\u003e/d\u0027 ${file}  \\\n                -e \u0027/cycle_kernel_lock()/d\u0027\nfi\n\nSigned-off-by: Arnd Bergmann \u003carnd@arndb.de\u003e\n"
    },
    {
      "commit": "5a0e3ad6af8660be21ca98a971cd00f331318c05",
      "tree": "5bfb7be11a03176a87296a43ac6647975c00a1d1",
      "parents": [
        "ed391f4ebf8f701d3566423ce8f17e614cde9806"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Wed Mar 24 17:04:11 2010 +0900"
      },
      "committer": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Tue Mar 30 22:02:32 2010 +0900"
      },
      "message": "include cleanup: Update gfp.h and slab.h includes to prepare for breaking implicit slab.h inclusion from percpu.h\n\npercpu.h is included by sched.h and module.h and thus ends up being\nincluded when building most .c files.  percpu.h includes slab.h which\nin turn includes gfp.h making everything defined by the two files\nuniversally available and complicating inclusion dependencies.\n\npercpu.h -\u003e slab.h dependency is about to be removed.  Prepare for\nthis change by updating users of gfp and slab facilities include those\nheaders directly instead of assuming availability.  As this conversion\nneeds to touch large number of source files, the following script is\nused as the basis of conversion.\n\n  http://userweb.kernel.org/~tj/misc/slabh-sweep.py\n\nThe script does the followings.\n\n* Scan files for gfp and slab usages and update includes such that\n  only the necessary includes are there.  ie. if only gfp is used,\n  gfp.h, if slab is used, slab.h.\n\n* When the script inserts a new include, it looks at the include\n  blocks and try to put the new include such that its order conforms\n  to its surrounding.  It\u0027s put in the include block which contains\n  core kernel includes, in the same order that the rest are ordered -\n  alphabetical, Christmas tree, rev-Xmas-tree or at the end if there\n  doesn\u0027t seem to be any matching order.\n\n* If the script can\u0027t find a place to put a new include (mostly\n  because the file doesn\u0027t have fitting include block), it prints out\n  an error message indicating which .h file needs to be added to the\n  file.\n\nThe conversion was done in the following steps.\n\n1. The initial automatic conversion of all .c files updated slightly\n   over 4000 files, deleting around 700 includes and adding ~480 gfp.h\n   and ~3000 slab.h inclusions.  The script emitted errors for ~400\n   files.\n\n2. Each error was manually checked.  Some didn\u0027t need the inclusion,\n   some needed manual addition while adding it to implementation .h or\n   embedding .c file was more appropriate for others.  This step added\n   inclusions to around 150 files.\n\n3. The script was run again and the output was compared to the edits\n   from #2 to make sure no file was left behind.\n\n4. Several build tests were done and a couple of problems were fixed.\n   e.g. lib/decompress_*.c used malloc/free() wrappers around slab\n   APIs requiring slab.h to be added manually.\n\n5. The script was run on all .h files but without automatically\n   editing them as sprinkling gfp.h and slab.h inclusions around .h\n   files could easily lead to inclusion dependency hell.  Most gfp.h\n   inclusion directives were ignored as stuff from gfp.h was usually\n   wildly available and often used in preprocessor macros.  Each\n   slab.h inclusion directive was examined and added manually as\n   necessary.\n\n6. percpu.h was updated not to include slab.h.\n\n7. Build test were done on the following configurations and failures\n   were fixed.  CONFIG_GCOV_KERNEL was turned off for all tests (as my\n   distributed build env didn\u0027t work with gcov compiles) and a few\n   more options had to be turned off depending on archs to make things\n   build (like ipr on powerpc/64 which failed due to missing writeq).\n\n   * x86 and x86_64 UP and SMP allmodconfig and a custom test config.\n   * powerpc and powerpc64 SMP allmodconfig\n   * sparc and sparc64 SMP allmodconfig\n   * ia64 SMP allmodconfig\n   * s390 SMP allmodconfig\n   * alpha SMP allmodconfig\n   * um on x86_64 SMP allmodconfig\n\n8. percpu.h modifications were reverted so that it could be applied as\n   a separate patch and serve as bisection point.\n\nGiven the fact that I had only a couple of failures from tests on step\n6, I\u0027m fairly confident about the coverage of this conversion patch.\nIf there is a breakage, it\u0027s likely to be something in one of the arch\nheaders which should be easily discoverable easily on most builds of\nthe specific arch.\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nGuess-its-ok-by: Christoph Lameter \u003ccl@linux-foundation.org\u003e\nCc: Ingo Molnar \u003cmingo@redhat.com\u003e\nCc: Lee Schermerhorn \u003cLee.Schermerhorn@hp.com\u003e\n"
    },
    {
      "commit": "3ad2f3fbb961429d2aa627465ae4829758bc7e07",
      "tree": "f365c513e8f5b477a61336a600ff54f32b7ad6e1",
      "parents": [
        "1537a3638cbf741d3826c1002026cce487a6bee0"
      ],
      "author": {
        "name": "Daniel Mack",
        "email": "daniel@caiaq.de",
        "time": "Wed Feb 03 08:01:28 2010 +0800"
      },
      "committer": {
        "name": "Jiri Kosina",
        "email": "jkosina@suse.cz",
        "time": "Tue Feb 09 11:13:56 2010 +0100"
      },
      "message": "tree-wide: Assorted spelling fixes\n\nIn particular, several occurances of funny versions of \u0027success\u0027,\n\u0027unknown\u0027, \u0027therefore\u0027, \u0027acknowledge\u0027, \u0027argument\u0027, \u0027achieve\u0027, \u0027address\u0027,\n\u0027beginning\u0027, \u0027desirable\u0027, \u0027separate\u0027 and \u0027necessary\u0027 are fixed.\n\nSigned-off-by: Daniel Mack \u003cdaniel@caiaq.de\u003e\nCc: Joe Perches \u003cjoe@perches.com\u003e\nCc: Junio C Hamano \u003cgitster@pobox.com\u003e\nSigned-off-by: Jiri Kosina \u003cjkosina@suse.cz\u003e\n"
    },
    {
      "commit": "ad5ebd2fa2557b04a653bb3c3377a47da8f9b8e9",
      "tree": "f70ba006e73db3450b468c3098d43fc2a392b1da",
      "parents": [
        "86b37281411cf1e9bc0a6b5406c45edb7bd9ea5d"
      ],
      "author": {
        "name": "Randy Dunlap",
        "email": "randy.dunlap@oracle.com",
        "time": "Wed Nov 11 13:47:45 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Nov 11 13:47:45 2009 +0100"
      },
      "message": "block: jiffies fixes\n\nUse HZ-independent calculation of milliseconds.\nAdd jiffies.h where it was missing since functions or macros\nfrom it are used.\n\nSigned-off-by: Randy Dunlap \u003crandy.dunlap@oracle.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e454cea20bdcff10ee698d11b8882662a0153a47",
      "tree": "f44581fe57787aef0a4f4dc00993a90ea8e688f6",
      "parents": [
        "78f28b7c555359c67c2a0d23f7436e915329421e"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Fri Sep 18 23:01:12 2009 +0200"
      },
      "committer": {
        "name": "Live-CD User",
        "email": "linux@linux.site",
        "time": "Sat Sep 19 12:50:38 2009 -0700"
      },
      "message": "Driver-Core: extend devnode callbacks to provide permissions\n\nThis allows subsytems to provide devtmpfs with non-default permissions\nfor the device node. Instead of the default mode of 0600, null, zero,\nrandom, urandom, full, tty, ptmx now have a mode of 0666, which allows\nnon-privileged processes to access standard device nodes in case no\nother userspace process applies the expected permissions.\n\nThis also fixes a wrong assignment in pktcdvd and a checkpatch.pl complain.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "018e0446890661504783f92388ecce7138c1566d",
      "tree": "d555758047dde4a26b2489d397a5a86be53723b9",
      "parents": [
        "7878cba9f0037f5599004b03a1260b32d9050360"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Fri Jun 26 16:27:10 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Jul 01 10:56:26 2009 +0200"
      },
      "message": "block: get rid of queue-private command filter\n\nThe initial patches to support this through sysfs export were broken\nand have been if 0\u0027ed out in any release. So lets just kill the code\nand reclaim some space in struct request_queue, if anyone would later\nlike to fixup the sysfs bits, the git history can easily restore\nthe removed bits.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "111986593561fc4c94a1fba3f3cd84476fb40b22",
      "tree": "8af40a65c9d4a7abf0b6eaa461562b5a54f15dd2",
      "parents": [
        "93bdcba5a7e55307e27671594c3cd8b4669b9e7a"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Wed Jun 17 15:10:11 2009 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sun Jun 21 10:52:42 2009 -0500"
      },
      "message": "block: revert \"bsg: setting rq-\u003ebio to NULL\"\n\nThe SMP handler (sas_smp_request) was fixed to use the block API\nproperly, so we don\u0027t need this workaround to avoid blk_put_request()\nwarning.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "2bdf914915e98fe82495d05741a57e37f4b604e8",
      "tree": "6d598776789ff0ccd29b46fb6d08d183896e982f",
      "parents": [
        "1ce8a0d396288f28070483a8190843c23b8282f4"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Thu Apr 30 15:23:42 2009 +0200"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jun 15 21:30:26 2009 -0700"
      },
      "message": "Driver Core: bsg: add nodename for bsg driver\n\nThis adds support to the BSG driver to report the proper device name to\nuserspace for the bsg devices.\n\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Jan Blunck \u003cjblunck@suse.de\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "c9059598ea8981d02356eead3188bf7fa4d717b8",
      "tree": "03e73b20a30e988da7c6a3e0ad93b2dc5843274d",
      "parents": [
        "0a33f80a8373eca7f4bea3961d1346c3815fa5ed",
        "b0fd271d5fba0b2d00888363f3869e3f9b26caa9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 11 10:52:27 2009 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu Jun 11 11:10:35 2009 -0700"
      },
      "message": "Merge branch \u0027for-2.6.31\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.31\u0027 of git://git.kernel.dk/linux-2.6-block: (153 commits)\n  block: add request clone interface (v2)\n  floppy: fix hibernation\n  ramdisk: remove long-deprecated \"ramdisk\u003d\" boot-time parameter\n  fs/bio.c: add missing __user annotation\n  block: prevent possible io_context-\u003erefcount overflow\n  Add serial number support for virtio_blk, V4a\n  block: Add missing bounce_pfn stacking and fix comments\n  Revert \"block: Fix bounce limit setting in DM\"\n  cciss: decode unit attention in SCSI error handling code\n  cciss: Remove no longer needed sendcmd reject processing code\n  cciss: change SCSI error handling routines to work with interrupts enabled.\n  cciss: separate error processing and command retrying code in sendcmd_withirq_core()\n  cciss: factor out fix target status processing code from sendcmd functions\n  cciss: simplify interface of sendcmd() and sendcmd_withirq()\n  cciss: factor out core of sendcmd_withirq() for use by SCSI error handling code\n  cciss: Use schedule_timeout_uninterruptible in SCSI error handling code\n  block: needs to set the residual length of a bidi request\n  Revert \"block: implement blkdev_readpages\"\n  block: Fix bounce limit setting in DM\n  Removed reference to non-existing file Documentation/PCI/PCI-DMA-mapping.txt\n  ...\n\nManually fix conflicts with tracing updates in:\n\tblock/blk-sysfs.c\n\tdrivers/ide/ide-atapi.c\n\tdrivers/ide/ide-cd.c\n\tdrivers/ide/ide-floppy.c\n\tdrivers/ide/ide-tape.c\n\tinclude/trace/events/block.h\n\tkernel/trace/blktrace.c\n"
    },
    {
      "commit": "c1d4c41f2fdfe66dea957b76d005affba3e56b26",
      "tree": "9436a0f4417c1f938103a55c739c6c6e1fdbf94b",
      "parents": [
        "3af968e066d593bc4dacc021715f3e95ddf0996f"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Jun 09 15:17:37 2009 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jun 09 15:17:37 2009 +0200"
      },
      "message": "bsg: setting rq-\u003ebio to NULL\n\nDue to commit 1cd96c242a829d52f7a5ae98f554ca9775429685 (\"block: WARN\nin __blk_put_request() for potential bio leak\"), BSG SMP requests get\nthe false warnings:\n\nWARNING: at block/blk-core.c:1068 __blk_put_request+0x52/0xc0()\n\nThis sets rq-\u003ebio to NULL to avoid that false warnings.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c3a4d78c580de4edc9ef0f7c59812fb02ceb037f",
      "tree": "916ca44287100707508678e2cc0eff0c43b9ca39",
      "parents": [
        "9720aef2539c10e3a872e9a92beec225030d99db"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "tj@kernel.org",
        "time": "Thu May 07 22:24:37 2009 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon May 11 09:50:53 2009 +0200"
      },
      "message": "block: add rq-\u003eresid_len\n\nrq-\u003edata_len served two purposes - the length of data buffer on issue\nand the residual count on completion.  This duality creates some\nheadaches.\n\nFirst of all, block layer and low level drivers can\u0027t really determine\nwhat rq-\u003edata_len contains while a request is executing.  It could be\nthe total request length or it coulde be anything else one of the\nlower layers is using to keep track of residual count.  This\ncomplicates things because blk_rq_bytes() and thus\n[__]blk_end_request_all() relies on rq-\u003edata_len for PC commands.\nDrivers which want to report residual count should first cache the\ntotal request length, update rq-\u003edata_len and then complete the\nrequest with the cached data length.\n\nSecondly, it makes requests default to reporting full residual count,\nie. reporting that no data transfer occurred.  The residual count is\nan exception not the norm; however, the driver should clear\nrq-\u003edata_len to zero to signify the normal cases while leaving it\nalone means no data transfer occurred at all.  This reverse default\nbehavior complicates code unnecessarily and renders block PC on some\ndrivers (ide-tape/floppy) unuseable.\n\nThis patch adds rq-\u003eresid_len which is used only for residual count.\n\nWhile at it, remove now unnecessasry blk_rq_bytes() caching in\nide_pc_intr() as rq-\u003edata_len is not changed anymore.\n\nBoaz\t: spotted missing conversion in osd\nSergei\t: spotted too early conversion to blk_rq_bytes() in ide-tape\n\n[ Impact: cleanup residual count handling, report 0 resid by default ]\n\nSigned-off-by: Tejun Heo \u003ctj@kernel.org\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nCc: Bartlomiej Zolnierkiewicz \u003cbzolnier@gmail.com\u003e\nCc: Borislav Petkov \u003cpetkovbb@googlemail.com\u003e\nCc: Sergei Shtylyov \u003csshtylyov@ru.mvista.com\u003e\nCc: Mike Miller \u003cmike.miller@hp.com\u003e\nCc: Eric Moore \u003cEric.Moore@lsi.com\u003e\nCc: Alan Stern \u003cstern@rowland.harvard.edu\u003e\nCc: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: Doug Gilbert \u003cdgilbert@interlog.com\u003e\nCc: Mike Miller \u003cmike.miller@hp.com\u003e\nCc: Eric Moore \u003cEric.Moore@lsi.com\u003e\nCc: Darrick J. Wong \u003cdjwong@us.ibm.com\u003e\nCc: Pete Zaitcev \u003czaitcev@redhat.com\u003e\nCc: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "e7cbbf1bf17e3c706f874e867f7b744e1c86fed9",
      "tree": "93076e12227e81f711402641146a4644d31a3c57",
      "parents": [
        "1cd96c242a829d52f7a5ae98f554ca9775429685"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Tue Mar 24 12:37:50 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Mar 26 11:01:25 2009 +0100"
      },
      "message": "bsg: Remove bogus check against request_queue-\u003emax_sectors\n\nbsg submits REQ_TYPE_BLOCK_PC so the right check is max_hw_sectors.\nBut I\u0027ve removed this check because right after, bsg proceeds with\ncalling blk_rq_map_user() which does all the right checks.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "05378940caf979a8655c18b18a17213dcfa52412",
      "tree": "b72d29396fd6aa6f4485af638090066c7280325b",
      "parents": [
        "0061d38642244892e17156f005bd7055fe744644"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Tue Mar 24 12:23:40 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Mar 24 12:35:17 2009 +0100"
      },
      "message": "bsg: add support for tail queuing\n\nCurrently inherited from sg.c bsg will submit asynchronous request\n at the head-of-the-queue, (using \"at_head\" set in the call to\n blk_execute_rq_nowait()). This is bad in situation where the queues\n are full, requests will execute out of order, and can cause\n starvation of the first submitted requests.\n\nThe sg_io_v4-\u003eflags member is used and a bit is allocated to denote the\nQ_AT_TAIL. Zero is to queue at_head as before, to be compatible with old\ncode at the write/read path. SG_IO code path behavior was changed so to\nbe the same as write/read behavior. SG_IO was very rarely used and breaking\ncompatibility with it is OK at this stage.\n\nsg_io_hdr at sg.h also has a flags member and uses 3 bits from the first\nnibble and one bit from the last nibble. Even though none of these bits\nare supported by bsg, The second nibble is allocated for use by bsg. Just\nin case.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nCC: Douglas Gilbert \u003cdgilbert@interlog.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "c1c201200a359cf3b6e2e36a4236cdca77a3cd8e",
      "tree": "e214a2773f20b814cb8cc8c5509066cd9ec98a1a",
      "parents": [
        "5955c7a2cfb6a35429adea5dc480002b15ca8cfc"
      ],
      "author": {
        "name": "Boaz Harrosh",
        "email": "bharrosh@panasas.com",
        "time": "Tue Feb 03 07:47:29 2009 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Feb 18 10:32:00 2009 +0100"
      },
      "message": "bsg: Fix sense buffer bug in SG_IO\n\nWhen submitting requests via SG_IO, which does a sync io, a\nbsg_command is not allocated. So an in-Kernel sense_buffer was not\nset. However when calling blk_execute_rq() with no sense buffer\none is provided from the stack. Now bsg at blk_complete_sgv4_hdr_rq()\nwould check if rq-\u003esense_len and a sense was requested by sg_io_v4\nthe rq-\u003esense was copy_user() back, but by now it is already mangled\nstack memory.\n\nI have fixed that by forcing a sense_buffer when calling bsg_map_hdr().\nThe bsg_command-\u003esense is provided in the write/read path like before,\nand on-the-stack buffer is provided when doing SG_IO.\n\nI have also fixed a dprintk message to print rq-\u003eerrors in hex because\nof the scsi bit-field use of this member. For other block devices it\ndoes not matter anyway.\n\nSigned-off-by: Boaz Harrosh \u003cbharrosh@panasas.com\u003e\nAcked-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "3ada8b7e980dac7cc42937d42d90ee51b19204fe",
      "tree": "6c23e272997cd5b68459c5a92a4490504f1c4be7",
      "parents": [
        "4383fc3d9a98759a1ec3c57a30781e95a4cfcfa9"
      ],
      "author": {
        "name": "Kay Sievers",
        "email": "kay.sievers@vrfy.org",
        "time": "Tue Jan 06 10:44:43 2009 -0800"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Tue Jan 06 10:44:43 2009 -0800"
      },
      "message": "block: struct device - replace bus_id with dev_name(), dev_set_name()\n\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n"
    },
    {
      "commit": "f2f1fa78a155524b849edf359e42a3001ea652c0",
      "tree": "8d38fc76e48fc219e393ee57ee5f76843b735258",
      "parents": [
        "24920a79a27dd28e67088bbfcf36746d15587f4d"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 05 14:49:18 2008 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Dec 05 14:49:18 2008 -0800"
      },
      "message": "Enforce a minimum SG_IO timeout\n\nThere\u0027s no point in having too short SG_IO timeouts, since if the\ncommand does end up timing out, we\u0027ll end up through the reset sequence\nthat is several seconds long in order to abort the command that timed\nout.\n\nAs a result, shorter timeouts than a few seconds simply do not make\nsense, as the recovery would be longer than the timeout itself.\n\nAdd a BLK_MIN_SG_TIMEOUT to match the existign BLK_DEFAULT_SG_TIMEOUT.\n\nSuggested-by: Alan Cox \u003calan@lxorguk.ukuu.org.uk\u003e\nAcked-by: Tejun Heo \u003ctj@kernel.org\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: Jeff Garzik \u003cjeff@garzik.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "74f3c8aff36ad6552ea609c8b20bfd588fa16f38",
      "tree": "c046823751971ff37b66499282ca2b2e263cc71a",
      "parents": [
        "e915e872ed921d707bc32b3f2184d43abfa8c9e2"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Mon Aug 27 15:38:10 2007 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Oct 21 07:47:14 2008 -0400"
      },
      "message": "[PATCH] switch scsi_cmd_ioctl() to passing fmode_t\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "aeb5d727062a0238a2f96c9c380fbd2be4640c6f",
      "tree": "51dae8a071fcf42e4431a66d37c5b843c8e99cf6",
      "parents": [
        "2515ddc6db8eb49a79f0fe5e67ff09ac7c81eab4"
      ],
      "author": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Sep 02 15:28:45 2008 -0400"
      },
      "committer": {
        "name": "Al Viro",
        "email": "viro@zeniv.linux.org.uk",
        "time": "Tue Oct 21 07:47:06 2008 -0400"
      },
      "message": "[PATCH] introduce fmode_t, do annotations\n\nSigned-off-by: Al Viro \u003cviro@zeniv.linux.org.uk\u003e\n"
    },
    {
      "commit": "1ff9f542e5f87c299226557ce5e67a402ed4b502",
      "tree": "964bd7293fbf607f6a7a329d9fc40e0a2b798a96",
      "parents": [
        "ae87221d3ce49d9de1e43756da834fd0bf05a2ad"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 20:03:34 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Thu Oct 16 09:24:41 2008 -0700"
      },
      "message": "device create: block: convert device_create_drvdata to device_create\n\nNow that device_create() has been audited, rename things back to the\noriginal call to be sane.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\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": "abf5439370491dd6fbb4fe1a7939680d2a9bc9d4",
      "tree": "aa3630557fe4a4bc6313617f5770af30eec68515",
      "parents": [
        "1941246dd98089dd637f44d3bd4f6cc1c61aa9e4"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Sat Aug 16 14:10:05 2008 +0900"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Aug 27 09:50:19 2008 +0200"
      },
      "message": "block: move cmdfilter from gendisk to request_queue\n\ncmd_filter works only for the block layer SG_IO with SCSI block\ndevices. It breaks scsi/sg.c, bsg, and the block layer SG_IO with SCSI\ncharacter devices (such as st). We hit a kernel crash with them.\n\nThe problem is that cmd_filter code accesses to gendisk (having struct\nblk_scsi_cmd_filter) via inode-\u003ei_bdev-\u003ebd_disk. It works for only\nSCSI block device files. With character device files, inode-\u003ei_bdev\nleads you to struct cdev. inode-\u003ei_bdev-\u003ebd_disk-\u003eblk_scsi_cmd_filter\nisn\u0027t safe.\n\nSCSI ULDs don\u0027t expose gendisk; they keep it private. bsg needs to be\nindependent on any protocols. We shouldn\u0027t change ULDs to expose their\ngendisk.\n\nThis patch moves struct blk_scsi_cmd_filter from gendisk to\nrequest_queue, a common object, which eveyone can access to.\n\nThe user interface doesn\u0027t change; users can change the filters via\n/sys/block/. gendisk has a pointer to request_queue so the cmd_filter\ncode accesses to struct blk_scsi_cmd_filter.\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": "f79f060561d04a38d41e773ade9baafce3c96179",
      "tree": "42c8510983db05ba8a68626732940cfa73d6b60f",
      "parents": [
        "09857e35cdccf2457bb03c6d7595adc210a517cc"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed May 21 12:52:33 2008 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Mon Jul 21 21:54:41 2008 -0700"
      },
      "message": "device create: block: convert device_create to device_create_drvdata\n\ndevice_create() is race-prone, so use the race-free\ndevice_create_drvdata() instead as device_create() is going away.\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "89a93f2f4834f8c126e8d9dd6b368d0b9e21ec3d",
      "tree": "e731456fec0cab1225ad3e806dc8d3efefa0a78b",
      "parents": [
        "260eddf4391f162a69d1d163729249635fa7a78f",
        "fe9233fb6914a0eb20166c967e3020f7f0fba2c9"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 15 18:58:04 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Tue Jul 15 18:58:04 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: (102 commits)\n  [SCSI] scsi_dh: fix kconfig related build errors\n  [SCSI] sym53c8xx: Fix bogus sym_que_entry re-implementation of container_of\n  [SCSI] scsi_cmnd.h: remove double inclusion of linux/blkdev.h\n  [SCSI] make struct scsi_{host,target}_type static\n  [SCSI] fix locking in host use of blk_plug_device()\n  [SCSI] zfcp: Cleanup external header file\n  [SCSI] zfcp: Cleanup code in zfcp_erp.c\n  [SCSI] zfcp: zfcp_fsf cleanup.\n  [SCSI] zfcp: consolidate sysfs things into one file.\n  [SCSI] zfcp: Cleanup of code in zfcp_aux.c\n  [SCSI] zfcp: Cleanup of code in zfcp_scsi.c\n  [SCSI] zfcp: Move status accessors from zfcp to SCSI include file.\n  [SCSI] zfcp: Small QDIO cleanups\n  [SCSI] zfcp: Adapter reopen for large number of unsolicited status\n  [SCSI] zfcp: Fix error checking for ELS ADISC requests\n  [SCSI] zfcp: wait until adapter is finished with ERP during auto-port\n  [SCSI] ibmvfc: IBM Power Virtual Fibre Channel Adapter Client Driver\n  [SCSI] sg: Add target reset support\n  [SCSI] lib: Add support for the T10 (SCSI) Data Integrity Field CRC\n  [SCSI] sd: Move scsi_disk() accessor function to sd.h\n  ...\n"
    },
    {
      "commit": "d1794f2c5b5817eb79ccc5e00701ca748d1b073a",
      "tree": "5a4c98e694e88a8c82f342d0cc9edb2a4cbbef36",
      "parents": [
        "a41eebab7537890409ea9dfe0fcda9b5fbdb090d",
        "2fceef397f9880b212a74c418290ce69e7ac00eb"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 14 14:48:31 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 14 14:48:31 2008 -0700"
      },
      "message": "Merge branch \u0027bkl-removal\u0027 of git://git.lwn.net/linux-2.6\n\n* \u0027bkl-removal\u0027 of git://git.lwn.net/linux-2.6: (146 commits)\n  IB/umad: BKL is not needed for ib_umad_open()\n  IB/uverbs: BKL is not needed for ib_uverbs_open()\n  bf561-coreb: BKL unneeded for open()\n  Call fasync() functions without the BKL\n  snd/PCM: fasync BKL pushdown\n  ipmi: fasync BKL pushdown\n  ecryptfs: fasync BKL pushdown\n  Bluetooth VHCI: fasync BKL pushdown\n  tty_io: fasync BKL pushdown\n  tun: fasync BKL pushdown\n  i2o: fasync BKL pushdown\n  mpt: fasync BKL pushdown\n  Remove BKL from remote_llseek v2\n  Make FAT users happier by not deadlocking\n  x86-mce: BKL pushdown\n  vmwatchdog: BKL pushdown\n  vmcp: BKL pushdown\n  via-pmu: BKL pushdown\n  uml-random: BKL pushdown\n  uml-mmapper: BKL pushdown\n  ...\n"
    },
    {
      "commit": "2fceef397f9880b212a74c418290ce69e7ac00eb",
      "tree": "d9cc09ab992825ef7fede4a688103503e3caf655",
      "parents": [
        "feae1ef116ed381625d3731c5ae4f4ebcb3fa302",
        "bce7f793daec3e65ec5c5705d2457b81fe7b5725"
      ],
      "author": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Mon Jul 14 15:29:34 2008 -0600"
      },
      "committer": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Mon Jul 14 15:29:34 2008 -0600"
      },
      "message": "Merge commit \u0027v2.6.26\u0027 into bkl-removal\n"
    },
    {
      "commit": "dddec01eb8e2b56267b37a6f9f0997a64b4e0b2a",
      "tree": "b6d8bfbce9abd105384b9d116499afbe306b9c22",
      "parents": [
        "7daf705f362e349983e92037a198b8821db198af",
        "32502b8413a77b54b9e19809404109590c32dfb7"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 14 13:15:14 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Mon Jul 14 13:15:14 2008 -0700"
      },
      "message": "Merge branch \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-linus\u0027 of git://git.kernel.dk/linux-2.6-block: (37 commits)\n  splice: fix generic_file_splice_read() race with page invalidation\n  ramfs: enable splice write\n  drivers/block/pktcdvd.c: avoid useless memset\n  cdrom: revert commit 22a9189 (cdrom: use kmalloced buffers instead of buffers on stack)\n  scsi: sr avoids useless buffer allocation\n  block: blk_rq_map_kern uses the bounce buffers for stack buffers\n  block: add blk_queue_update_dma_pad\n  DAC960: push down BKL\n  pktcdvd: push BKL down into driver\n  paride: push ioctl down into driver\n  block: use get_unaligned_* helpers\n  block: extend queue_flag bitops\n  block: request_module(): use format string\n  Add bvec_merge_data to handle stacked devices and -\u003emerge_bvec()\n  block: integrity flags can\u0027t use bit ops on unsigned short\n  cmdfilter: extend default read filter\n  sg: fix odd style (extra parenthesis) introduced by cmd filter patch\n  block: add bounce support to blk_rq_map_user_iov\n  cfq-iosched: get rid of enable_idle being unused warning\n  allow userspace to modify scsi command filter on per device basis\n  ...\n"
    },
    {
      "commit": "8df5fc042c8e7c08dc438c8198b62407ee1e91a0",
      "tree": "87a068716da8f04421e7cb6e9652ced863a9381d",
      "parents": [
        "27898988174bb211fd962ea73b9c6dc09f888705"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Mon Jul 07 15:50:01 2008 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sat Jul 12 10:14:56 2008 -0500"
      },
      "message": "[SCSI] bsg: fix oops on remove\n\nIf you do a modremove of any sas driver, you run into an oops on\nshutdown when the host is removed (coming from the host bsg device).\nThe root cause seems to be that there\u0027s a use after free of the\nbsg_class_device:  In bsg_kref_release_function, this is used (to do a\nput_device(bcg-\u003eparent) after bcg-\u003erelease has been called.  In sas (and\npossibly many other things) bcd-\u003erelease frees the queue which contains\nthe bsg_class_device, so we get a put_device on unreferenced memory.\nFix this by taking a copy of the pointer to the parent before releasing\nbsg.\n\nAcked-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "3f27e3ed11e67c5ee19d560a50eafd93cf8c6682",
      "tree": "d2ed33ce7ca12c8b7e1c585ba9b2097095b0f89c",
      "parents": [
        "30e9ba9f2001f45960507f1963551311a67d0209"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Thu May 29 07:56:55 2008 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sat Jul 12 08:22:23 2008 -0500"
      },
      "message": "[SCSI] bsg: fix bsg_mutex hang with device removal\n\nWe don\u0027t need to hold bsg_mutex during bsg_complete_all_commands(). It\nleads to a problem that we block bsg_unregister_queue during\nbsg_complete_all_commands (untill all the outstanding commands\ncomplete).\n\nThanks to Pete Wyckoff for finding the bug and testing the patch.\n\nThe detailed bug report is:\n\nhttp://marc.info/?l\u003dlinux-scsi\u0026m\u003d121182137132145\u0026w\u003d2\n\nTested-by: Pete Wyckoff \u003cpw@osc.edu\u003e\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "0b07de85a76e1346e675f0e98437378932473df7",
      "tree": "b86e5e0be27679c408ab525534c76162754129b9",
      "parents": [
        "6e2401ad6f33de15ff00f78b88159f00a14f3b35"
      ],
      "author": {
        "name": "Adel Gadllah",
        "email": "adel.gadllah@gmail.com",
        "time": "Thu Jun 26 13:48:27 2008 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Thu Jul 03 13:21:14 2008 +0200"
      },
      "message": "allow userspace to modify scsi command filter on per device basis\n\nThis patch exports the per-gendisk command filter to user space through\nsysfs, so it can be changed by the system administrator.\nAll users of the old cmd filter have been converted to use the new one.\n\nOriginal patch from Peter Jones.\n\nSigned-off-by: Adel Gadllah \u003cadel.gadllah@gmail.com\u003e\nSigned-off-by: Peter Jones \u003cpjones@redhat.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "75bd2ef1457998791cfc89cd59927574488fc22a",
      "tree": "8468afbf17f58ab7bfbb661fa167e50a9e06994c",
      "parents": [
        "b8291ad07a7f3b5b990900f0001198ac23ba893e"
      ],
      "author": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Thu May 15 09:09:23 2008 -0600"
      },
      "committer": {
        "name": "Jonathan Corbet",
        "email": "corbet@lwn.net",
        "time": "Sun May 18 15:43:40 2008 -0600"
      },
      "message": "bsg: cdev lock_kernel() pushdown\n\nPush the cdev lock_kernel call into bsg_open().\n\nSigned-off-by: Jonathan Corbet \u003ccorbet@lwn.net\u003e\n"
    },
    {
      "commit": "d626e3bf728c47746f2129aa00c775d4e8c2a73b",
      "tree": "551a8c362c7b9833e7848bc6167cf322f75563a1",
      "parents": [
        "b66e1f11ebc429569a3784aaf64123633d9e3ed1",
        "7ad4a485002c141f156a014e89542e01e7f8e36a"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 02 13:52:35 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 02 13:52:35 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:\n  [SCSI] aic94xx: fix section mismatch\n  [SCSI] u14-34f: Fix 32bit only problem\n  [SCSI] dpt_i2o: sysfs code\n  [SCSI] dpt_i2o: 64 bit support\n  [SCSI] dpt_i2o: move from virt_to_bus/bus_to_virt to dma_alloc_coherent\n  [SCSI] dpt_i2o: use standard __init / __exit code\n  [SCSI] megaraid_sas: fix suspend/resume sections\n  [SCSI] aacraid: Add Power Management support\n  [SCSI] aacraid: Fix jbod operations scan issues\n  [SCSI] aacraid: Fix warning about macro side-effects\n  [SCSI] add support for variable length extended commands\n  [SCSI] Let scsi_cmnd-\u003ecmnd use request-\u003ecmd buffer\n  [SCSI] bsg: add large command support\n  [SCSI] aacraid: Fix down_interruptible() to check the return value correctly\n  [SCSI] megaraid_sas; Update the Version and Changelog\n  [SCSI] ibmvscsi: Handle non SCSI error status\n  [SCSI] bug fix for free list handling\n  [SCSI] ipr: Rename ipr\u0027s state scsi host attribute to prevent collisions\n  [SCSI] megaraid_mbox: fix Dell CERC firmware problem\n"
    },
    {
      "commit": "9f5de6b105bfa45911d46566df0b36720b648c42",
      "tree": "ef65b8fc303416def57688c8681a38af1f211c19",
      "parents": [
        "0462590efe9a562dd2aa976ae2dc9cd2e6f5a0c6"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Wed Apr 30 13:16:21 2008 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri May 02 10:17:35 2008 -0500"
      },
      "message": "[SCSI] bsg: add large command support\n\nThis enables bsg to handle the request length larger than BLK_MAX_CDB\n(mainly for the variable length CDB format).\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "24c03d47d0481ed7b172b398f6c9b7ca1fafb9fa",
      "tree": "d24b94e09b12a2c16cc0cf49c273af846fcc6f13",
      "parents": [
        "e37d05dad7ff9744efd8ea95a70d389e9a65a6fc"
      ],
      "author": {
        "name": "Harvey Harrison",
        "email": "harvey.harrison@gmail.com",
        "time": "Thu May 01 04:35:17 2008 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Thu May 01 08:04:02 2008 -0700"
      },
      "message": "block: remove remaining __FUNCTION__ occurrences\n\n__FUNCTION__ is gcc specific, use __func__\n\nSigned-off-by: Harvey Harrison \u003charvey.harrison@gmail.com\u003e\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: Andrew Morton \u003cakpm@linux-foundation.org\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "97f46ae45c70857e459b7f8df1fc2807e7bd90a9",
      "tree": "7e7245349c433f67be23c6a75c3936c0466b59d6",
      "parents": [
        "643eb2d932c97a0583381629d632d486934cf7ee"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Sat Apr 19 00:43:14 2008 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Tue Apr 22 15:16:32 2008 -0500"
      },
      "message": "[SCSI] bsg: add release callback support\n\nThis patch adds release callback support, which is called when a bsg\ndevice goes away. bsg_register_queue() takes a pointer to a callback\nfunction. This feature is useful for stuff like sas_host that can\u0027t\nuse the release callback in struct device.\n\nIf a caller doesn\u0027t need bsg\u0027s release callback, it can call\nbsg_register_queue() with NULL pointer (e.g. scsi devices can use\nrelease callback in struct device so they don\u0027t need bsg\u0027s callback).\n\nWith this patch, bsg uses kref for refcounts on bsg devices instead of\nget/put_device in fops-\u003eopen/release. bsg calls put_device and the\ncaller\u0027s release callback (if it was registered) in kref_put\u0027s\nrelease.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "ee959b00c335d7780136c5abda37809191fe52c3",
      "tree": "7775f3b274fd8caf5e7e5154fea89e96f2babd94",
      "parents": [
        "56d110e852b0b1c85ad6c9bfe1cb4473ceb16402"
      ],
      "author": {
        "name": "Tony Jones",
        "email": "tonyj@suse.de",
        "time": "Fri Feb 22 00:13:36 2008 +0100"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Sat Apr 19 19:10:33 2008 -0700"
      },
      "message": "SCSI: convert struct class_device to struct device\n\nIt\u0027s big, but there doesn\u0027t seem to be a way to split it up smaller...\n\nSigned-off-by: Tony Jones \u003ctonyj@suse.de\u003e\nSigned-off-by: Kay Sievers \u003ckay.sievers@vrfy.org\u003e\nCc: Roland Dreier \u003crolandd@cisco.com\u003e\nCc: Sean Hefty \u003csean.hefty@intel.com\u003e\nCc: Hal Rosenstock \u003chal.rosenstock@gmail.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\n\n"
    },
    {
      "commit": "99773aab0377ee5bcaf37b7cd2577c3465422dab",
      "tree": "17f6246e20ed3d33d66fe105b20322cccb6c19a9",
      "parents": [
        "842ea771c38a3f0f78bdb1b4d47881e6a210fc15"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Mon Mar 31 10:03:42 2008 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Apr 18 11:48:43 2008 -0500"
      },
      "message": "[SCSI] bsg: no need to set BSG_F_BLOCK bit in bsg_complete_all_commands\n\nBefore bsg_complete_all_commands is called, BSG_F_BLOCK bit is always\nset.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "842ea771c38a3f0f78bdb1b4d47881e6a210fc15",
      "tree": "9cf19d7f833922ddada7cf3ccbeec617ac77eda1",
      "parents": [
        "43ac9e62c4a0a47fe3de1f1eb9ca7b8c91dce234"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Mon Mar 31 10:03:41 2008 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Apr 18 11:48:26 2008 -0500"
      },
      "message": "[SCSI] bsg: remove minor in struct bsg_device\n\nminor in struct bsg_device is used as identifier to find the\ncorresponding struct bsg_device_class. However, request_queuse can be\nused as identifier for that and the minor in struct bsg_device is\nunnecessary.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "43ac9e62c4a0a47fe3de1f1eb9ca7b8c91dce234",
      "tree": "9c7f042739e3d16c6704be508adff6a7fe1f9c52",
      "parents": [
        "c3ff1b90d8924dd1c55c3b56a79bfc563ace4a42"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Mon Mar 31 10:03:40 2008 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Apr 18 11:48:08 2008 -0500"
      },
      "message": "[SCSI] bsg: use better helper list functions\n\nThis replace hlist_for_each and list_entry with hlist_for_each_entry\nand list_first_entry respectively.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "c3ff1b90d8924dd1c55c3b56a79bfc563ace4a42",
      "tree": "c012845d2203b81afd4b2dade9dc9f0d453da906",
      "parents": [
        "d45ac4fa8f277e1ec5acfb67ce5d6406555760cf"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Mon Mar 31 10:03:39 2008 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Apr 18 11:47:49 2008 -0500"
      },
      "message": "[SCSI] bsg: replace kobject_get with blk_get_queue\n\nBoth takes a ref to a queue. But blk_get_queue checks QUEUE_FLAG_DEAD\nand is more appropriate interface here.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "d45ac4fa8f277e1ec5acfb67ce5d6406555760cf",
      "tree": "f620055da979b1af58bfdac16f35f90cd67e6f13",
      "parents": [
        "0e4ff797d7f2f2bb860b8f31dc5d1f2273b2f05a"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Mon Mar 31 10:03:38 2008 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Apr 18 11:47:19 2008 -0500"
      },
      "message": "[SCSI] bsg: takes a ref to struct device in fops-\u003eopen\n\nbsg_register_queue() takes a ref to struct device that a caller\npasses. For example, bsg takes a ref to the sdev_gendev for scsi\ndevices. However, bsg doesn\u0027t inrease the refcount in fops-\u003eopen. So\nwhile an application opens a bsg device, the scsi device that the bsg\ndevice holds can go away (bsg also takes a ref to a queue, but it\ndoesn\u0027t prevent the device from going away).\n\nWith this patch, bsg increases the refcount of struct device in\nfops-\u003eopen and decreases it in fops-\u003erelease.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "7a85f8896f4b4a4a0249563b92af9e3161a6b467",
      "tree": "616c62e3c96237e874fc0f47133fbca2160913b5",
      "parents": [
        "89b6e743788516491846724d7ef89bcac7ac9c99"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Mar 04 11:17:11 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@carl.home.kernel.dk",
        "time": "Tue Mar 04 11:17:11 2008 +0100"
      },
      "message": "block: restore the meaning of rq-\u003edata_len to the true data length\n\nThe meaning of rq-\u003edata_len was changed to the length of an allocated\nbuffer from the true data length. It breaks SG_IO friends and\nbsg. This patch restores the meaning of rq-\u003edata_len to the true data\nlength and adds rq-\u003eextra_len to store an extended length (due to\ndrain buffer and padding).\n\nThis patch also removes the code to update bio in blk_rq_map_user\nintroduced by the commit 40b01b9bbdf51ae543a04744283bf2d56c4a6afa.\nThe commit adjusts bio according to memory alignment\n(queue_dma_alignment). However, memory alignment is NOT padding\nalignment. This adjustment also breaks SG_IO friends and bsg. Padding\nalignment needs to be fixed in a proper way (by a separate patch).\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Jens Axboe \u003caxboe@carl.home.kernel.dk\u003e\n"
    },
    {
      "commit": "6b00769fe1502b4ad97bb327ef7ac971b208bfb5",
      "tree": "2ffc51176437ebf4f8a4ab13de59a32431043f15",
      "parents": [
        "40b01b9bbdf51ae543a04744283bf2d56c4a6afa"
      ],
      "author": {
        "name": "Tejun Heo",
        "email": "htejun@gmail.com",
        "time": "Tue Feb 19 11:36:35 2008 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Feb 19 11:36:35 2008 +0100"
      },
      "message": "block: add request-\u003eraw_data_len\n\nWith padding and draining moved into it, block layer now may extend\nrequests as directed by queue parameters, so now a request has two\nsizes - the original request size and the extended size which matches\nthe size of area pointed to by bios and later by sgs.  The latter size\nis what lower layers are primarily interested in when allocating,\nfilling up DMA tables and setting up the controller.\n\nBoth padding and draining extend the data area to accomodate\ncontroller characteristics.  As any controller which speaks SCSI can\nhandle underflows, feeding larger data area is safe.\n\nSo, this patch makes the primary data length field, request-\u003edata_len,\nindicate the size of full data area and add a separate length field,\nrequest-\u003eraw_data_len, for the unmodified request size.  The latter is\nused to report to higher layer (userland) and where the original\nrequest size should be fed to the controller or device.\n\nSigned-off-by: Tejun Heo \u003chtejun@gmail.com\u003e\nCc: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "40f620286dd08e29c995ca631f45e8d03f4fe1be",
      "tree": "9bdfd55ad3a149bdcb1ede9bf452f32118214aea",
      "parents": [
        "3d9dd6eef888658d26ebea0cc24d15d2a93ab015"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Jan 25 20:05:55 2008 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Wed Jan 30 13:14:26 2008 -0600"
      },
      "message": "[SCSI] bsg: copy the cmd_type field to the subordinate request for bidi\n\nThis fixes a problem in SCSI where we use the (previously\nuninitialised) cmd_type via blk_pc_request() to set up the transfer in\nscsi_init_sgtable().\n\nAcked-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "2d507a01dac338831266b44ccbb01c69e84606ed",
      "tree": "ec59ce6bc1ec86e93d1683107d41b5dbce0b370a",
      "parents": [
        "2d4b63e1505b317d4253cee3f2970792ec6d41cb"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Sat Dec 29 10:59:53 2007 -0600"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@HansenPartnership.com",
        "time": "Fri Jan 11 18:29:13 2008 -0600"
      },
      "message": "[SCSI] libsas, bsg: pass errors through correctly\n\nCurrently in BSG, errors returned in req-\u003eerrors aren\u0027t passed back to\nthe calling programme (either via SG_IO or via read/write).  Fix this,\nwhile preserving the SCSI convention of returning status in\nreq-\u003eerrors.\n\nNow update libsas to return errors correctly instead of to ignore\nthem.\n\nAcked-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@HansenPartnership.com\u003e\n"
    },
    {
      "commit": "7344be053ab9a1910e77ba6472883a5c83dda569",
      "tree": "1db6c38ced516ef84913f6460cfcc60f50059e89",
      "parents": [
        "65a6ec0d72a07f16719e9b7a96e1c4bae044b591"
      ],
      "author": {
        "name": "Arjan van de Ven",
        "email": "arjan@linux.intel.com",
        "time": "Mon Oct 15 11:01:53 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Oct 16 09:59:54 2007 +0200"
      },
      "message": "bsg: mark struct file_operations const\n\nstruct file_operations is generally const (to avoid false sharing and get compile time errors on accidental writing to this shared structure); bsg recently added one of these without the const keyword. Patch below marks it const....\n\nSigned-off-by: Arjan van de Ven \u003carjan@linux.intel.com\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "7e7654a92a5a75a350cc3458389bc76273498f6a",
      "tree": "c8eae3d72f87b4b4fbf94446b4f0993c2a08b000",
      "parents": [
        "19c38de88a80913351fcacefdb461cc0b585fa87"
      ],
      "author": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Wed Sep 12 15:06:57 2007 -0700"
      },
      "committer": {
        "name": "Greg Kroah-Hartman",
        "email": "gregkh@suse.de",
        "time": "Fri Oct 12 14:51:02 2007 -0700"
      },
      "message": "cdev: remove unneeded setting of cdev names\n\nstruct cdev does not need the kobject name to be set, as it is never\nused.  This patch fixes up the few places it is set.\n\n\nSigned-off-by: Greg Kroah-Hartman \u003cgregkh@suse.de\u003e\nAcked-by: Mauro Carvalho Chehab \u003cmchehab@infradead.org\u003e\n\n"
    },
    {
      "commit": "0c6a89ba640d28e1dcd7fd1a217d2cfb92ae4953",
      "tree": "f222695dfb6def9299717dd23f729c15fdd96919",
      "parents": [
        "db47c2d8d98a76083a88ec53f44cc74c48dfd1e8"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "tomof@acm.org",
        "time": "Sun Jul 29 23:00:46 2007 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.localdomain",
        "time": "Tue Jul 31 10:43:05 2007 -0500"
      },
      "message": "[SCSI] bsg: update sg_io_v4 structure\n\nThis updates sg_io_v4 structure (based on Doug\u0027s RFC, release 1.3).\n\nThe major changes are:\n\n- add dout_resid field\n- increase tag size to 64 bits to comply with SAM-4 and SRP\n- add dout_iovec_count and din_iovec_count\n\ndout_iovec_count and din_iovec_count aren\u0027t supported now. I\u0027m not\nsure whether they will be supported or not but they were added for the\npossible future changes.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "a6ce22a5f61ba838b43763bf1e5be399f9dee4d0",
      "tree": "2abed83e85724bd45c5b0b842b9ce36d1c4ca160",
      "parents": [
        "4e950f6f0189f65f8bf069cf2272649ef418f5e4",
        "09120a8cd38dbdb0c9a59ff8456cf88b510e6baa"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Jul 29 17:22:03 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Jul 29 17:22:03 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-rc-fixes-2.6: (28 commits)\n  [SCSI] mpt fusion: Changes in mptctl.c for logging support\n  [SCSI] mpt fusion: Changes in mptfc.c mptlan.c mptsas.c and mptspi.c for logging support\n  [SCSI] mpt fusion: Changes in mptscsih.c for logging support\n  [SCSI] mpt fusion: Changes in mptbase.c for logging support\n  [SCSI] mpt fusion: logging support in Kconfig, Makefile, mptbase.h and addition of mptdebug.h\n  [SCSI] libsas: Fix potential NULL dereference in sas_smp_get_phy_events()\n  [SCSI] bsg: Fix build for CONFIG_BLOCK\u003dn\n  [SCSI] aacraid: fix Sunrise Lake reset handling\n  [SCSI] aacraid: add SCSI SYNCHONIZE_CACHE range checking\n  [SCSI] add easyRAID to the no report luns blacklist\n  [SCSI] advansys: lindent and other large, uninteresting changes\n  [SCSI] aic79xx, aic7xxx: Fix incorrect width setting\n  [SCSI] qla2xxx: fix to honor ignored parameters in sysfs attributes\n  [SCSI] aacraid: draw line in sand, sundry cleanup and version update\n  [SCSI] iscsi_tcp: Turn off bounce buffers\n  [SCSI] libiscsi: fix cmd seqeunce number checking\n  [SCSI] iscsi_tcp, ib_iser Enable module refcounting for iscsi host template\n  [SCSI] libiscsi: make sure session is not blocked when removing host\n  [SCSI] libsas: Remove PCI dependencies\n  [SCSI] simscsi: convert to use the data buffer accessors\n  ...\n"
    },
    {
      "commit": "165125e1e480f9510a5ffcfbfee4e3ee38c05f23",
      "tree": "8009c8a5ff09e26dc2418d42f66ecafb055c52a2",
      "parents": [
        "f695baf2df9e0413d3521661070103711545207a"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 24 09:28:11 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 24 09:28:11 2007 +0200"
      },
      "message": "[BLOCK] Get rid of request_queue_t typedef\n\nSome of the code has been gradually transitioned to using the proper\nstruct request_queue, but there\u0027s lots left. So do a full sweet of\nthe kernel and get rid of this typedef and replace its uses with\nthe proper type.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "1079ddcb07e0c39b576cd60174ca00ed9545c163",
      "tree": "d66a69299db61d01201ea2c9861bfa38cf092936",
      "parents": [
        "598443a2124618fc8fe5a8bae32c129666ac3eab"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Mon Jul 23 09:33:27 2007 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.localdomain",
        "time": "Mon Jul 23 16:50:16 2007 -0500"
      },
      "message": "[SCSI] bsg: remove unnecessary code and comments\n\n- kill uhdr in bsg_command structure\n- it\u0027s not necessary to put SG v4 stuff to block/scsi_ioctl.c\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "598443a2124618fc8fe5a8bae32c129666ac3eab",
      "tree": "a86e9a21e3ef69b926c04bb60d2c0823662f5685",
      "parents": [
        "4b39c1d98327b0a572392cdb0ee22db1de0e7cb9"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Mon Jul 23 09:33:26 2007 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.localdomain",
        "time": "Mon Jul 23 16:49:44 2007 -0500"
      },
      "message": "[SCSI] bsg: use lib/idr.c to find a unique minor number\n\nThis replaces the current linear search for a unique minor number with\nlib/idr.c.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "e6f194d8f6f50da6837af637b2fd839c34185f7a",
      "tree": "f3c479a2bc24d49a150ff183e2614ee0f76cb366",
      "parents": [
        "7578634990fb47cc30083fbd812689aa6deacfc0",
        "b91421749a1840148d8c81637c03c0ace3f35269"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Jul 22 11:36:49 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Sun Jul 22 11:36:49 2007 -0700"
      },
      "message": "Merge master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* master.kernel.org:/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (60 commits)\n  [SCSI] libsas: make ATA functions selectable by a config option\n  [SCSI] bsg: unexport sg v3 helper functions\n  [SCSI] bsg: fix bsg_unregister_queue\n  [SCSI] bsg: make class backlinks\n  [SCSI] 3w-9xxx: add support for 9690SA\n  [SCSI] bsg: fix bsg_register_queue error path\n  [SCSI] ESP: Increase ESP_BUS_TIMEOUT to 275.\n  [SCSI] libsas: fix scr_read/write users and update the libata documentation\n  [SCSI] mpt fusion: update Kconfig help\n  [SCSI] scsi_transport_sas: add destructor for bsg\n  [SCSI] iscsi_tcp: buggered kmalloc()\n  [SCSI] qla2xxx: Update version number to 8.02.00-k2.\n  [SCSI] qla2xxx: Add ISP25XX support.\n  [SCSI] qla2xxx: Use pci_try_set_mwi().\n  [SCSI] qla2xxx: Use PCI-X/PCI-Express read control interfaces.\n  [SCSI] qla2xxx: Re-factor isp_operations to static structures.\n  [SCSI] qla2xxx: Validate mid-layer \u0027underflow\u0027 during check-condition handling.\n  [SCSI] qla2xxx: Correct setting of \u0027current\u0027 and \u0027supported\u0027 speeds during FDMI registration.\n  [SCSI] qla2xxx: Generalize iIDMA support.\n  [SCSI] qla2xxx: Generalize FW-Interface-2 support.\n  ...\n"
    },
    {
      "commit": "df468820b6881fc14e50f6b2fcffd3e945417d68",
      "tree": "d1c0adca77b728dae3f4653de0388202d4f5ee5a",
      "parents": [
        "39dca558a5b52b63e49bc234a7e887be092aa690"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "tomof@acm.org",
        "time": "Sat Jul 21 13:23:25 2007 +0900"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.localdomain",
        "time": "Sat Jul 21 08:58:41 2007 -0500"
      },
      "message": "[SCSI] bsg: fix bsg_unregister_queue\n\nscsi_sysfs_add_sdev ignores the bsg_register_queue failure, so\nbsg_unregister_queue must check whether the queue has a bsg device.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "39dca558a5b52b63e49bc234a7e887be092aa690",
      "tree": "31c3c412458e657fdbedc73f50b7de26c7ed0c4a",
      "parents": [
        "0e78d158b67fba3977f577f293c323359d80dd0e"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@steeleye.com",
        "time": "Fri Jul 20 18:22:17 2007 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.localdomain",
        "time": "Sat Jul 21 08:58:23 2007 -0500"
      },
      "message": "[SCSI] bsg: make class backlinks\n\nCurrently, bsg doesn\u0027t make class backlinks (a process whereby you\u0027d get\na link to bsg in the device directory in the same way you get one for\nsg).  This is because the bsg device is uninitialised, so the class\ndevice has nothing it can attach to.  The fix is to make the bsg device\npoint to the cdevice of the entity creating the bsg, necessitating\nchanging the bsg_register_queue() prototype into a form that takes the\ngeneric device.\n\nAcked-by: FUJITA Tomonori \u003ctomof@acm.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "6826ee4fdbe24c7aab56ce833ef94be81d190587",
      "tree": "4e14f18eec72bf421fde21abb3113880fe37c428",
      "parents": [
        "d73f5222a618a91452d41c29f5996ce3d9c63673"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@steeleye.com",
        "time": "Fri Jul 20 16:50:10 2007 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.localdomain",
        "time": "Sat Jul 21 08:53:33 2007 -0500"
      },
      "message": "[SCSI] bsg: fix bsg_register_queue error path\n\nunfortunately, if IS_ERR(class_dev) is true, that means class_dev isn\u0027t\nnull and the check in the error leg is pointless ... it\u0027s also asking\nfor trouble to request unregistration of a device we haven\u0027t actually\ncreated (although it works currently).  Fix by using explicit gotos and\nunregisters.\n\nAcked-by: FUJITA Tomonori \u003ctomof@acm.org\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "20c2df83d25c6a95affe6157a4c9cac4cf5ffaac",
      "tree": "415c4453d2b17a50abe7a3e515177e1fa337bd67",
      "parents": [
        "64fb98fc40738ae1a98bcea9ca3145b89fb71524"
      ],
      "author": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "committer": {
        "name": "Paul Mundt",
        "email": "lethal@linux-sh.org",
        "time": "Fri Jul 20 10:11:58 2007 +0900"
      },
      "message": "mm: Remove slab destructors from kmem_cache_create().\n\nSlab destructors were no longer supported after Christoph\u0027s\nc59def9f222d44bb7e2f0a559f2906191a0862d7 change. They\u0027ve been\nBUGs for both slab and slub, and slob never supported them\neither.\n\nThis rips out support for the dtor pointer from kmem_cache_create()\ncompletely and fixes up every single callsite in the kernel (there were\nabout 224, not including the slab allocator definitions themselves,\nor the documentation references).\n\nSigned-off-by: Paul Mundt \u003clethal@linux-sh.org\u003e\n"
    },
    {
      "commit": "80ed71ce1a3369521c693ebf30abb9cfe1dc7e66",
      "tree": "f439b74804b10b04a34fe0c3f4c4597f1f7e890a",
      "parents": [
        "b02b6bc46571b21a545c9e697df1e226ff22bc81"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@steeleye.com",
        "time": "Thu Jul 19 10:15:10 2007 -0500"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "jejb@mulgrave.localdomain",
        "time": "Thu Jul 19 12:37:34 2007 -0500"
      },
      "message": "[SCSI] bsg: separate bsg and SCSI (so SCSI can be modular)\n\nThis patch moves the bsg registration into SCSI so that bsg no longer\nhas a dependency on the scsi_interface_register API.\n\nThis can be viewed as a temporary expedient until we can get universal\nbsg binding sorted out properly.  Also use the sdev bus_id as the\ngeneric bsg name (to avoid clashes with the queue name).\n\nAcked-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nAcked-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\n"
    },
    {
      "commit": "5d3a8cd34beb1521a2697c6ed7b647ef9bafdbf1",
      "tree": "3bfa98575d89ffc1f30ef0b7a94f0abebae5e848",
      "parents": [
        "13bd59a111760bb7cba8dcf17b6b55a0d99d3592"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 17 15:10:09 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 17 15:10:09 2007 +0200"
      },
      "message": "bsg: fix missing space in version print\n\nTomo introduced a bug in his commit, removing the space between\n\"driver\" and \"version\" in the init printk.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "0ed081ce203b0fd9a44763b70f41e36596f9b431",
      "tree": "0c38268308d14d67a697812bd3cf4623a65c3626",
      "parents": [
        "1c1133e1ff850279d604581af31a400c830b0393"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Jul 17 12:21:35 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 17 12:21:35 2007 +0200"
      },
      "message": "bsg: minor cleanup\n\n- fix MODULE_DESCRIPTION typo.\n- unify MODULE_DESCRIPTION and bsg_version.\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": "1c1133e1ff850279d604581af31a400c830b0393",
      "tree": "4bb102eed5593273405db2171a69ed86692db5ae",
      "parents": [
        "9b9f770cef0037fd0e4d623f31ddfa8acda38205"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Jul 17 12:21:15 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 17 12:21:15 2007 +0200"
      },
      "message": "bsg: device hash table cleanup\n\n- kill unused bsg_list_idx macro.\n- add bsg_dev_idx_hash() that returns an appropriate hlist_head.\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": "9b9f770cef0037fd0e4d623f31ddfa8acda38205",
      "tree": "a0b8937223df1e5a519375d1fa797157b4a930a2",
      "parents": [
        "5cdf7f7678493996a835ef2e627976de8f9d1f40"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue Jul 17 12:20:46 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 17 12:20:46 2007 +0200"
      },
      "message": "bsg: fix initialization error handling bugs\n\nThis fixes the following bugs and cleans up the initialization code:\n\n- cdev_del is missing.\n- unregister_chrdev_region should be used instead of unregister_chrdev.\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": "46f6ef4afc14ae1426883a973c18735cfcd70d8f",
      "tree": "2e05e160899c50a36e3872e6a31581b78cc5bd57",
      "parents": [
        "25fd164303cd69eb5adfe7668d2c146dcd866163"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 17 08:56:10 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 17 08:56:10 2007 +0200"
      },
      "message": "bsg: convert to dynamic major\n\n240 was hardcoded, that was clearly a dumb mistake. Convert bsg\nto use alloc_chrdev_region() to retrieve a dynamic major.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "25fd164303cd69eb5adfe7668d2c146dcd866163",
      "tree": "89d1d7a529a499b7adf3ed1986798f7d5b48bd05",
      "parents": [
        "a5fcaa210626a79465321e344c91a6a7dc3881fa"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 17 08:52:29 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jul 17 08:52:29 2007 +0200"
      },
      "message": "bsg: address various review comments\n\nThis address most of the comments made by Andrew. The two remaining\nare conversion to idr, and dynamic major.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "abce891a10559343d8ac9f79b46d78afdba63a40",
      "tree": "4aff21669025c0dbe9f8fc7cbdd727613c554526",
      "parents": [
        "10b275ddfd05ccb414cfe0cc56a0f47ff20fe807"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 11:18:23 2007 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@woody.linux-foundation.org",
        "time": "Mon Jul 16 11:18:23 2007 -0700"
      },
      "message": "Fix new generic block device SG compile\n\nWe had a merge issue with the \"dentry\" field going away from the\nkobject, and being replaced by a sysfs_dirent field (named \"sd\")\ninstead.  That broke the BSG compile.\n\nCc: Jens Axboe \u003cjens.axboe@oracle.com\u003e\nCc: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nCc: James Bottomley \u003cJames.Bottomley@SteelEye.com\u003e\nSigned-off-by: Linus Torvalds \u003ctorvalds@linux-foundation.org\u003e\n"
    },
    {
      "commit": "15d10b611fa94b52f004a08a1d4cf7b39de3cba3",
      "tree": "39b1e114689b71d37677e9733428b355d52d4e44",
      "parents": [
        "2c9ecdf40af0554ee9a2b1cbbbbdbc77f90a40e1"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Mon Jul 16 08:52:16 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jul 16 08:52:47 2007 +0200"
      },
      "message": "bsg: add SCSI transport-level request support\n\nThis enables bsg to handle SCSI transport-level request like SAS\nmanagement protocol (SMP).\n\n- add BSG_SUB_PROTOCOL_{SCSI_CMD, SCSI_TMF, SCSI_TRANSPORT} definitions.\n- SCSI transport-level requests skip blk_verify_command().\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": "2c9ecdf40af0554ee9a2b1cbbbbdbc77f90a40e1",
      "tree": "6cbf0efc9c2da5a4efdab62f78db968eb3555ef0",
      "parents": [
        "abae1fde63fcdd2a3abaa0d7930938d8326f83d2"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Mon Jul 16 08:52:15 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jul 16 08:52:47 2007 +0200"
      },
      "message": "bsg: add bidi support\n\nbsg uses the rq-\u003enext_rq pointer for a bidi 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": "efba1a31f3f8fe9672eb96cd26e97fb96891f1c0",
      "tree": "052f4c58f618ef73cd2542425f618ac9b78410e7",
      "parents": [
        "e7d72173248c29c6f9ba14e40374266e1b954964"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Thu Jun 07 13:24:06 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jul 16 08:52:46 2007 +0200"
      },
      "message": "bsg: fix the deadlock on discarding done commands\n\nThe previous commit introduced a deadlock in discarding commands,\nbecause we forget to unlock the bd spinlock.\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": "e7d72173248c29c6f9ba14e40374266e1b954964",
      "tree": "5f4d14d210ca3d49d209942be0ce60e65a433ce7",
      "parents": [
        "4cf0723ac89b5f2189da2ad07ef875de26b83c77"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Tue May 08 15:32:03 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jul 16 08:52:46 2007 +0200"
      },
      "message": "bsg: fix a blocking read bug\n\nThis patch fixes a bug that read() returns ENODATA even with a\nblocking file descriptor when there are no commands pending.\n\nThis also includes some cleanups.\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": "4cf0723ac89b5f2189da2ad07ef875de26b83c77",
      "tree": "24af887ee01094740f4e3c672bd614b9d5db69bc",
      "parents": [
        "292b7f27129272c9ec0ee5fa56abb6f9061b1d83"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Fri Mar 30 11:19:39 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jul 16 08:52:46 2007 +0200"
      },
      "message": "bsg: minor bug fixes\n\nThis fixes the following minor issues:\n\n- add EXPORT_SYMBOL_GPL for bsg_register_queue and\nbsg_unregister_queue.\n\n- shut up gcc warnings\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Jens Axboe \u003caxboe@nelson.home.kernel.dk\u003e\n"
    },
    {
      "commit": "292b7f27129272c9ec0ee5fa56abb6f9061b1d83",
      "tree": "58cfad3604e271fa40e23640170c4737c217c28b",
      "parents": [
        "4e2872d6b0252d33f28ea67f33704208ca781978"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Wed Mar 28 13:29:58 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jul 16 08:52:46 2007 +0200"
      },
      "message": "improve bsg device allocation\n\nThis patch addresses on two issues on bsg device allocation.\n\n- the current maxium number of bsg devices is 256. It\u0027s too small if\nwe allocate bsg devices to all SCSI devices, transport entities, etc.\nThis increses the maxium number to 32768 (taken from the sg driver).\n\n- SCSI devices are dynamically added and removed. Currently, bsg can\u0027t\nhandle it well since bsd_device-\u003eminor is simply increased.\n\nThis is dependent on the patchset that I posted yesterday:\n\nhttp://marc.info/?l\u003dlinux-scsi\u0026m\u003d117440208726755\u0026w\u003d2\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": "4e2872d6b0252d33f28ea67f33704208ca781978",
      "tree": "f65f01929d9a262d57e779705ff3cc643ad0ffd0",
      "parents": [
        "d351af01b9307566135cb0f355ca65d0952c10b5"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Wed Mar 28 13:29:24 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jul 16 08:52:46 2007 +0200"
      },
      "message": "bind bsg to all SCSI devices\n\nThis patch binds bsg to all SCSI devices (their request queues) like\nthe current sg driver does. We can send SCSI commands to non disk and\ncdrom scsi devices like OSD via bsg.\n\nThis patch removes bsg_register_queue from blk_register_queue so bsg\ndevices aren\u0027t bound to non SCSI block devices. If they want bsg, I\u0027ll\nsend a patch to do that.\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": "d351af01b9307566135cb0f355ca65d0952c10b5",
      "tree": "6d6b964e5d6474f427907ca259e6c6ac76ed9d90",
      "parents": [
        "45e79a3acdcf54113b3d7b23e9e64e6541dbfeb5"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Mon Jul 09 12:40:35 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jul 16 08:52:46 2007 +0200"
      },
      "message": "bsg: bind bsg to request_queue instead of gendisk\n\nThis patch binds bsg devices to request_queue instead of gendisk. Any\nobjects (like transport entities) can define own request_handler and\ncreate own bsg device.\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": "45e79a3acdcf54113b3d7b23e9e64e6541dbfeb5",
      "tree": "b8e7598b26ce446577e162189e635f6b87b10a5b",
      "parents": [
        "7e75d73080d822d2bbbd5b0f7f293719dd1f9109"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Mon Jul 09 12:39:20 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jul 16 08:52:45 2007 +0200"
      },
      "message": "bsg: add a request_queue argument to scsi_cmd_ioctl()\n\nbsg uses scsi_cmd_ioctl() for some SCSI/sg ioctl\ncommands. scsi_cmd_ioctl() gets a request queue from a gendisk\narguement. This prevents bsg being bound to SCSI devices that don\u0027t\nhave a gendisk (like OSD). This adds a request_queue argument to\nscsi_cmd_ioctl(). The SCSI/sg ioctl commands doesn\u0027t use a gendisk so\nit\u0027s safe for any SCSI devices to use scsi_cmd_ioctl().\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": "7e75d73080d822d2bbbd5b0f7f293719dd1f9109",
      "tree": "e4f352255de5dd985727486c4f922c38d5414782",
      "parents": [
        "264a0472183ce7ad05eea3360f5907880a1e5e78"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "fujita.tomonori@lab.ntt.co.jp",
        "time": "Wed Jan 24 09:05:54 2007 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jul 16 08:52:45 2007 +0200"
      },
      "message": "bsg: simplify __bsg_alloc_command failpath\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": "264a0472183ce7ad05eea3360f5907880a1e5e78",
      "tree": "ca66b08269fb08691059a4122e28ecfa3d90ef4f",
      "parents": [
        "5309cb38de65eddd5f7e125da750accf949f29e8"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 23 16:30:17 2007 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jul 16 08:52:45 2007 +0200"
      },
      "message": "bsg: add cheasy error checks for sysfs stuff\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "5309cb38de65eddd5f7e125da750accf949f29e8",
      "tree": "911ee4e9d2c47ccd682505c8eb7d9e39ec889f8a",
      "parents": [
        "3862153b673516b2efa0447b9b3778f47ac8f8c8"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Tue Jan 23 16:24:41 2007 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jul 16 08:52:45 2007 +0200"
      },
      "message": "Add queue resizing support\n\nJust get rid of the preallocated command map, use the slab cache\nto get/free commands instead.\n\nOriginal patch from FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e,\nchanged by me to not use a mempool.\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "2ef7086a207d3d899ae88602a135fe1c24e1811f",
      "tree": "02ca9b8870b5635b90d7d19eaf7f4da600cfa9bd",
      "parents": [
        "b711afa6959e5c8f457f1687b5d4a485c7974f32"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Dec 20 11:26:11 2006 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jul 16 08:52:45 2007 +0200"
      },
      "message": "bsg: silence a bogus gcc warning\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "b711afa6959e5c8f457f1687b5d4a485c7974f32",
      "tree": "296c36a94b7077e3dab3d7e788a2851e0cbc3bf0",
      "parents": [
        "1594a3f0eb526c73bc3915e8da13f2abf0ea1acd"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Wed Dec 20 11:25:23 2006 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jul 16 08:52:45 2007 +0200"
      },
      "message": "bsg: style cleanup\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "10e8855b945193a62801429af3aab9f7e27ef56a",
      "tree": "cb58b35ad27f0c9ee6b7d1adab5ce6ca3a5bc918",
      "parents": [
        "70e36eceaf897da11aa0b4d82b46ca66e65a05f1"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "tomof@acm.org",
        "time": "Wed Dec 20 11:20:57 2006 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jul 16 08:52:44 2007 +0200"
      },
      "message": "bsg: add SG_IO to SG v4\n\nThis adds SG_IO support to SG v4.\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": "70e36eceaf897da11aa0b4d82b46ca66e65a05f1",
      "tree": "c3d54741408168732e1695e42f03e6ecf8c89743",
      "parents": [
        "45977d0e87ac988d04fccfb89221727aaf8d78a4"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "tomof@acm.org",
        "time": "Wed Dec 20 11:20:15 2006 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jul 16 08:52:44 2007 +0200"
      },
      "message": "bsg: replace SG v3 with SG v4\n\nThis patch replaces SG v3 in bsg with SG v4 (except for SG_IO).\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": "9e69fbb5373f7c081acdf2b75d7bac7e95023dd1",
      "tree": "09a6a738edc45acca50a3a94b3bdbea79c099992",
      "parents": [
        "ac6b91b8035bd269a1fd42474f907d107c074805"
      ],
      "author": {
        "name": "FUJITA Tomonori",
        "email": "tomof@acm.org",
        "time": "Wed Dec 20 11:18:22 2006 +0100"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jul 16 08:52:44 2007 +0200"
      },
      "message": "bsg: minor cleanups\n\nThis just kills linux/config.h and dprintk warnings.\n\nSigned-off-by: FUJITA Tomonori \u003cfujita.tomonori@lab.ntt.co.jp\u003e\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    },
    {
      "commit": "3d6392cfbd7dc11f23058e3493683afab4ac13a3",
      "tree": "70c2b65c479f5feb7a5214a4a4930d489a069b1f",
      "parents": [
        "8f41958bdd577731f7411c9605cfaa9db6766809"
      ],
      "author": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jul 09 12:38:05 2007 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "jens.axboe@oracle.com",
        "time": "Mon Jul 16 08:52:44 2007 +0200"
      },
      "message": "bsg: support for full generic block layer SG v3\n\nSigned-off-by: Jens Axboe \u003cjens.axboe@oracle.com\u003e\n"
    }
  ]
}
