)]}'
{
  "log": [
    {
      "commit": "fb5a638995758cfe8408cc4ea452ea9022b98fc7",
      "tree": "23652e76d9d0167de144f06b9be9b02163804dcf",
      "parents": [
        "1a9708cd352e3b25500704daee9270d879e48199"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Tue Oct 05 17:12:55 2010 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Mon Oct 25 09:42:38 2010 -0500"
      },
      "message": "[SCSI] zfcp: Use correct length for FCP_RSP_INFO\n\nUse the FCP_RSP_INFO length to correctly skip the FCP_RSP_INFO field.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "1a9708cd352e3b25500704daee9270d879e48199",
      "tree": "7e2ecc4a425b2389f3891c54eb1a8dff62470a28",
      "parents": [
        "0df138476c8306478d6e726f044868b4bccf411c"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Tue Oct 05 17:12:54 2010 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Mon Oct 25 09:42:37 2010 -0500"
      },
      "message": "[SCSI] zfcp: Call get_device on port before calling put_device\n\nzfcp_unit_release calls put_device on the port. Ensure that get_device\nhas been called before possibly triggering the release function\nthrough put_device or device_unregister.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "0df138476c8306478d6e726f044868b4bccf411c",
      "tree": "440dbf3d24868f47addb536089ae1ff7353a31a4",
      "parents": [
        "229aebb873e29726b91e076161649cf45154b0bf"
      ],
      "author": {
        "name": "Swen Schillig",
        "email": "swen@vnet.ibm.com",
        "time": "Tue Oct 05 17:12:53 2010 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Mon Oct 25 09:42:35 2010 -0500"
      },
      "message": "[SCSI] zfcp: Fix adapter activation on link down\n\nIf an exchange config is executed while the local link is down, the\nrequest succeeds but the returned data is incomplete.  Proceeding with\nthe adapter activation is leading to an unpredictable behaviour (e.g.\nkernel panic) caused by invalid values.  In such a scenario the\nrecommended ERP is to retry the action and wait for a link up event.\nIf the issue persists the activation has to fail.\n\nSigned-off-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigend-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "5f05647dd81c11a6a165ccc8f0c1370b16f3bcb0",
      "tree": "7851ef1c93aa1aba7ef327ca4b75fd35e6d10f29",
      "parents": [
        "02f36038c568111ad4fc433f6fa760ff5e38fab4",
        "ec37a48d1d16c30b655ac5280209edf52a6775d4"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 23 11:47:02 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Sat Oct 23 11:47:02 2010 -0700"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/davem/net-next-2.6: (1699 commits)\n  bnx2/bnx2x: Unsupported Ethtool operations should return -EINVAL.\n  vlan: Calling vlan_hwaccel_do_receive() is always valid.\n  tproxy: use the interface primary IP address as a default value for --on-ip\n  tproxy: added IPv6 support to the socket match\n  cxgb3: function namespace cleanup\n  tproxy: added IPv6 support to the TPROXY target\n  tproxy: added IPv6 socket lookup function to nf_tproxy_core\n  be2net: Changes to use only priority codes allowed by f/w\n  tproxy: allow non-local binds of IPv6 sockets if IP_TRANSPARENT is enabled\n  tproxy: added tproxy sockopt interface in the IPV6 layer\n  tproxy: added udp6_lib_lookup function\n  tproxy: added const specifiers to udp lookup functions\n  tproxy: split off ipv6 defragmentation to a separate module\n  l2tp: small cleanup\n  nf_nat: restrict ICMP translation for embedded header\n  can: mcp251x: fix generation of error frames\n  can: mcp251x: fix endless loop in interrupt handler if CANINTF_MERRF is set\n  can-raw: add msg_flags to distinguish local traffic\n  9p: client code cleanup\n  rds: make local functions/variables static\n  ...\n\nFix up conflicts in net/core/dev.c, drivers/net/pcmcia/smc91c92_cs.c and\ndrivers/net/wireless/ath/ath9k/debug.c as per David\n"
    },
    {
      "commit": "c70b5296e775cde46cfcb2d860ba160108a5ec7a",
      "tree": "30419cb982acca44499236adcca65f2f87698c74",
      "parents": [
        "80c226fbef56576946c9655fcb2ab62e63404d12",
        "58ff4bd042adf8013c8f70fd03c2c0f8d022e387"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 17:34:15 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 17:34:15 2010 -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: (84 commits)\n  [SCSI] be2iscsi: SGE Len \u003d\u003d 64K\n  [SCSI] be2iscsi: Remove premature free of cid\n  [SCSI] be2iscsi: More time for FW\n  [SCSI] libsas: fix bug for vacant phy\n  [SCSI] sd: Fix overflow with big physical blocks\n  [SCSI] st: add MTWEOFI to write filemarks without flushing drive buffer\n  [SCSI] libsas: Don\u0027t issue commands to devices that have been hot-removed\n  [SCSI] megaraid_sas: Add Online Controller Reset to MegaRAID SAS drive\n  [SCSI] lpfc 8.3.17: Update lpfc driver version to 8.3.17\n  [SCSI] lpfc 8.3.17: Replace function reset methodology\n  [SCSI] lpfc 8.3.17: SCSI fixes\n  [SCSI] lpfc 8.3.17: BSG fixes\n  [SCSI] lpfc 8.3.17: SLI Additions and Fixes\n  [SCSI] lpfc 8.3.17: Code Cleanup and Locking fixes\n  [SCSI] zfcp: Remove scsi_cmnd-\u003eserial_number from debug traces\n  [SCSI] ipr: fix array error logging\n  [SCSI] aha152x: enable PCMCIA on 64bit\n  [SCSI] scsi_dh_alua: Handle all states correctly\n  [SCSI] cxgb4i: connection and ddp setting update\n  [SCSI] cxgb3i: fixed connection over vlan\n  ...\n"
    },
    {
      "commit": "e9dd2b6837e26fe202708cce5ea4bb4ee3e3482e",
      "tree": "f42fd892495bfc4cbb740d06b016d267c9c42d00",
      "parents": [
        "4f3a29dadaf999a273f1e7fe2476595d0283eef3",
        "b4627321e18582dcbdeb45d77df29d3177107c65"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 17:00:32 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Oct 22 17:00:32 2010 -0700"
      },
      "message": "Merge branch \u0027for-2.6.37/core\u0027 of git://git.kernel.dk/linux-2.6-block\n\n* \u0027for-2.6.37/core\u0027 of git://git.kernel.dk/linux-2.6-block: (39 commits)\n  cfq-iosched: Fix a gcc 4.5 warning and put some comments\n  block: Turn bvec_k{un,}map_irq() into static inline functions\n  block: fix accounting bug on cross partition merges\n  block: Make the integrity mapped property a bio flag\n  block: Fix double free in blk_integrity_unregister\n  block: Ensure physical block size is unsigned int\n  blkio-throttle: Fix possible multiplication overflow in iops calculations\n  blkio-throttle: limit max iops value to UINT_MAX\n  blkio-throttle: There is no need to convert jiffies to milli seconds\n  blkio-throttle: Fix link failure failure on i386\n  blkio: Recalculate the throttled bio dispatch time upon throttle limit change\n  blkio: Add root group to td-\u003etg_list\n  blkio: deletion of a cgroup was causes oops\n  blkio: Do not export throttle files if CONFIG_BLK_DEV_THROTTLING\u003dn\n  block: set the bounce_pfn to the actual DMA limit rather than to max memory\n  block: revert bad fix for memory hotplug causing bounces\n  Fix compile error in blk-exec.c for !CONFIG_DETECT_HUNG_TASK\n  block: set the bounce_pfn to the actual DMA limit rather than to max memory\n  block: Prevent hang_check firing during long I/O\n  cfq: improve fsync performance for small files\n  ...\n\nFix up trivial conflicts due to __rcu sparse annotation in include/linux/genhd.h\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": "bf5eefb007e7c5498a41af2dd65d957ae9793a63",
      "tree": "eea19132d5c369b4d060f55380050a048370a3a2",
      "parents": [
        "7262026f0eded76b935a12b9b15af05516a8610a"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Tue Sep 28 10:11:06 2010 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Oct 07 17:25:26 2010 -0500"
      },
      "message": "[SCSI] zfcp: Remove scsi_cmnd-\u003eserial_number from debug traces\n\nWith the change that drivers have to explicitly request the serial\nnumber for SCSI commands, this field should not be part of the zfcp\ntraces. It is not worth the effort to request the serial number only\nfor tracing purposes, so simply remove this field from the debug\ntraces.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "edaed859e63aac174fcc3fed81886b91bb124661",
      "tree": "b79ef611b8cf2bfe9e819ae130eff326ee553234",
      "parents": [
        "c9ff5d0315231b133a43e5af842bc01fb474f0d7"
      ],
      "author": {
        "name": "Swen Schillig",
        "email": "swen@vnet.ibm.com",
        "time": "Wed Sep 08 14:40:01 2010 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 16 22:54:23 2010 -0400"
      },
      "message": "[SCSI] zfcp: Replace status modifier functions.\n\nReplace the zfcp_modify_\u003cxxx\u003e_status functions and its accompanying wrappers\nwith dedicated status modifier functions. This eases code readability and\nmaintenance.\n\nSigned-off-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "c9ff5d0315231b133a43e5af842bc01fb474f0d7",
      "tree": "8ddadd9baec295d9ce630c676d2e649513e0ff2c",
      "parents": [
        "a1ca48319a9aa1c5b57ce142f538e76050bb8972"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Wed Sep 08 14:40:00 2010 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 16 22:54:22 2010 -0400"
      },
      "message": "[SCSI] zfcp: Remove duplicated code from zfcp_ccw_set_online\n\nThe steps for setting the zfcp_adapter online are the same in\nzfcp_ccw_set_online and zfcp_ccw_activate. Remove the code duplication\nby calling zfcp_ccw_activate from zfcp_ccw_set_online.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "a1ca48319a9aa1c5b57ce142f538e76050bb8972",
      "tree": "0cfaec3fddadd2de778f721d6dd98aa34f19ff2d",
      "parents": [
        "c61b536c97f225a74cf430716fdb243dfafe9d48"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Wed Sep 08 14:39:59 2010 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 16 22:54:21 2010 -0400"
      },
      "message": "[SCSI] zfcp: Move ACL/CFDC code to zfcp_cfdc.c\n\nMove the code evaluating the ACL/CFDC specific errors to the file\nzfcp_cfdc.c. With this change, all code related to the old access\ncontrol feature is kept in one file, not split across zfcp_erp.c and\nzfcp_fsf.c.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "c61b536c97f225a74cf430716fdb243dfafe9d48",
      "tree": "fdd88d045a1c6bb501cec5b695e0cfa686ec8be3",
      "parents": [
        "44a24cb3731495336d77f3a955a7004997270dfd"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Wed Sep 08 14:39:58 2010 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 16 22:54:20 2010 -0400"
      },
      "message": "[SCSI] zfcp: Reorder FCP I/O and task management handler functions\n\nInstead of calling the same handler for both, I/O and task management\ncommands, use different handlers that call a function for the common\npart.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "44a24cb3731495336d77f3a955a7004997270dfd",
      "tree": "3fdf2df31c2f528e6bd01c99a942ae2de2b9d39a",
      "parents": [
        "f8210e34887e1feb977a9b6b8caa086855af40c9"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Wed Sep 08 14:39:57 2010 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 16 22:54:19 2010 -0400"
      },
      "message": "[SCSI] zfcp: Change spin_lock_bh to spin_lock_irq to fix lockdep warning\n\nWith the change to use the data on the SCSI device, iterating through\nall LUNs/scsi_devices takes the SCSI host_lock. This triggers warnings\nfrom the lock dependency checker:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ INFO: possible irq lock inversion dependency detected ]\n2.6.34.1 #97\n---------------------------------------------------------\nchchp/3224 just changed the state of lock:\n (\u0026(shost-\u003ehost_lock)-\u003erlock){-.-...}, at: [\u003c00000000003a73f4\u003e] __scsi_iterate_devices+0x38/0xbc\nbut this lock took another, HARDIRQ-unsafe lock in the past:\n (\u0026(\u0026qdio-\u003ereq_q_lock)-\u003erlock){+.-...}\n\nand interrupts could create inverse lock ordering between them.\n\nother info that might help us debug this: [   24.972394] 2 locks held by chchp/3224:\n #0:  (\u0026(sch-\u003elock)-\u003erlock){-.-...}, at: [\u003c0000000000401efa\u003e] do_IRQ+0xb2/0x1e4\n #1:  (\u0026adapter-\u003eport_list_lock){.-....}, at: [\u003c0000000000490302\u003e] zfcp_erp_modify_adapter_status+0x9e/0x16c\n[...]\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n[ INFO: possible irq lock inversion dependency detected ]\n2.6.34.1 #98\n---------------------------------------------------------\nchchp/3235 just changed the state of lock:\n (\u0026(shost-\u003ehost_lock)-\u003erlock){-.-...}, at: [\u003c00000000003a73f4\u003e] __scsi_iterate_devices+0x38/0xbc\nbut this lock took another, HARDIRQ-unsafe lock in the past:\n (\u0026(\u0026qdio-\u003estat_lock)-\u003erlock){+.-...}\n\nand interrupts could create inverse lock ordering between them.\n\nother info that might help us debug this:\n2 locks held by chchp/3235:\n #0:  (\u0026(sch-\u003elock)-\u003erlock){-.-...}, at: [\u003c0000000000401efa\u003e] do_IRQ+0xb2/0x1e4\n #1:  (\u0026adapter-\u003eport_list_lock){.-.-..}, at: [\u003c00000000004902f6\u003e] zfcp_erp_modify_adapter_status+0x9e/0x16c\n[...]\n\nTo stop this warning, change the request queue lock to disable irqs,\nnot only softirq. The changes are required only outside of the\ncritical \"send fcp command\" path.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "f8210e34887e1feb977a9b6b8caa086855af40c9",
      "tree": "b9b2fe4f289f326334ac7327d7764f0943cc1229",
      "parents": [
        "b62a8d9b45b971a67a0f8413338c230e3117dff5"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Wed Sep 08 14:39:56 2010 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 16 22:54:18 2010 -0400"
      },
      "message": "[SCSI] zfcp: Allow midlayer to scan for LUNs when running in NPIV mode\n\nEnable the LUN scanning mechanism in the SCSI midlayer:\n- Do not set the disable_target_scan bit in the FC transport class.\n- Set max_lun to 0xFFFFFFFF to allow the midlayer scan to include\n  the two-level hierachical LUNs (like 0x40XX40XX00000000, but in SCSI\n  midlayer LUN format).\n- Set max_id to a high value to allow triggering the SCSI device\n  rescan from sysfs.\n\nWhen running in NPIV mode, zfcp accepts all LUNs in slave_attach. When\nrunning in non-NPIV mode, the list of zfcp_unit structs determines\nwhich SCSI devices are allowed on the current system.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "b62a8d9b45b971a67a0f8413338c230e3117dff5",
      "tree": "a38acd9f0fcb14e41e26503d8a25d8f1539dd27d",
      "parents": [
        "fdbd1c5e27dabfa950d4b0f52a20069aeaf67b9d"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Wed Sep 08 14:39:55 2010 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 16 22:54:17 2010 -0400"
      },
      "message": "[SCSI] zfcp: Use SCSI device data zfcp_scsi_dev instead of zfcp_unit\n\nThis is the large change to switch from using the data in\nzfcp_unit to zfcp_scsi_dev. Keeping everything working requires doing\nthe switch in one piece. To ensure that no code keeps using the data\nin zfcp_unit, this patch also removes the data from zfcp_unit that is\nnow being replaced with zfcp_scsi_dev.\n\nFor zfcp, the scsi_device together with zfcp_scsi_dev exist from the\ncall of slave_alloc to the call of slave_destroy. The data in\nzfcp_scsi_dev is initialized in zfcp_scsi_slave_alloc and the LUN is\nopened; the final shutdown for the LUN is run from slave_destroy.\n\nWhere the scsi_device or zfcp_scsi_dev is needed, the pointer to the\nscsi_device is passed as function argument and inside the function\nconverted to the pointer to zfcp_scsi_dev; this avoids back and forth\nconversion betweeen scsi_device and zfcp_scsi_dev.\n\nWhile changing the function arguments from zfcp_unit to scsi_device,\nthe functions names are renamed form \"unit\" to \"lun\". This is to have\na seperation between zfcp_scsi_dev/LUN and the zfcp_unit; only code\nreferring to the remaining configuration information in zfcp_unit\nstruct uses \"unit\".\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "fdbd1c5e27dabfa950d4b0f52a20069aeaf67b9d",
      "tree": "402ea45cf57a2fdcef7a6011a1c64bc7d43cc66e",
      "parents": [
        "e4b9857fe628b453983cac89473a11a76a1f5786"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Wed Sep 08 14:39:54 2010 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 16 22:54:16 2010 -0400"
      },
      "message": "[SCSI] zfcp: Allow running unit/LUN shutdown without acquiring reference\n\nWith the change for the LUN data to be part of the scsi_device, the\nslave_destroy callback will be the final call to the\nzfcp_erp_unit_shutdown function. The erp tries to acquire a reference\nto run the action asynchronously and fail, if it cannot get the\nreference. But calling scsi_device_get from slave_destroy will fail,\nbecause the scsi_device is already in the state SDEV_DEL.\n\nIntroduce a new call into the zfcp erp to solve this: The function\nzfcp_erp_unit_shutdown_wait will close the LUN and wait for the erp to\nfinish without acquiring an additional reference. The wait allows to\nomit the reference; the caller waiting for the erp to finish already\nhas a reference that holds the struct in place.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "e4b9857fe628b453983cac89473a11a76a1f5786",
      "tree": "12ea296e5e57d71dca024b0c7464f6d663e8b26d",
      "parents": [
        "1daa4eb50fa5cd4c8f9c55452606e786fd42053b"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Wed Sep 08 14:39:53 2010 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 16 22:54:16 2010 -0400"
      },
      "message": "[SCSI] zfcp: Remove ZFCP_SYSFS_FAILED macro and implement fcp_lun_show without macro\n\nThese sysfs attributes will require different functions. Implement\nthem without using macros, so that the open coded functions can be\nchanged later.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "1daa4eb50fa5cd4c8f9c55452606e786fd42053b",
      "tree": "2c299aacb948264e716ca6651c2f4ef234fc310a",
      "parents": [
        "57c237731b92fadc7d44824276313ec330b1989b"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Wed Sep 08 14:39:52 2010 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 16 22:54:15 2010 -0400"
      },
      "message": "[SCSI] zfcp: Move code for managing zfcp_unit devices to new file\n\nMove the code for managing zfcp_unit devices to the new file\nzfcp_unit.c. This is in preparation for the change that zfcp_unit will\nonly track the LUNs configured via unit_add, other data will be moved\nfrom zfcp_unit to the new struct zfcp_scsi_dev.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "57c237731b92fadc7d44824276313ec330b1989b",
      "tree": "c04256f72db22d7e61f837ceff0c2067d23121ac",
      "parents": [
        "d99e5f488ae28d9dfccc84435f4fd29bd1fe1b9b"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Wed Sep 08 14:39:51 2010 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 16 22:54:14 2010 -0400"
      },
      "message": "[SCSI] zfcp: Add zfcp private struct as SCSI device driver data\n\nAdd a new data structure zfcp_scsi_dev that holds zfcp private data\nfor each SCSI device. Use scsi_transport_reserve_device to let the\nSCSI midlayer automatically allocate this with each SCSI device.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "175b79f0632544d62aae72e5496c14e3e3ff2ae7",
      "tree": "12966ef2e49689a646259c7d41b88c7a832bb23c",
      "parents": [
        "13f05c8d8e98bbdce89158bfdb2e380940695a88"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Fri Sep 10 20:50:40 2010 +0200"
      },
      "committer": {
        "name": "Jens Axboe",
        "email": "axboe@carl.home.kernel.dk",
        "time": "Fri Sep 10 20:50:40 2010 +0200"
      },
      "message": "zfcp: Report scatter gather limit for DIX protection information\n\nWhen sending DIX integrity segments with an I/O request, the\nrestriction for the maximum number of segments is still the same for\nthe zfcp hardware. Report the new sg_prot_tablesize for the SCSI host,\nso that the number of integrity segments plus the number of data\nsegments is not larger than the hardware limit. This results in using\nhalf of the hardware segments for integrity data and the other half\nfor regular data.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: Jens Axboe \u003caxboe@carl.home.kernel.dk\u003e\n"
    },
    {
      "commit": "91978465b1e5f89025cd43cd2102943160ec6dee",
      "tree": "18408d5465c98abb29924b9dfbfa86a5b9f96b7e",
      "parents": [
        "634651fab36dc8d7c3b1a1aa14f9ec1e29de9f0f"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Mon Aug 30 10:55:09 2010 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Sep 09 15:36:44 2010 -0500"
      },
      "message": "[SCSI] zfcp: Reorder registration of initial SCSI device\n\nMake sure that the rport registration did complete and then register\nSCSI device directly. Otherwise the unit_enqueue would race with the\ncall to zfcp_scsi_queue_unit_register.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "d36deae75011a7890f0e730dd0f867c64081cb50",
      "tree": "d24672cf5cc40c637186362187450362cabefd24",
      "parents": [
        "e508be174ad36b0cf9b324cd04978c2b13c21502"
      ],
      "author": {
        "name": "Jan Glauber",
        "email": "jang@linux.vnet.ibm.com",
        "time": "Tue Sep 07 21:14:39 2010 +0000"
      },
      "committer": {
        "name": "David S. Miller",
        "email": "davem@davemloft.net",
        "time": "Wed Sep 08 14:31:00 2010 -0700"
      },
      "message": "qdio: extend API to allow polling\n\nExtend the qdio API to allow polling in the upper-layer driver. This\nis needed by qeth to use NAPI.\n\nTo use the new interface the upper-layer driver must specify the\nqueue_start_poll(). This callback is used to signal the upper-layer\ndriver that is has initiative and must process the inbound queue by\ncalling qdio_get_next_buffers(). If the upper-layer driver wants to\nstop polling it calls qdio_start_irq().\n\nSince adapter interrupts are not completely stoppable qdio implements\na software bit QDIO_QUEUE_IRQS_DISABLED to safely disable interrupts for an\ninput queue.\n\nThe old interface is preserved and will be used as is by zfcp.\n\nSigned-off-by: Jan Glauber \u003cjang@linux.vnet.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\nSigned-off-by: Frank Blaschka \u003cfrank.blaschka@de.ibm.com\u003e\nSigned-off-by: David S. Miller \u003cdavem@davemloft.net\u003e\n"
    },
    {
      "commit": "339f4f4eab80caa6cf0d39fb057ad6ddb84ba91e",
      "tree": "495dc5a18c128d3e802a8b1914f978bf4262ac3d",
      "parents": [
        "ef3eb71d8ba4fd9d48c5f9310bc9d90ca00323b4"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Fri Jul 16 15:37:43 2010 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:48:58 2010 -0500"
      },
      "message": "[SCSI] zfcp: Trigger logging in the FCP channel on qdio error conditions\n\nExploit the cio siosl function to trigger logging in the FCP channel\non qdio error conditions. Add a helper function in zfcp_qdio to ensure\nthat tracing is only triggered once before calling qdio_shutdown.\n\nTrigger in zfcp for hardware logs are:\n - timeout for FSF requests to the FCP channel\n - \"no recommendation\" status from FCP channel\n - invalid FSF protocol status\n - stalled outbound queue\n - unknown request id on inbound queue\n - QDIO_ERROR_SLSB_STATE\n\nAll of the above triggers run from the Linux qdio softirq context, so\nno additional synchronization is necessary for the handling of the\nZFCP_STATUS_ADAPTER_SIOSL_ISSUED flag.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "ef3eb71d8ba4fd9d48c5f9310bc9d90ca00323b4",
      "tree": "9903cbae6c03184687c51b4be926572913cda93f",
      "parents": [
        "dcc18f48a2f1a44c5e8848f30d0cf53a8066c62a"
      ],
      "author": {
        "name": "Felix Beck",
        "email": "felix.beck@de.ibm.com",
        "time": "Fri Jul 16 15:37:42 2010 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:48:56 2010 -0500"
      },
      "message": "[SCSI] zfcp: Introduce experimental support for DIF/DIX\n\nIntroduce support for DIF/DIX in zfcp: Report the capabilities for the\nScsi_host, map the protection data when issuing I/O requests and\nhandle the new error codes. Also add the fsf data_direction field to\nthe hba trace, it is useful information for debugging in that area.\nThis is an EXPERIMENTAL feature for now.\n\nSigned-off-by: Felix Beck \u003cfelix.beck@de.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "dcc18f48a2f1a44c5e8848f30d0cf53a8066c62a",
      "tree": "6bf6e20f2309b0a077f328189d9f6656f554cedf",
      "parents": [
        "d23948ea38c4c6aa13e4df903dfdd71cabd0e6a3"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Fri Jul 16 15:37:41 2010 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:48:55 2010 -0500"
      },
      "message": "[SCSI] zfcp: Enable data division support for FCP devices\n\nTry to enable data division support for FCP devices and indicate in\nthe adapter status flag if it succeeded.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "d23948ea38c4c6aa13e4df903dfdd71cabd0e6a3",
      "tree": "854461f6c1fe78c2586ae47d5e4af08dd0434d6c",
      "parents": [
        "2d1e547f7523514d1da449bcf08645fe13579378"
      ],
      "author": {
        "name": "Swen Schillig",
        "email": "swen@vnet.ibm.com",
        "time": "Fri Jul 16 15:37:40 2010 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:48:53 2010 -0500"
      },
      "message": "[SCSI] zfcp: Prevent access on uninitialized memory.\n\nInitialize allocated memory to zero to prevent access on error. This\nprevents a possible error in the error handling path.\n\nSigned-off-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "2d1e547f7523514d1da449bcf08645fe13579378",
      "tree": "44ebfa0721405d3bd6f20e9c8bfd44adb8908ffd",
      "parents": [
        "706eca49a044a1ea89352dcc4b96ffc1631b2cb5"
      ],
      "author": {
        "name": "Sven Schuetz",
        "email": "sven@linux.vnet.ibm.com",
        "time": "Fri Jul 16 15:37:39 2010 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:48:52 2010 -0500"
      },
      "message": "[SCSI] zfcp: Post events through FC transport class\n\nPost FC transport class netlink events for usage in the userspace,\ne.g. for HBAAPI. Supported events are those required for the\npolled events in HBAAPI.\n- link up\n- link down\n- incoming RSCN\n(events related to FC-AL are not supported, as zfcp has no support for FC-AL)\n\nSigned-off-by: Sven Schuetz \u003csven@linux.vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "706eca49a044a1ea89352dcc4b96ffc1631b2cb5",
      "tree": "f36692c277a38c051536e06272ade7ed759ab4cc",
      "parents": [
        "01b047599ade30051bf6c14fbe64181d1fec3dfa"
      ],
      "author": {
        "name": "Swen Schillig",
        "email": "swen@vnet.ibm.com",
        "time": "Fri Jul 16 15:37:38 2010 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:48:50 2010 -0500"
      },
      "message": "[SCSI] zfcp: Cleanup QDIO attachment and improve processing.\n\nSome definitions and structures in the zfcp QDIO processing are\nimproved by the removal of not required variables and processing steps.\nI addition the naming of some variables is changed to make their purpose\nmore clear.\n\nSigned-off-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "01b047599ade30051bf6c14fbe64181d1fec3dfa",
      "tree": "3a44039ec1c48b41ba8e988c230291aca20b833c",
      "parents": [
        "faf4cd854203b26527d81e7e13d66e78774dad44"
      ],
      "author": {
        "name": "Swen Schillig",
        "email": "swen@vnet.ibm.com",
        "time": "Fri Jul 16 15:37:37 2010 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:48:49 2010 -0500"
      },
      "message": "[SCSI] zfcp: Cleanup function parameters for sbal value.\n\nA lot of functions require the amount of SBALs as one of their\nparameter which is most times invariable.  Therefore remove this\nparameter and set the SBAL value explicitly if a non standard value is\nrequired.  In addition the warning message \"oversized data\" is\nreplaced with a BUG_ON() statement assuring the limits defined and\nrequested by zfcp.\n\nSigned-off-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "faf4cd854203b26527d81e7e13d66e78774dad44",
      "tree": "6828d69341747869ca0de9ed5cf4d3b46ff13efd",
      "parents": [
        "1bf3ff02ca6247b2d7c9ebda93002392bf60a61d"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Fri Jul 16 15:37:36 2010 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:48:48 2010 -0500"
      },
      "message": "[SCSI] zfcp: Use correct width for timer_interval field\n\nThe timer_interval is 14 bits in width. Introduce a define for\nproperly masking the value.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "1bf3ff02ca6247b2d7c9ebda93002392bf60a61d",
      "tree": "569683190acd2ac3da8489bdcbd0f25f80c73b3e",
      "parents": [
        "674c3a993c278b7469e1cf12bfc13e6838dfd877"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Fri Jul 16 15:37:35 2010 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:48:46 2010 -0500"
      },
      "message": "[SCSI] zfcp: Remove SCSI device when removing unit\n\nConfiguring a LUN in zfcp, also creates a SCSI device. For\nconsistency, it makes sense to remove the SCSI device when the LUN is\ndeconfigured. Replace the flush_work with the call to\nscsi_remove_device: scsi_remove_device also takes the scan_mutex that\nsynchronizes itself with any long running device discovery.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "674c3a993c278b7469e1cf12bfc13e6838dfd877",
      "tree": "4b52c44b3f9f9dc8f3a0456cf5a391564196dd5d",
      "parents": [
        "f7bd7c3627a3cf06bf1c6da55339469ec1853a48"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Fri Jul 16 15:37:34 2010 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:48:45 2010 -0500"
      },
      "message": "[SCSI] zfcp: Use memdup_user and kstrdup\n\nUse the functions memdup_user and kstrdup to allocate memory and copy\nthe data in one step, saving some lines of code.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "f7bd7c3627a3cf06bf1c6da55339469ec1853a48",
      "tree": "8db048d228168cae0a3e2082a0d77fa1a715aac9",
      "parents": [
        "9c785d944e6fa7eef390c799b93e43243505780c"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Thu Jul 08 09:53:10 2010 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:46:42 2010 -0500"
      },
      "message": "[SCSI] zfcp: Fix retry after failed \"open port\" erp action\n\nTrying to enqueue a port erp action from the port erp strategy will\nfail in zfcp_erp_required_act. To try the same action again, return\nZFCP_ERP_FAILED.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "9c785d944e6fa7eef390c799b93e43243505780c",
      "tree": "b17a4ef36212db7f2a5cc34081dd0f49ae829c61",
      "parents": [
        "835dc29887073eec7817559a07558f955383d099"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Thu Jul 08 09:53:09 2010 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:46:41 2010 -0500"
      },
      "message": "[SCSI] zfcp: Fail erp after timeout\n\nAfter a timeout notification, do not try to run the erp strategy.\nReturn from the erp with \"failed\" to possibly trigger a retry.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "835dc29887073eec7817559a07558f955383d099",
      "tree": "721268f31d4ad6d55a3733adcddce57efa793c62",
      "parents": [
        "5a7de559b4e0169ff4cfca654b4e4f0014996e57"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Thu Jul 08 09:53:08 2010 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:46:39 2010 -0500"
      },
      "message": "[SCSI] zfcp: Use forced_reopen in terminate_rport_io callback\n\nWhen running in non-NPIV mode, the port_reopen in terminate_rport_io\nmight succeed even though the remote port is not available. If the\nsame port connection is held open from another operating system, the\nreopen is only a virtual operation and might not hit the SAN. Fix this\nby changing the call to forced_reopen that forces a logout/login\noperation in the SAN.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "5a7de559b4e0169ff4cfca654b4e4f0014996e57",
      "tree": "46e13cf400f672eb7d26e6ffdb4c990256e18c76",
      "parents": [
        "097ef3bd0cd4f156fee039e52855d095b7ba3db4"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Thu Jul 08 09:53:07 2010 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:46:38 2010 -0500"
      },
      "message": "[SCSI] zfcp: Register SCSI devices after successful fc_remote_port_add\n\nWhen the successful return of an adisc is the final step to set the\nport online, the registration of SCSI devices might be omitted. SCSI\ndevices that have been removed before (due to a short dev_loss_tmo\nsetting) might not be attached again.\n\nThe problem is that the registration of SCSI devices is done only\nafter erp has finished. The correct place would be after the call to\nfc_remote_port_add to mimick the scan in the FC transport class.\n\nChange the registration of SCSI devices to be triggered after the\nfc_remote_port_add call. For the initial inquiry command to succeed,\nthe unit must also be open. If the unit reopen is still pending, the\ninquiry command to the LUN will be deferred with DID_IMM_RETRY, so\nthere is no harm from this approach.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "097ef3bd0cd4f156fee039e52855d095b7ba3db4",
      "tree": "72d96fca0f876d43e692225914d5059570fe8fa7",
      "parents": [
        "5767620c383a226e39891e7e654a70ebb8e95e69"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Thu Jul 08 09:53:06 2010 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:46:36 2010 -0500"
      },
      "message": "[SCSI] zfcp: Do not try \"forced close\" when port is already closed\n\nWhen the port is already \"physically closed\" try the reopen instead.\nThere is no way to send a \"physically close\" to an already closed\nport.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "5767620c383a226e39891e7e654a70ebb8e95e69",
      "tree": "6aa1acae40e09d79a5714f4f0e4b3fcdef7eb23d",
      "parents": [
        "478a8a0543021172220feeb0b39bb1b3e43c988f"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Thu Jul 08 09:53:05 2010 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 28 09:46:34 2010 -0500"
      },
      "message": "[SCSI] zfcp: Do not unblock rport from REOPEN_PORT_FORCED\n\nWhen the REOPEN_PORT_FORCED erp action succeeds, the port has been\nclosed. A REOPEN_PORT will try to open the port after the\nREPORT_PORT_FORCED. The rport should only be unblocked after the\nsuccessful completion of the reopen port.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "8d88cf3f3b9af4713642caeb221b6d6a42019001",
      "tree": "44fd5e7558e5b4688494eec9e238228c15ab1b85",
      "parents": [
        "c2af7545aaff3495d9bf9a7608c52f0af86fb194"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Mon Jun 21 10:11:33 2010 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 21 15:05:09 2010 -0700"
      },
      "message": "[SCSI] zfcp: Update status read mempool\n\nCommit 64deb6efdc5504ce97b5c1c6f281fffbc150bd93 changed the way status\nread buffers are handled but forgot to adjust the mempool to the new\nsize. Add the call to resize the mempool after the exchange config\ndata. Also use the define instead of the hard coded number in the fsf\ncallback for consistency.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "c2af7545aaff3495d9bf9a7608c52f0af86fb194",
      "tree": "9a30d2da8ecabc075f46424cd4c20290b6b9b5ec",
      "parents": [
        "30b6777b8931afc5f3aa42858fe917938b570f79"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Mon Jun 21 10:11:32 2010 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 21 15:05:07 2010 -0700"
      },
      "message": "[SCSI] zfcp: Do not wait for SBALs on stopped queue\n\nTrying to read the FC host statistics on an offline adapter results in\na 5 seconds wait. Reading the statistics tries to issue an exchange\nport data request which first waits up to 5 seconds for an entry in\nthe request queue.\n\nChange the strategy for getting a free SBAL to exit when the queue is\nstopped. Reading the statistics will then fail without the wait.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "30b6777b8931afc5f3aa42858fe917938b570f79",
      "tree": "3c877277f0b9919a1a22379d991cd10ca1982936",
      "parents": [
        "5adcbeb34d2a031d3baca227eef23e56734006ba"
      ],
      "author": {
        "name": "Swen Schillig",
        "email": "swen@vnet.ibm.com",
        "time": "Mon Jun 21 10:11:31 2010 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Jul 21 15:05:06 2010 -0700"
      },
      "message": "[SCSI] zfcp: Fix check whether unchained ct_els is possible\n\nA false check was performed whether an unchained ct_els\nis possible or not.\n\nSigned-off-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "33cf23b0a535475aead57707cb9f4fe135a93544",
      "tree": "67e14f77f0eeab847a26a6cbfcb44eecb5fa2fda",
      "parents": [
        "7a9b149212f3716c598afe973b6261fd58453b7a",
        "95bb335c0ebe96afe926387a1ef3a096bd884a82"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 21 07:19:18 2010 -0700"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri May 21 07:19:18 2010 -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: (182 commits)\n  [SCSI] aacraid: add an ifdef\u0027d device delete case instead of taking the device offline\n  [SCSI] aacraid: prohibit access to array container space\n  [SCSI] aacraid: add support for handling ATA pass-through commands.\n  [SCSI] aacraid: expose physical devices for models with newer firmware\n  [SCSI] aacraid: respond automatically to volumes added by config tool\n  [SCSI] fcoe: fix fcoe module ref counting\n  [SCSI] libfcoe: FIP Keep-Alive messages for VPorts are sent with incorrect port_id and wwn\n  [SCSI] libfcoe: Fix incorrect MAC address clearing\n  [SCSI] fcoe: fix a circular locking issue with rtnl and sysfs mutex\n  [SCSI] libfc: Move the port_id into lport\n  [SCSI] fcoe: move link speed checking into its own routine\n  [SCSI] libfc: Remove extra pointer check\n  [SCSI] libfc: Remove unused fc_get_host_port_type\n  [SCSI] fcoe: fixes wrong error exit in fcoe_create\n  [SCSI] libfc: set seq_id for incoming sequence\n  [SCSI] qla2xxx: Updates to ISP82xx support.\n  [SCSI] qla2xxx: Optionally disable target reset.\n  [SCSI] qla2xxx: ensure flash operation and host reset via sg_reset are mutually exclusive\n  [SCSI] qla2xxx: Silence bogus warning by gcc for wrap and did.\n  [SCSI] qla2xxx: T10 DIF support added.\n  ...\n"
    },
    {
      "commit": "95bb335c0ebe96afe926387a1ef3a096bd884a82",
      "tree": "56115332b4f2f7ef300c36248a6a7d20db2e639d",
      "parents": [
        "1b4d0d8ea7b3cbd107f345ab766416f9b38ce66a",
        "9cccde93fed1ca988eb2fb17ab9194bf7b5ed1b0"
      ],
      "author": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Tue May 18 10:33:43 2010 -0400"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Tue May 18 10:37:41 2010 -0400"
      },
      "message": "[SCSI] Merge scsi-misc-2.6 into scsi-rc-fixes-2.6\n\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "58ea91c05346f7c6336e6248b743aa9a8e1c19a9",
      "tree": "aa8fafa3a049a482eb9f2600fec40c03ae10935a",
      "parents": [
        "f73a2b03c59b95a3ee8eebcc127350c77c950e87"
      ],
      "author": {
        "name": "Martin Schwidefsky",
        "email": "schwidefsky@de.ibm.com",
        "time": "Mon May 17 10:00:07 2010 +0200"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "sky@mschwide.boeblingen.de.ibm.com",
        "time": "Mon May 17 10:00:16 2010 +0200"
      },
      "message": "[S390] avoid default_llseek in s390 drivers\n\nUse nonseekable_open for a couple of s390 device drivers. This avoids\nthe use of default_llseek function which has a dependency on the BKL.\n\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "6e51f085f64a79c7647e88a8a019b7bd84f42255",
      "tree": "68f12d1b527fff00e215923791e838743de33e88",
      "parents": [
        "64deb6efdc5504ce97b5c1c6f281fffbc150bd93"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Fri Apr 30 18:09:37 2010 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun May 02 15:42:34 2010 -0400"
      },
      "message": "[SCSI] zfcp: Zero memory for gpn_ft and adisc requests\n\nWith debug kernels, the memory allocated with kmem_cache_alloc might\nbe initialized with the poison values 6b and a5. Use kmem_cache_zalloc\ninstead of kmem_cache_alloc to get zeroed memory and not send invalid\nrequests.\n\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "64deb6efdc5504ce97b5c1c6f281fffbc150bd93",
      "tree": "dac0645d128d00b19ca55fe11f6d51b6e9f19d8e",
      "parents": [
        "6b9e1520094a8aa68009c265eb694e0be9f5be3f"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Fri Apr 30 18:09:36 2010 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun May 02 15:42:33 2010 -0400"
      },
      "message": "[SCSI] zfcp: Use status_read_buf_num provided by FCP channel\n\nThe FCP channel provides the number of status read buffers to issue.\nUse the provided number instead of the hardcoded number in zfcp.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "6b9e1520094a8aa68009c265eb694e0be9f5be3f",
      "tree": "d6abee81a84fe8e43c26c0db75a9917599f0b835",
      "parents": [
        "1674b4054744c2cfd6573e43eca45d86ff581d0e"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Fri Apr 30 18:09:35 2010 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun May 02 15:42:32 2010 -0400"
      },
      "message": "[SCSI] zfcp: Move sbal_get function to zfcp_qdio.c\n\nWaiting for a free sbal is a operation on the qdio queue. Move the\ncode implementing the wait to zfcp_qdio.c and rename the functions\naccordingly.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "1674b4054744c2cfd6573e43eca45d86ff581d0e",
      "tree": "6a59f4f00b15b30313c330e9636b36c88c93a1c9",
      "parents": [
        "683229845f1780b10041ee7a1043fc8f10061455"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Fri Apr 30 18:09:34 2010 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun May 02 15:42:30 2010 -0400"
      },
      "message": "[SCSI] zfcp: Move sbale handling to zfcp_qdio files\n\nMove the code accessing the qdio sbales and zfcp_qdio_req struct to\nthe zfcp_qdio files and provide helper functions for accessing the\nqdio related parts.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "683229845f1780b10041ee7a1043fc8f10061455",
      "tree": "88f58f214666762a71d1458a72646dd65372a1a6",
      "parents": [
        "883c98feaab708d0fc976225b146aa9307023c85"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Fri Apr 30 18:09:33 2010 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun May 02 15:42:29 2010 -0400"
      },
      "message": "[SCSI] zfcp: Report scatter-gather limits to SCSI and block layer\n\nInstead of dealing with large segments in the scatter-gather lists in\nzfcp_qdio.c, report the limits to the upper layers. With these limits\nin place, the code for mapping large data blocks to multiple sbales\ncan be removed.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "5bbf297cc652713a0a6511004b8d4c1cc21a3b02",
      "tree": "d13d5789c81b80827046db49a538fc76173addc1",
      "parents": [
        "07bbd0facdcda64f2c77fc6a505afd32e45fa506"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Thu Apr 01 13:04:08 2010 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun Apr 11 13:31:20 2010 -0500"
      },
      "message": "[SCSI] zfcp: Fix tracing of requests with error status\n\nWhen a FSF request is returned with an error it should be reported\nthrough blktrace for the ziomon tools, but the latency information\nshould not be read. Fix this by also calling zfcp_fsf_req_trace for\nthe error case, but skip reading the latencies inside the function.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "a1dbfddd02d2b3e75f8750c68563e1d6eec16260",
      "tree": "130622cc131439bb4883d94ca862b2152109ad6e",
      "parents": [
        "2f2eb58762b4dcddfe25c90800323765c1257eca"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Wed Mar 24 16:50:31 2010 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun Apr 11 09:49:35 2010 -0500"
      },
      "message": "[SCSI] zfcp: Pass return code from fc_block_scsi_eh to scsi eh\n\nThe return code FAST_IO_FAIL from fc_block_scsi_eh indicates that the\npending I/O requests have been terminated as a result of the\nfast_io_fail_tmo. Pass this return code back to the scsi eh to stop\nthe scsi eh in this case.\n\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.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": "584dfddfce1bd81d877f14de2b56d4bc747af821",
      "tree": "e91ae4e2c9fceaf96918276d8cc74adf49613155",
      "parents": [
        "b1e2ba8da973535e62839915403b6f5450081d8c"
      ],
      "author": {
        "name": "Ursula Braun",
        "email": "ursula.braun@de.ibm.com",
        "time": "Mon Mar 08 12:25:20 2010 +0100"
      },
      "committer": {
        "name": "Martin Schwidefsky",
        "email": "sky@mschwide.boeblingen.de.ibm.com",
        "time": "Mon Mar 08 12:25:30 2010 +0100"
      },
      "message": "[S390] remove unused qdio flags in zfcp and qeth\n\nzfcp and qeth are setting flags for the qdio-layer, but these flags\nare not used in qdio. Patch removes the flag definitions from qdio\nand their settings in zfcp and qeth.\n\nCc: Jan Glauber \u003cjang@linux.vnet.ibm.com\u003e\nCc: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: Ursula Braun \u003cursula.braun@de.ibm.com\u003e\nSigned-off-by: Martin Schwidefsky \u003cschwidefsky@de.ibm.com\u003e\n"
    },
    {
      "commit": "654451748b779b28077d9058442d0f354251870d",
      "tree": "ff889a2f6226e16b1121789f809927666a9ccf13",
      "parents": [
        "64d497f55379b1e320a08ec2426468d96f5642ec",
        "77c9cfc51b0d732b2524799810fb30018074fd60"
      ],
      "author": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 26 16:55:27 2010 -0800"
      },
      "committer": {
        "name": "Linus Torvalds",
        "email": "torvalds@linux-foundation.org",
        "time": "Fri Feb 26 16:55:27 2010 -0800"
      },
      "message": "Merge git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6\n\n* git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi-misc-2.6: (158 commits)\n  [SCSI] Fix printing of failed 32-byte commands\n  [SCSI] Fix printing of variable length commands\n  [SCSI] libsrp: fix bug in ADDITIONAL CDB LENGTH interpretation\n  [SCSI] scsi_dh_alua: Add IBM Power Virtual SCSI ALUA device to dev list\n  [SCSI] scsi_dh_alua: add netapp to dev list\n  [SCSI] qla2xxx: Update version number to 8.03.02-k1.\n  [SCSI] qla2xxx: EEH: Restore PCI saved state during pci slot reset.\n  [SCSI] qla2xxx: Add firmware ETS burst support.\n  [SCSI] qla2xxx: Correct loop-resync issues during SNS scans.\n  [SCSI] qla2xxx: Correct use-after-free issue in terminate_rport_io callback.\n  [SCSI] qla2xxx: Correct EH bus-reset handling.\n  [SCSI] qla2xxx: Proper clean-up of BSG requests when request times out.\n  [SCSI] qla2xxx: Initialize payload receive length in failure path of vendor commands\n  [SCSI] fix duplicate removal on error path in scsi_sysfs_add_sdev\n  [SCSI] fix refcounting bug in scsi_get_host_dev\n  [SCSI] fix memory leak in scsi_report_lun_scan\n  [SCSI] lpfc: correct PPC build failure\n  [SCSI] raid_class: add raid1e\n  [SCSI] mpt2sas: Do not call sas_is_tlr_enabled for RAID volumes.\n  [SCSI] zfcp: Introduce header file for qdio structs and inline functions\n  ...\n"
    },
    {
      "commit": "34c2b712992540ca436e97432ffc57c84c8f8c18",
      "tree": "94ee5b92c29c1c79a87c861b8f69de5060bc1f72",
      "parents": [
        "2d8e62bbf7e83facd5701c100f62fbf0df4ee486"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Wed Feb 17 11:18:59 2010 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Feb 17 17:46:35 2010 -0600"
      },
      "message": "[SCSI] zfcp: Introduce header file for qdio structs and inline functions\n\nMove the qdio related structs and some helper functions to a new\nzfcp_qdio.h header file. While doing this, rename the struct\nzfcp_queue_req to zfcp_qdio_req to adhere to the naming scheme used in\nzfcp. This allows a better seperation of the qdio code and inlining\nthe helper functions will save some function calls.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "2d8e62bbf7e83facd5701c100f62fbf0df4ee486",
      "tree": "836259af89d5ca843d6445c1907fbb492d758777",
      "parents": [
        "ab72528a4498251a702fa7693b51b9311b2432f8"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Wed Feb 17 11:18:58 2010 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Feb 17 17:46:33 2010 -0600"
      },
      "message": "[SCSI] zfcp: Replace FC4 constants with information from exchange port\n\nThe FC4 types are already available from exchange port.  Use this for\nreporting the FC4 types, instead of having the value hardcoded in\nzfcp.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "ab72528a4498251a702fa7693b51b9311b2432f8",
      "tree": "3413362ef1838a6ddbf2ab6316685a18c547ba66",
      "parents": [
        "615f59e0daaf56e43dcaaf3ea228967d9bc21584"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Wed Feb 17 11:18:57 2010 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Feb 17 17:46:31 2010 -0600"
      },
      "message": "[SCSI] zfcp: Move scsi result tracing decision to zfcp_dbf.h\n\nMove the decision which trace tag and trace level to use for the scsi\nresult trace to zfcp_dbf.h. zfcp_dbf_scsi_result is already an inline\nfunction, so move the trace code there, simplifying the response\nhandling in zfcp_fsf.c.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "615f59e0daaf56e43dcaaf3ea228967d9bc21584",
      "tree": "846366936a5077153b8f07b3125e868d7f6bce4e",
      "parents": [
        "5bdecd2248d4af6f3b311b4d8ca7f3f5f83a7191"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Wed Feb 17 11:18:56 2010 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Feb 17 17:46:30 2010 -0600"
      },
      "message": "[SCSI] zfcp: Rename sysfs_device attribute to dev in zfcp_unit and zfcp_port\n\nKernel code uses dev as short name for the struct device. Rename the\nsysfs_device in zfcp_unit and zfcp_port to match this convention.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "5bdecd2248d4af6f3b311b4d8ca7f3f5f83a7191",
      "tree": "852b9183b0dd24b7426994fc5cdeb681d7938cb7",
      "parents": [
        "d21e9daa63e009ce5b87bbcaa6d11ce48e07bbbe"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Wed Feb 17 11:18:55 2010 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Feb 17 17:46:28 2010 -0600"
      },
      "message": "[SCSI] zfcp: Remove duplicate assignment of req_seq_no\n\nzfcp_fsf_req_create assigns the same value twice to req_seq_no.\nRemove one assignment and move the req_id and seq_no assignments to\none place.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "d21e9daa63e009ce5b87bbcaa6d11ce48e07bbbe",
      "tree": "e09b0f6c6e6016ad0a425afe0a7e10b89c3138ac",
      "parents": [
        "22ed130719987d1081831dc1481160b216224ffd"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Wed Feb 17 11:18:54 2010 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Feb 17 17:46:27 2010 -0600"
      },
      "message": "[SCSI] zfcp: Dont use 0 to indicate invalid LUN in rec trace\n\n0 is a valid value for a LUN. It is slightly confusing to also see 0\nin the trace entries relating to adapter and port. Change this to use\n0xFFFFFFFFFFFFFFFF in the LUN field when the trace entry does not\nrelate to a LUN or unit.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "22ed130719987d1081831dc1481160b216224ffd",
      "tree": "df4d50cb0222d80755cb44ed398bc6afbcc06ca8",
      "parents": [
        "67feeebaa7038129ad58ae0dcece8142186b36a9"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Wed Feb 17 11:18:53 2010 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Feb 17 17:46:24 2010 -0600"
      },
      "message": "[SCSI] zfcp: Fix warnings from smatch\n\nThe smatch tool from http://repo.or.cz/w/smatch.git warns about this:\n\ndrivers/s390/scsi/zfcp_scsi.c +64 zfcp_scsi_command_fail(5) warn: variable dereferenced before check \u0027scpnt-\u003edevice\u0027\ndrivers/s390/scsi/zfcp_scsi.c +64 zfcp_scsi_command_fail(5) warn: variable dereferenced before check \u0027scpnt-\u003edevice-\u003ehost\u0027\ndrivers/s390/scsi/zfcp_scsi.c +93 zfcp_scsi_queuecommand(23) warn: variable dereferenced before check \u0027unit\u0027\n\nFix the first two warnings by removing the checks for scpnt-\u003edevice\nand -\u003e host: As long as the SCSI command exists, there is also a\nscsi_device and a Scsi_Host.\n\nFix the last warning by removing the BUG_ON checks in\nzfcp_scsi_queuecommand, they are leftovers from previous paranoia\nabout wrong pointers between data structures.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "67feeebaa7038129ad58ae0dcece8142186b36a9",
      "tree": "2f5dcdaeb157a880a4ae36e77b2632a7d6544c1c",
      "parents": [
        "452b505c5ada345103bdfdb39dc550df3ffe9eea"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Wed Feb 17 11:18:52 2010 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Feb 17 17:46:22 2010 -0600"
      },
      "message": "[SCSI] zfcp: Remove unused payload field from zfcp_dbf_san_record\n\nRemove the unused payload field from the struct zfcp_dbf_san_record,\nsaving some space in the SAN trace.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "452b505c5ada345103bdfdb39dc550df3ffe9eea",
      "tree": "de88e7fb6c42de0fc9522d959abc9c82f57d0fe5",
      "parents": [
        "b6bd2fb92a7bb9f1f3feecd9945c21e6c227dd51"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Wed Feb 17 11:18:51 2010 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Feb 17 17:46:21 2010 -0600"
      },
      "message": "[SCSI] zfcp: Remove two FIXME comments\n\nOn a link down, the adapter reopen is not strictly necessary, but it\nhelps flushing pending requests as quickly as possible. Add a comment\nmentioning this.\n\nqdio returning a problem on the response queue is an unlikely event.\nThe recovery mentioned in the comment might resolve it, so implement\nit. This also has the advantage that it creates an entry in the\nrecovery trace to see if and when this is occurring.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "b6bd2fb92a7bb9f1f3feecd9945c21e6c227dd51",
      "tree": "764374b8317b504336ef0c9ba4160ff7124c3e10",
      "parents": [
        "e60a6d69f1f84c2ef1cc63aefaadfe7ae9f12934"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Wed Feb 17 11:18:50 2010 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Feb 17 17:46:19 2010 -0600"
      },
      "message": "[SCSI] zfcp: Move FSF request tracking code to new file\n\nMove the code for tracking FSF requests to new file to have this code\nin one place. The functions for adding and removing requests on the\nI/O path are already inline. The alloc and free functions are only\ncalled once, so it does not hurt to inline them and add them to the\nsame file.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "e60a6d69f1f84c2ef1cc63aefaadfe7ae9f12934",
      "tree": "82d93610abd9c859eb43675b095583b17253309d",
      "parents": [
        "cae727db30e9bcbc0256ec3282edce98b4a85433"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Wed Feb 17 11:18:49 2010 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Wed Feb 17 17:46:17 2010 -0600"
      },
      "message": "[SCSI] zfcp: Remove function zfcp_reqlist_find_safe\n\nAlways use the FSF request id as a reference to the FSF request. With\nthis change the function zfcp_reqlist_find_safe is no longer needed\nand can be removed.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "7dec9cf1dfa283feca4b761160112ea4838a6a8c",
      "tree": "cf61e7ea19d4b34bfccf68b983b935e497a93676",
      "parents": [
        "9858ae38011d699d4c2fa7f3493a47accf43a0f5"
      ],
      "author": {
        "name": "Swen Schillig",
        "email": "swen@vnet.ibm.com",
        "time": "Tue Jan 26 17:49:19 2010 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Mon Feb 08 13:40:17 2010 -0600"
      },
      "message": "[SCSI] zfcp: Report FC BSG errors in correct field\n\nThe status FC_CTELS_STATUS_REJECT for all FC BSG errors is not\nappropriate. Instead, report -EIO in the result field if there was a\nproblem in zfcp with the FC BSG request. If the request is good from\nour point of view, report result 0, status FC_CTELS_STATUS_OK and let\nuserspace read the Accept or Reject from the payload (as documented in\nscsi_bsg_fc.h).\n\nSigned-off-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "51375ee8374dd7fa574e1a14ebac406c6d28543b",
      "tree": "cfc822b99af2a8bb894c4a549093f92ea917ff8e",
      "parents": [
        "491ca4426ba153f79e72d1ca2a30c926484282b7"
      ],
      "author": {
        "name": "Swen Schillig",
        "email": "swen@vnet.ibm.com",
        "time": "Thu Jan 14 17:19:02 2010 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun Jan 17 12:40:13 2010 -0600"
      },
      "message": "[SCSI] zfcp: Set hardware timeout as requested by BSG request.\n\nThe hardware used with zfcp provides a timer for CT and ELS requests\ninstead of an abort capability for these commands. To correctly handle\nthe FC BSG timeouts, pass the timeout from the BSG requests to the\nhardware.\n\nSigned-off-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "491ca4426ba153f79e72d1ca2a30c926484282b7",
      "tree": "44ad459ae8fa2521632d5a7f0f74bdf52409003c",
      "parents": [
        "b8f08645f80a0c93246f3539ce53d3cae6a91fa0"
      ],
      "author": {
        "name": "Swen Schillig",
        "email": "swen@vnet.ibm.com",
        "time": "Thu Jan 14 17:19:01 2010 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun Jan 17 12:40:12 2010 -0600"
      },
      "message": "[SCSI] zfcp: Introduce bsg_timeout callback.\n\nIntroduce a zfcp callback for timeouts triggered from FC BSG.  With\nzfcp, the underlying hardware cannot abort CT or ELS requests, so\nthere is nothing to do when the block layer timeout expires.  To avoid\ninterference with the block layer timeout, simply indicate that the\nblock layer timer should be reset. The timer running in the hardware\nfor the pending CT or ELS request will return the request when it\nexpires.\n\nSigned-off-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "9e2ab1fabdbd88669fdebd368fb5cda32ad5438d",
      "tree": "8707b3baccb3814cc8038423157758930e3e06b3",
      "parents": [
        "5a3fb3081a0166cdc5df0d9200234d09ad8d6083"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Wed Jan 13 17:52:38 2010 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun Jan 17 12:38:49 2010 -0600"
      },
      "message": "[SCSI] zfcp: add missing compat ptr conversion\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "5a3fb3081a0166cdc5df0d9200234d09ad8d6083",
      "tree": "d3de0fbea19a24a16b482b8921deade14b66e1ce",
      "parents": [
        "f09d5454576b9aabd4ce454937cd86263428090b"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Wed Jan 13 17:52:37 2010 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun Jan 17 12:38:47 2010 -0600"
      },
      "message": "[SCSI] zfcp: Fix linebreak in hba trace\n\nAdvance the correct pointer when inserting the linebreak for the HBA\ntrace. It was missing in the output since the pointer to the output\nbuffer was never advanced, and the linebreak character was overwritten\nlater.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "f09d5454576b9aabd4ce454937cd86263428090b",
      "tree": "538175bae5fc1906646052fc16111f325963b5cb",
      "parents": [
        "22c24734ce5e7cee9a63e02e5aa7ed108f8fad4d"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Wed Jan 13 17:52:36 2010 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Sun Jan 17 12:38:46 2010 -0600"
      },
      "message": "[SCSI] zfcp: Issue zfcp_fc_wka_port_put after FC CT BSG request\n\nThe patch \"zfcp: Simplify handling of ct and els requests\"\naccidentally removed the call to zfcp_fc_wka_port_put for FC CT BSG\nrequests, thus not issuing a \"close\" request for the WKA ports.\nIntroduce a CT specific handler to first call zfcp_fc_wka_port_put and\nthen continue with the generic handler when returning from FC CT BSG\nrequests.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "54987386ee3790f3900de4df2ed4deb0e18dfc9f",
      "tree": "a73d7975dadda2fb66c27883dc692de2e09b734c",
      "parents": [
        "0fdd21330a9d7bc6790eae0aed768052c315ae44"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Tue Nov 24 16:54:18 2009 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:02:18 2009 -0600"
      },
      "message": "[SCSI] zfcp: Remove flag ZFCP_STATUS_FSFREQ_TMFUNCNOTSUPP\n\nThe flag ZFCP_STATUS_FSFREQ_TMFUNCNOTSUPP is never set and hence can\nbe removed. This is a leftover from the time when zfcp had to decide\nwhether the target supports a \"logical unit reset\" or not. Nowadays,\nthe SCSI midlayer calls the eh_device_reset_handler or the\neh_target_reset_handler and zfcp simply maps this to a \"logical unit\nreset\" or a \"target reset\".\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "0fdd21330a9d7bc6790eae0aed768052c315ae44",
      "tree": "fbc514e9f4732180a567b69fce9943606530c29e",
      "parents": [
        "af4de36d911ab907b92c5f3f81ceff8474ed7485"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Tue Nov 24 16:54:17 2009 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:02:18 2009 -0600"
      },
      "message": "[SCSI] zfcp: Activate fc4s attributes for zfcp in FC transport class\n\nEnable the display of supported and active fc4s for zfcp in the FC\ntransport class. zfcp only supports FCP, so simply hard-code this\ninformation.  The zfcp hbaapi already has this information hardcoded,\nbut this would allow to switch from the coding in the zfcp hbaapi to\nthe common FC transport attributes in the future.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "af4de36d911ab907b92c5f3f81ceff8474ed7485",
      "tree": "3c10fe6223de5ff2ff1e19b4f28173f0dd948862",
      "parents": [
        "4c571c659e9d41332b6981ca5379047681ce9d2f"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Tue Nov 24 16:54:16 2009 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:02:17 2009 -0600"
      },
      "message": "[SCSI] zfcp: Block scsi_eh thread for rport state BLOCKED\n\nIn case the SCSI error recovery starts because of a SCSI command\ntimeout, but then something else triggers the rport to be deleted, the\nSCSI error recovery will run to the end and set the SCSI device\noffline. To prevent this, call the FC transport function\nfc_block_scsi_eh which waits until the rport leaves the BLOCKED state.\nThis guarantees that communication is possible if the rport is ONLINE,\nor the SCSI devices will be removed if the rport state switches to\nNOT_PRESENT.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "4c571c659e9d41332b6981ca5379047681ce9d2f",
      "tree": "57221fdc1d2e0450dbed56e0255ff1ddf14a861a",
      "parents": [
        "ee744622c65cd66824e8dd1b9509e515c800de14"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Tue Nov 24 16:54:15 2009 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:02:16 2009 -0600"
      },
      "message": "[SCSI] zfcp: Update FSF error reporting\n\nThe SCSI midlayer retries commands based on the remote port state and\nthe command status reported by the driver. Returning\nDID_TRANSPORT_DISRUPTED is a better approach, use this for reporting\nFSF errors back to the SCSI midlayer.  See\nhttp://marc.info/?l\u003dlinux-scsi\u0026m\u003d125668044215051\u0026w\u003d2 as reference.\n\nThere is also no need in special treatment of ABORTED commands, so\nremove the ZFCP_STATUS_FSFREQ_ABORTED, the commands are then returned\nwith DID_TRANSPORT_DISRUPTED.\n\nAlso remove the ZFCP_STATUS_FSFREQ_RETRY: It is useless, no retry is\nhappening in the FSF layer and nobody checks the state of this flag.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "ee744622c65cd66824e8dd1b9509e515c800de14",
      "tree": "4925603f5170400b07cde7cc18d2519cfcf788e2",
      "parents": [
        "7c7dc196814b9e1d5cc254dc579a5fa78ae524f7"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Tue Nov 24 16:54:14 2009 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:02:16 2009 -0600"
      },
      "message": "[SCSI] zfcp: Improve ELS ADISC handling\n\nIntroduce kmem_cache for ELS ADISC data to guarantee the required\nhardware alignment and free the allocated memory in case the send\nfailes.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "7c7dc196814b9e1d5cc254dc579a5fa78ae524f7",
      "tree": "efe4800a456fa97e1f10876840fbde0983264b18",
      "parents": [
        "800c0cad962dcf630cabf3efdc5983619e73d4c9"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Tue Nov 24 16:54:13 2009 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:02:15 2009 -0600"
      },
      "message": "[SCSI] zfcp: Simplify handling of ct and els requests\n\nRemove some redundancies in FC related code and trace:\n- drop redundant data from SAN trace (local s_id that only changes\n  during link down, ls_code that is already part of payload, d_id in\n  ct response trace that is always the same as in ct request trace)\n- use one common fsf struct to hold zfcp data for ct and els requests\n- leverage common fsf struct for FC passthrough job data, allocate it\n  with dd_bsg_data for passthrough requests and unify common code for\n  ct and els passthrough request\n- simplify callback handling in zfcp_fc\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "800c0cad962dcf630cabf3efdc5983619e73d4c9",
      "tree": "4d593b6ec683b524bb2e503483696218aa1eb167",
      "parents": [
        "bd0072ecc449fb2ea8f6a2c9f6ff308f3ae0b078"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Tue Nov 24 16:54:12 2009 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:02:14 2009 -0600"
      },
      "message": "[SCSI] zfcp: Remove ZFCP_DID_MASK\n\nInstead of assigning 4 bytes with the highest byte masked out, use a 3\nbyte array with the ntoh24 and h24ton helper functions, thus\neliminating the need for the ZFCP_DID_MASK.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "bd0072ecc449fb2ea8f6a2c9f6ff308f3ae0b078",
      "tree": "d58dc3bbac4a7e5c7fa44c009c4946b091eb9a88",
      "parents": [
        "dbf5dfe9dbcecf159139eec25ad256738cbc3715"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Tue Nov 24 16:54:11 2009 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:02:14 2009 -0600"
      },
      "message": "[SCSI] zfcp: Move WKA port to zfcp FC code\n\nThe well-known-address (WKA) port handling code is part of the FC code\nin zfcp. Move everything WKA related to the zfcp_fc files and use the\ncommon zfcp_fc prefix for structs and functions. Drop the unused key\nmanagement service while renaming the struct, no request could ever\nreach this service in zfcp and it is obsolete anyway.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "dbf5dfe9dbcecf159139eec25ad256738cbc3715",
      "tree": "1f1703cf4a270beb3e7046244123e62188de53f4",
      "parents": [
        "9d05ce2c0a6704ff84df02cbb3baef94fcac4f5d"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Tue Nov 24 16:54:10 2009 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:02:13 2009 -0600"
      },
      "message": "[SCSI] zfcp: Use common code definitions for FC CT structs\n\nUse common code definitions for FC GPN_FT and GID_PN\ninstead of inventing private ones. Move the private structs still\nrequired inside zfcp to zfcp_fc header file.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "9d05ce2c0a6704ff84df02cbb3baef94fcac4f5d",
      "tree": "2388ff365f068511ceb6e9bfbc13fe2425f0ae4c",
      "parents": [
        "4318e08c84e4916ac463002ffb7f9901ddb3c385"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Tue Nov 24 16:54:09 2009 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:02:11 2009 -0600"
      },
      "message": "[SCSI] zfcp: Use common code definitions for FC ELS structs\n\nUse common code definitions for FC plogi, logo, rscn and adisc structs\ninstead of inventing private ones. Move the private struct for issuing\nELS ADISC inside zfcp to zfcp_fc header file.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "4318e08c84e4916ac463002ffb7f9901ddb3c385",
      "tree": "ebce82e85a0d2010c98d0585a5b94113981ee357",
      "parents": [
        "8830271c4819d86d8e87202a1fe8da0bb58912a2"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Tue Nov 24 16:54:08 2009 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:02:10 2009 -0600"
      },
      "message": "[SCSI] zfcp: Update FCP protocol related code\n\nUse common data structures for FCP CMND, FCP RSP and related\ndefinitions and remove zfcp private definitions. Split the FCP CMND\nsetup and FCP RSP evaluation code in seperate functions. Use inline\nfunctions to not negatively impact the I/O path.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "8830271c4819d86d8e87202a1fe8da0bb58912a2",
      "tree": "95069a94b64fc94ca24fec6d040b037097ef42ce",
      "parents": [
        "9eae07ef6bb5988163d8bb82cd952905db47b721"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Tue Nov 24 16:54:07 2009 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:02:09 2009 -0600"
      },
      "message": "[SCSI] zfcp: Dont fail SCSI commands when transitioning to blocked fc_rport\n\nIf an error occurs that triggers the call to fc_remote_port_delete,\nideally this call would happen before any I/O is passed back to the\nSCSI midlayer through scsi_done. The SCSI midlayer will retry the\ncommands and fc_remote_port_chkready will return the correct status\ncode.  But with the delay between calling scsi_done in softirq context\nand the call to fc_remote_port_delete from the workqueue, there is a\nwindow where zfcp returns DID_ERROR. This leads to SCSI error recovery\nwhich then leads to offline SCSI devices since all recovery actions\nwill fail with the rport now being blocked.\n\nIn this window, zfcp has to return DID_IMM_RETRY just as the FC\ntransport class would do in fc_remote_port_chkready for the blocked\nfc_rport. As soon as the fc_rport is BLOCKED, fc_remote_port_chkready\nwill do the right thing.\n\nAdditionally, there are two more cases to catch in zfcp_scsi_queuecommand:\n- After the port has been opened, the unit has to be opened. During\n  this period I/O has to be retried. This can also be handled with\n  DID_IMM_RETRY.\n- If the access to the unit fails, but the port is good, then\n  this single unit cannot be accessed and I/O to this unit has to fail\n  without involving the FC transport class.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "9eae07ef6bb5988163d8bb82cd952905db47b721",
      "tree": "97a7f5c98c760b6232e5cdb60e5da58414079981",
      "parents": [
        "6b183334c23969d52d4d9f775da554480d05ca4d"
      ],
      "author": {
        "name": "Swen Schillig",
        "email": "swen@vnet.ibm.com",
        "time": "Tue Nov 24 16:54:06 2009 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:02:08 2009 -0600"
      },
      "message": "[SCSI] zfcp: Assign scheduled work to driver queue\n\nThe port_scan work was scheduled to the work_queue provided by the\nkernel. This resulted on SMP systems to a likely situation that more\nthan one scan_work were processed in parallel. This is not required\nand openes the possibility of race conditions between the removal of\ninvalid ports and the enqueue of just scanned ports.  This patch\nsynchronizes the scan_work tasks by scheduling them to adapter local\nwork_queue.\n\nSigned-off-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "6b183334c23969d52d4d9f775da554480d05ca4d",
      "tree": "32f791e10aff8be2acaede6c3881b6561a65cc5a",
      "parents": [
        "c1fad4176464281e776022dee7d029144afbeb13"
      ],
      "author": {
        "name": "Swen Schillig",
        "email": "swen@vnet.ibm.com",
        "time": "Tue Nov 24 16:54:05 2009 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:02:07 2009 -0600"
      },
      "message": "[SCSI] zfcp: Remove STATUS_COMMON_REMOVE flag as it is not required anymore\n\nThe flag ZFCP_STATUS_COMMON_REMOVE was used to indicate that a\nresource is not ready to be used or about to be removed from the\nsystem. This is now better done by an improved list handling\nand therefore the additional indicator is not required anymore.\n\nSigned-off-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "c1fad4176464281e776022dee7d029144afbeb13",
      "tree": "c21502a9be5c0e500f4224565a054efbfa3d0254",
      "parents": [
        "d9742b42b5c76e2a3a39de0d187fac4f6852134e"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Tue Nov 24 16:54:04 2009 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:02:06 2009 -0600"
      },
      "message": "[SCSI] zfcp: Implement module unloading\n\nWith the reference counting for zfcp data structures, it is now\npossible to implement module unloading again. Module unloading\nrequires to free all data structures in the module exit function. This\nis done by unregistering zfcp from s390 cio and the SCSI midlayer\nfirst in the module exit function.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "d9742b42b5c76e2a3a39de0d187fac4f6852134e",
      "tree": "361b95354ff266e85b5da2131be9532a5bff0d78",
      "parents": [
        "25458eb791acf0e5e65183c5adb3918d8d71d756"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Tue Nov 24 16:54:03 2009 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:02:05 2009 -0600"
      },
      "message": "[SCSI] zfcp: Merge trace code for fsf requests in one function\n\nThe latencies traced per fsf request are traced for sysfs output and\nfor blktrace, each in one function. Simplify the tracing code by\nmerging both tracing functions into one.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "25458eb791acf0e5e65183c5adb3918d8d71d756",
      "tree": "e634ee6be885b096c8a8840f6b6a1184d1fb341d",
      "parents": [
        "b42aeceb35c59484056b0eea81203a0911ebb50d"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Tue Nov 24 16:54:02 2009 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:02:04 2009 -0600"
      },
      "message": "[SCSI] zfcp: Access ports and units with container_of in sysfs code\n\nWhen accessing port and unit attributes, use container_of instead of\ndev_get_drvdata. This eliminates some code checker warnings about\naliased access of data structures.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "b42aeceb35c59484056b0eea81203a0911ebb50d",
      "tree": "f3e2cb6eaf976fcfe00be0ef2d71f708710c73f3",
      "parents": [
        "de3dc57214a1466034ecc4d4ffb10331d34c09a3"
      ],
      "author": {
        "name": "Swen Schillig",
        "email": "swen@vnet.ibm.com",
        "time": "Tue Nov 24 16:54:01 2009 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:02:03 2009 -0600"
      },
      "message": "[SCSI] zfcp: Remove suspend callback\n\nThe callback for suspend is not required because it contains exactly\nthe same functionality as the _set_offline routine does.\n\nSigned-off-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "de3dc57214a1466034ecc4d4ffb10331d34c09a3",
      "tree": "63eb490d66f9db2cf032041392fb2f4d5ac4785c",
      "parents": [
        "f3450c7b917201bb49d67032e9f60d5125675d6a"
      ],
      "author": {
        "name": "Swen Schillig",
        "email": "swen@vnet.ibm.com",
        "time": "Tue Nov 24 16:54:00 2009 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:02:02 2009 -0600"
      },
      "message": "[SCSI] zfcp: Remove global config_mutex\n\nThe global config_mutex was required for the serialization of a\nconfiguration change within the zfcp driver.  This global locking is\nnow obsolete and can be removed.  The requirement of serializing the\naccess to a zfcp_adapter reference via a ccw_device is realized wth a\nstatic spinlock.\n\nSigned-off-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "f3450c7b917201bb49d67032e9f60d5125675d6a",
      "tree": "404b1c23490b0a5ba3d6cbbb14e64381a12a108a",
      "parents": [
        "ecf0c7721b104c0ce9c8ca534c911f6310cf92a8"
      ],
      "author": {
        "name": "Swen Schillig",
        "email": "swen@vnet.ibm.com",
        "time": "Tue Nov 24 16:53:59 2009 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:02:02 2009 -0600"
      },
      "message": "[SCSI] zfcp: Replace local reference counting with common kref\n\nReplace the local reference counting by already available mechanisms\noffered by kref. Where possible existing device structures were used,\nincluding the same functionality.\n\nSigned-off-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "ecf0c7721b104c0ce9c8ca534c911f6310cf92a8",
      "tree": "639032b36bcbbe905c98c6f0b3b521dc2f0b1806",
      "parents": [
        "0a55256d158c18e4821c248a295b7f8f4423660f"
      ],
      "author": {
        "name": "Swen Schillig",
        "email": "swen@vnet.ibm.com",
        "time": "Tue Nov 24 16:53:58 2009 +0100"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:02:01 2009 -0600"
      },
      "message": "[SCSI] zfcp: Replace global config_lock with local list locks\n\nThe global config_lock was used to protect the configuration organized\nin independent lists. It is not necessary to have a lock on driver\nlevel for this purpose.  This patch replaces the global config_lock\nwith a set of local list locks.\n\nSigned-off-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "42e62a74377bcbb526565a31aa18da8f712b93ee",
      "tree": "61692fdff92370cb58fbe3fe7a82162ee58de831",
      "parents": [
        "229b8d72f3eccf97e8a9e22436e8fc303b3483cd"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Thu Oct 15 17:47:11 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:00:45 2009 -0600"
      },
      "message": "[SCSI] zfcp: Adapt change_queue_depth for queue full tracking\n\nAdapt the change_queue_depth callback in zfcp for the new reason\nparameter. Simply pass each call back to the SCSI midlayer, there are\nno resource adjustments necessary for zfcp.\n\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\n\nRemoves check for (depth \u003c\u003d default_depth) in case of\nSCSI_QDEPTH_RAMP_UP call back, not needed after added\nmax_queue_depth per sdev.\n\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "e881a172dac4d9ea3b2a1540041d872963c269bd",
      "tree": "9eb1f344b107806c0041c4e0a64192a055117289",
      "parents": [
        "dbf9bfe615717d1145f263c0049fe2328e6ed395"
      ],
      "author": {
        "name": "Mike Christie",
        "email": "michaelc@cs.wisc.edu",
        "time": "Thu Oct 15 17:46:39 2009 -0700"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Dec 04 12:00:41 2009 -0600"
      },
      "message": "[SCSI] modify change_queue_depth to take in reason why it is being called\n\nThis patch modifies scsi_host_template-\u003echange_queue_depth so that\nit takes an argument indicating why it is being called. This will be\nused so that if a LLD needs to do some extra processing when\nhandling queue fulls or later ramp ups, it can do so.\n\nThis is a simple port of the drivers setting a change_queue_depth\ncallback. In the patch I just have these LLDs adjust the queue depth\nif the user was requesting it.\n\nSigned-off-by: Mike Christie \u003cmichaelc@cs.wisc.edu\u003e\n\n[Vasu.Dev: v2\n\tAlso converted pmcraid_change_queue_depth and then verified\nall modules compile  using \"make allmodconfig\" for any new build\nwarnings on X86_64.\n\n\tUpdated original description after combing two original\npatches from Mike to make this patch git bisectable.]\nSigned-off-by: Vasu Dev \u003cvasu.dev@intel.com\u003e\n[jejb: fixed up 53c700]\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "9e820afd0c4f3c8e8894aa91f5671fd7d11a787b",
      "tree": "5cc2c79cdf223eb30b43c85caf7a281edbf24be3",
      "parents": [
        "9d38500de156fb28ffa8741acb90c4dc90a9fb4b"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Tue Oct 13 10:44:11 2009 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Oct 22 09:38:51 2009 +0900"
      },
      "message": "[SCSI] zfcp: Flush SCSI registration work when adding unit\n\nWhen configuring a LUN for use in zfcp, flush the SCSI work to ensure\nthe SCSI device has been created before returning. This means that a\nconfiguration procedure can run these commands in a script and the\nSCSI device is available immediately after the unit_add:\n\necho 1 \u003e /sys/bus/ccw/drivers/zfcp/0.0.181d/online\necho 0x401040C300000000 \u003e \\\n        /sys/bus/ccw/drivers/zfcp/0.0.181d/0x500507630313c562/unit_add\nlsscsi\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "9d38500de156fb28ffa8741acb90c4dc90a9fb4b",
      "tree": "51a9cf9bfea2c1e20ce50d091dce61b128be633a",
      "parents": [
        "10d00f78e67223ef429fa5f4abfc9ea4ad740490"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Tue Oct 13 10:44:10 2009 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Oct 22 09:38:49 2009 +0900"
      },
      "message": "[SCSI] zfcp: Fix timer initialization for ct and els requests\n\nAdd HZ since the start_timer function expects jiffies, not seconds.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "10d00f78e67223ef429fa5f4abfc9ea4ad740490",
      "tree": "f5187aaacfdde4e5ce03929c5036bdfd5339f9fd",
      "parents": [
        "934aeb587bab3173b6dec8e7717b909d8efc77b0"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Tue Oct 13 10:44:09 2009 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Oct 22 09:38:47 2009 +0900"
      },
      "message": "[SCSI] zfcp: Warn about storage devices with broken PLOGI data\n\nAfter opening a remote port zfcp checks if the WWPN returned in the\nPLOGI maches the WWPN of the port that should have been opened. On a\nmismatch zfcp assumes that the DID just changed, queries the FC\nnameserver and tries again. If the situation persists the erp will\ngive up.\n\nWith this strategy, if the remote port always returns the wrong PLOGI\ndata, the remote port will not be opened. Introduce a warning, so that\nthe system administrator knows why the remote port is not being opened\nand to have a pointer to investigate the problem on the storage\nsystem.\n\nReviewed-by: Swen Schillig \u003cswen@vnet.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "934aeb587bab3173b6dec8e7717b909d8efc77b0",
      "tree": "051a4836be95f529bf82914ba09847694d9673c2",
      "parents": [
        "d10c0858f618c20547d4eda8aee9c3afd91599cf"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Wed Oct 14 11:00:43 2009 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Oct 22 09:38:45 2009 +0900"
      },
      "message": "[SCSI] zfcp: Handle WWPN mismatch in PLOGI payload\n\nFor ports, zfcp gets the DID from the FC nameserver and tries to open\nthe port. If the open succeeds, zfcp compares the WWPN from the\nnameserver with the WWPN in the PLOGI payload. In case of a mismatch,\nzfcp assumes that the DID of the port just changed and we opened the\nwrong port. This means that zfcp has to forget the DID, lookup the DID\nagain and retry.\n\nThis error case had a problem that zfcp forgets the DID, but never\nlooks up a new one, stalling the ERP in this case. Fix this by\ntriggering the DID lookup and properly exit from the ERP. The DID\nlookup will trigger a new ERP action.\n\nAlso ensure when trying to open the port again with the new DID, first\nclose the open port, even in the NOESC case.\n\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "d10c0858f618c20547d4eda8aee9c3afd91599cf",
      "tree": "df1c20b8d735c50dd3847d95c6c1083093748649",
      "parents": [
        "37e6ba00720c2786330dec2a9a5081e9e049422f"
      ],
      "author": {
        "name": "Heiko Carstens",
        "email": "heiko.carstens@de.ibm.com",
        "time": "Tue Oct 13 10:44:07 2009 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Thu Oct 22 09:38:42 2009 +0900"
      },
      "message": "[SCSI] zfcp: fix kfree handling in zfcp_init_device_setup\n\nThe pointer that is allocated with kmalloc() is passed to strsep()\nwhich modifies it. Later on the modified pointer value will be passed\nto kfree. Save the original pointer and pass that one to kfree\ninstead.\n\nSigned-off-by: Heiko Carstens \u003cheiko.carstens@de.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    },
    {
      "commit": "d74cf7c3e9c4a6a659e0442aafb550b162d15e72",
      "tree": "2608dca9dd748a1234ea0e44679e9902b1d3b35b",
      "parents": [
        "f45a54214a0770582af06bb1e807493d1b7268ab"
      ],
      "author": {
        "name": "Christof Schmitt",
        "email": "christof.schmitt@de.ibm.com",
        "time": "Thu Sep 24 10:23:25 2009 +0200"
      },
      "committer": {
        "name": "James Bottomley",
        "email": "James.Bottomley@suse.de",
        "time": "Fri Oct 02 09:50:21 2009 -0500"
      },
      "message": "[SCSI] zfcp: Fix hang when offlining device with offline chpid\n\nRunning chchp --vary 0 and chccwdev -d on a FCP device with scsi\ndevices attached can lead to this thread hanging:\n\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\nSTACK TRACE FOR TASK: 0x2fbfcc00 (kslowcrw)\n\n STACK:\n 0 schedule+1136 [0x45f99c]\n 1 schedule_timeout+534 [0x46054e]\n 2 wait_for_common+374 [0x45f442]\n 3 blk_execute_rq+160 [0x217a2c]\n 4 scsi_execute+278 [0x26daf2]\n 5 scsi_execute_req+150 [0x26dc86]\n 6 sd_sync_cache+138 [0x28460a]\n 7 sd_shutdown+130 [0x28486a]\n 8 sd_remove+104 [0x284c84]\n 9 __device_release_driver+152 [0x257430]\n10 device_release_driver+56 [0x2575c8]\n11 bus_remove_device+214 [0x25672a]\n12 device_del+352 [0x25456c]\n13 __scsi_remove_device+108 [0x272630]\n14 scsi_remove_device+66 [0x2726ba]\n15 zfcp_ccw_remove+824 [0x335558]\n16 ccw_device_remove+62 [0x2b3f2a]\n17 __device_release_driver+152 [0x257430]\n18 device_release_driver+56 [0x2575c8]\n19 bus_remove_device+214 [0x25672a]\n20 device_del+352 [0x25456c]\n21 ccw_device_unregister+92 [0x2b48c4]\n22 io_subchannel_remove+108 [0x2b4950]\n23 css_remove+62 [0x2af7ee]\n24 __device_release_driver+152 [0x257430]\n25 device_release_driver+56 [0x2575c8]\n26 bus_remove_device+214 [0x25672a]\n27 device_del+352 [0x25456c]\n28 device_unregister+38 [0x25464a]\n29 css_sch_device_unregister+68 [0x2af97c]\n30 ccw_device_call_sch_unregister+78 [0x2b581e]\n31 worker_thread+604 [0x69eb0]\n32 kthread+154 [0x6ff42]\n33 kernel_thread_starter+6 [0x1c952]\n\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\u003d\n\nThe problem is that the chchp --vary 0 leads to zfcp first calling\nfc_remote_port_delete which blocks all scsi devices on the remote\nport. Calling scsi_remove_device later lets the sd driver issue a\nSYNCHRONIZE_CACHE command. This command stays on the \"stopped\" request\nrequeue because the SCSI device is blocked. Fix this by first removing\nthe scsi and fc hosts which removes all scsi devices and do not use\nscsi_remove_device.\n\nReviewed-by: Felix Beck \u003cfelix.beck@de.ibm.com\u003e\nSigned-off-by: Christof Schmitt \u003cchristof.schmitt@de.ibm.com\u003e\nSigned-off-by: James Bottomley \u003cJames.Bottomley@suse.de\u003e\n"
    }
  ],
  "next": "f45a54214a0770582af06bb1e807493d1b7268ab"
}
