25 May, 2018

1 commit

  • [ Upstream commit a7043e9529f3c367cc4d82997e00be034cbe57ca ]

    My static checker complains about an out of bounds read:

    drivers/message/fusion/mptctl.c:2786 mptctl_hp_targetinfo()
    error: buffer overflow 'hd->sel_timeout' 255
    Reviewed-by: Johannes Thumshirn
    Signed-off-by: Martin K. Petersen
    Signed-off-by: Sasha Levin
    Signed-off-by: Greg Kroah-Hartman

    Dan Carpenter
     

29 Apr, 2018

1 commit

  • commit 94e5395d2403c8bc2504a7cbe4c4caaacb7b8b84 upstream.

    First generation MPT Fusion controllers can not translate WRITE SAME
    when the attached device is a SATA drive. Disable WRITE SAME support.

    Reported-by: Nikola Ciprich
    Cc:
    Signed-off-by: Martin K. Petersen
    Signed-off-by: Greg Kroah-Hartman

    Martin K. Petersen
     

02 Nov, 2017

1 commit

  • Many source files in the tree are missing licensing information, which
    makes it harder for compliance tools to determine the correct license.

    By default all files without license information are under the default
    license of the kernel, which is GPL version 2.

    Update the files which contain no license information with the 'GPL-2.0'
    SPDX license identifier. The SPDX identifier is a legally binding
    shorthand, which can be used instead of the full boiler plate text.

    This patch is based on work done by Thomas Gleixner and Kate Stewart and
    Philippe Ombredanne.

    How this work was done:

    Patches were generated and checked against linux-4.14-rc6 for a subset of
    the use cases:
    - file had no licensing information it it.
    - file was a */uapi/* one with no licensing information in it,
    - file was a */uapi/* one with existing licensing information,

    Further patches will be generated in subsequent months to fix up cases
    where non-standard license headers were used, and references to license
    had to be inferred by heuristics based on keywords.

    The analysis to determine which SPDX License Identifier to be applied to
    a file was done in a spreadsheet of side by side results from of the
    output of two independent scanners (ScanCode & Windriver) producing SPDX
    tag:value files created by Philippe Ombredanne. Philippe prepared the
    base worksheet, and did an initial spot review of a few 1000 files.

    The 4.13 kernel was the starting point of the analysis with 60,537 files
    assessed. Kate Stewart did a file by file comparison of the scanner
    results in the spreadsheet to determine which SPDX license identifier(s)
    to be applied to the file. She confirmed any determination that was not
    immediately clear with lawyers working with the Linux Foundation.

    Criteria used to select files for SPDX license identifier tagging was:
    - Files considered eligible had to be source code files.
    - Make and config files were included as candidates if they contained >5
    lines of source
    - File already had some variant of a license header in it (even if
    Reviewed-by: Philippe Ombredanne
    Reviewed-by: Thomas Gleixner
    Signed-off-by: Greg Kroah-Hartman

    Greg Kroah-Hartman
     

30 Aug, 2017

1 commit

  • Simplify the SMP passthrough code by switching it to the generic bsg-lib
    helpers that abstract away the details of the request code, and gets
    drivers out of seeing struct scsi_request.

    For the libsas host SMP code there is a small behavior difference in
    that we now always clear the residual len for successful commands,
    similar to the three other SMP handler implementations. Given that
    there is no partial command handling in the host SMP handler this should
    not matter in practice.

    [mkp: typos and checkpatch fixes]

    Signed-off-by: Christoph Hellwig
    Reviewed-by: Johannes Thumshirn
    Signed-off-by: Martin K. Petersen

    Christoph Hellwig
     

26 Aug, 2017

2 commits

  • VMWare ESXi emulates an mptsas HBA, but exposes all drives as
    direct-attached SAS drives. This it not how the driver originally
    envisioned things; SAS drives were supposed to be connected via an
    expander, and only SATA drives would be direct attached. As such, any
    hotplug event for direct-attach SAS drives was silently ignored, and the
    guest failed to detect new drives from within a VMWare ESXi environment.

    [mkp: typos]

    Bugzilla: https://bugzilla.suse.com/show_bug.cgi?id=1030850
    Signed-off-by: Hannes Reinecke
    Signed-off-by: Martin K. Petersen

    Hannes Reinecke
     
  • When we're resetting the host any remote port states will be reset
    anyway, so it's pointless to wait for dev_loss_tmo during host reset.

    Signed-off-by: Hannes Reinecke
    Reviewed-by: Christoph Hellwig
    Reviewed-by: Johannes Thumshirn
    Signed-off-by: Martin K. Petersen

    Hannes Reinecke
     

08 Aug, 2017

1 commit

  • gcc points out a theorerical string overflow:

    drivers/message/fusion/mptbase.c: In function 'mpt_detach':
    drivers/message/fusion/mptbase.c:2103:17: error: '%s' directive writing up to 31 bytes into a region of size 28 [-Werror=format-overflow=]
    sprintf(pname, MPT_PROCFS_MPTBASEDIR "/%s/summary", ioc->name);
    ^~~~~
    drivers/message/fusion/mptbase.c:2103:2: note: 'sprintf' output between 13 and 44 bytes into a destination of size 32

    We can simply double the size of the local buffer here to be on the
    safe side, and using snprintf() instead of sprintf() protects us
    if ioc->name was not terminated properly.

    Signed-off-by: Arnd Bergmann
    Signed-off-by: Martin K. Petersen

    Arnd Bergmann
     

25 Apr, 2017

2 commits


22 Feb, 2017

1 commit

  • Pull SCSI updates from James Bottomley:
    "This update includes the usual round of major driver updates (ncr5380,
    ufs, lpfc, be2iscsi, hisi_sas, storvsc, cxlflash, aacraid,
    megaraid_sas, ...).

    There's also an assortment of minor fixes and the major update of
    switching a bunch of drivers to pci_alloc_irq_vectors from Christoph"

    * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (188 commits)
    scsi: megaraid_sas: handle dma_addr_t right on 32-bit
    scsi: megaraid_sas: array overflow in megasas_dump_frame()
    scsi: snic: switch to pci_irq_alloc_vectors
    scsi: megaraid_sas: driver version upgrade
    scsi: megaraid_sas: Change RAID_1_10_RMW_CMDS to RAID_1_PEER_CMDS and set value to 2
    scsi: megaraid_sas: Indentation and smatch warning fixes
    scsi: megaraid_sas: Cleanup VD_EXT_DEBUG and SPAN_DEBUG related debug prints
    scsi: megaraid_sas: Increase internal command pool
    scsi: megaraid_sas: Use synchronize_irq to wait for IRQs to complete
    scsi: megaraid_sas: Bail out the driver load if ld_list_query fails
    scsi: megaraid_sas: Change build_mpt_mfi_pass_thru to return void
    scsi: megaraid_sas: During OCR, if get_ctrl_info fails do not continue with OCR
    scsi: megaraid_sas: Do not set fp_possible if TM capable for non-RW syspdIO, change fp_possible to bool
    scsi: megaraid_sas: Remove unused pd_index from megasas_build_ld_nonrw_fusion
    scsi: megaraid_sas: megasas_return_cmd does not memset IO frame to zero
    scsi: megaraid_sas: max_fw_cmds are decremented twice, remove duplicate
    scsi: megaraid_sas: update can_queue only if the new value is less
    scsi: megaraid_sas: Change max_cmd from u32 to u16 in all functions
    scsi: megaraid_sas: set pd_after_lb from MR_BuildRaidContext and initialize pDevHandle to MR_DEVHANDLE_INVALID
    scsi: megaraid_sas: latest controller OCR capability from FW before sending shutdown DCMD
    ...

    Linus Torvalds
     

07 Feb, 2017

1 commit

  • Instead define the timeout behavior purely based on the host_template
    eh_timed_out method and wire up the existing transport implementations
    in the host templates. This also clears up the confusion that the
    transport template method overrides the host template one, so some
    drivers have to re-override the transport template one.

    Signed-off-by: Christoph Hellwig
    Reviewed-by: Hannes Reinecke
    Reviewed-by: Tyrel Datwyler
    Signed-off-by: Martin K. Petersen

    Christoph Hellwig
     

28 Jan, 2017

1 commit

  • And require all drivers that want to support BLOCK_PC to allocate it
    as the first thing of their private data. To support this the legacy
    IDE and BSG code is switched to set cmd_size on their queues to let
    the block layer allocate the additional space.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Jens Axboe

    Christoph Hellwig
     

05 Jan, 2017

1 commit


25 Dec, 2016

1 commit


15 Dec, 2016

1 commit

  • Pull SCSI updates from James Bottomley:
    "This update includes the usual round of major driver updates (ncr5380,
    lpfc, hisi_sas, megaraid_sas, ufs, ibmvscsis, mpt3sas).

    There's also an assortment of minor fixes, mostly in error legs or
    other not very user visible stuff. The major change is the
    pci_alloc_irq_vectors replacement for the old pci_msix_.. calls; this
    effectively makes IRQ mapping generic for the drivers and allows
    blk_mq to use the information"

    * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (256 commits)
    scsi: qla4xxx: switch to pci_alloc_irq_vectors
    scsi: hisi_sas: support deferred probe for v2 hw
    scsi: megaraid_sas: switch to pci_alloc_irq_vectors
    scsi: scsi_devinfo: remove synchronous ALUA for NETAPP devices
    scsi: be2iscsi: set errno on error path
    scsi: be2iscsi: set errno on error path
    scsi: hpsa: fallback to use legacy REPORT PHYS command
    scsi: scsi_dh_alua: Fix RCU annotations
    scsi: hpsa: use %phN for short hex dumps
    scsi: hisi_sas: fix free'ing in probe and remove
    scsi: isci: switch to pci_alloc_irq_vectors
    scsi: ipr: Fix runaway IRQs when falling back from MSI to LSI
    scsi: dpt_i2o: double free on error path
    scsi: cxlflash: Migrate scsi command pointer to AFU command
    scsi: cxlflash: Migrate IOARRIN specific routines to function pointers
    scsi: cxlflash: Cleanup queuecommand()
    scsi: cxlflash: Cleanup send_tmf()
    scsi: cxlflash: Remove AFU command lock
    scsi: cxlflash: Wait for active AFU commands to timeout upon tear down
    scsi: cxlflash: Remove private command pool
    ...

    Linus Torvalds
     

18 Nov, 2016

1 commit

  • Fix the printk continuations when running the mptfusion driver.
    This patch brings the capabilities into one single syslog line again:
    mptbase: ioc1: Initiating bringup
    ioc1: LSI53C1030 B2: Capabilities={Initiator,Target}
    scsi host3: ioc1: LSI53C1030 B2, FwRev=01032341h, Ports=1, MaxQ=255, IRQ=67

    Tested on a parisc C8000 machine.

    Signed-off-by: Helge Deller
    Signed-off-by: Martin K. Petersen

    Helge Deller
     

09 Nov, 2016

2 commits


21 Oct, 2016

1 commit

  • firewire-net:
    - set min/max_mtu
    - remove fwnet_change_mtu

    nes:
    - set max_mtu
    - clean up nes_netdev_change_mtu

    xpnet:
    - set min/max_mtu
    - remove xpnet_dev_change_mtu

    hippi:
    - set min/max_mtu
    - remove hippi_change_mtu

    batman-adv:
    - set max_mtu
    - remove batadv_interface_change_mtu
    - initialization is a little async, not 100% certain that max_mtu is set
    in the optimal place, don't have hardware to test with

    rionet:
    - set min/max_mtu
    - remove rionet_change_mtu

    slip:
    - set min/max_mtu
    - streamline sl_change_mtu

    um/net_kern:
    - remove pointless ndo_change_mtu

    hsi/clients/ssi_protocol:
    - use core MTU range checking
    - remove now redundant ssip_pn_set_mtu

    ipoib:
    - set a default max MTU value
    - Note: ipoib's actual max MTU can vary, depending on if the device is in
    connected mode or not, so we'll just set the max_mtu value to the max
    possible, and let the ndo_change_mtu function continue to validate any new
    MTU change requests with checks for CM or not. Note that ipoib has no
    min_mtu set, and thus, the network core's mtu > 0 check is the only lower
    bounds here.

    mptlan:
    - use net core MTU range checking
    - remove now redundant mpt_lan_change_mtu

    fddi:
    - min_mtu = 21, max_mtu = 4470
    - remove now redundant fddi_change_mtu (including export)

    fjes:
    - min_mtu = 8192, max_mtu = 65536
    - The max_mtu value is actually one over IP_MAX_MTU here, but the idea is to
    get past the core net MTU range checks so fjes_change_mtu can validate a
    new MTU against what it supports (see fjes_support_mtu in fjes_hw.c)

    hsr:
    - min_mtu = 0 (calls ether_setup, max_mtu is 1500)

    f_phonet:
    - min_mtu = 6, max_mtu = 65541

    u_ether:
    - min_mtu = 14, max_mtu = 15412

    phonet/pep-gprs:
    - min_mtu = 576, max_mtu = 65530
    - remove redundant gprs_set_mtu

    CC: netdev@vger.kernel.org
    CC: linux-rdma@vger.kernel.org
    CC: Stefan Richter
    CC: Faisal Latif
    CC: linux-rdma@vger.kernel.org
    CC: Cliff Whickman
    CC: Robin Holt
    CC: Jes Sorensen
    CC: Marek Lindner
    CC: Simon Wunderlich
    CC: Antonio Quartulli
    CC: Sathya Prakash
    CC: Chaitra P B
    CC: Suganath Prabu Subramani
    CC: MPT-FusionLinux.pdl@broadcom.com
    CC: Sebastian Reichel
    CC: Felipe Balbi
    CC: Arvid Brodin
    CC: Remi Denis-Courmont
    Signed-off-by: Jarod Wilson
    Signed-off-by: David S. Miller

    Jarod Wilson
     

15 Sep, 2016

1 commit


02 Sep, 2016

2 commits

  • The workqueues "ioc->reset_work_q" and "ioc->fw_event_q" queue a single
    work item &ioc->fault_reset_work and &fw_event->work, respectively and
    hence don't require ordering. Hence, they have been converted to use
    alloc_workqueue().

    The WQ_MEM_RECLAIM flag has been set to ensure forward progress under
    memory pressure since the workqueue belongs to a storage driver which is
    being used on a memory reclaim path.

    Since there are fixed number of work items, explicit concurrency limit
    is unnecessary here.

    Signed-off-by: Bhaktipriya Shridhar
    Acked-by: Tejun Heo
    Signed-off-by: Martin K. Petersen

    Bhaktipriya Shridhar
     
  • The workqueue "fc_rescan_work_q" queues multiple work items viz
    &ioc->fc_rescan_work, &ioc->fc_lsc_work, &ioc->fc_setup_reset_work,
    which require strict execution ordering. Hence, an ordered dedicated
    workqueue has been used.

    WQ_MEM_RECLAIM has been set since the workqueue is belongs to a storage
    driver which is being used on a memory reclaim path and hence, requires
    forward progress under memory pressure.

    Signed-off-by: Bhaktipriya Shridhar
    Acked-by: Tejun Heo
    Signed-off-by: Martin K. Petersen

    Bhaktipriya Shridhar
     

19 May, 2016

1 commit

  • Pull SCSI updates from James Bottomley:
    "First round of SCSI updates for the 4.6+ merge window.

    This batch includes the usual quota of driver updates (bnx2fc, mp3sas,
    hpsa, ncr5380, lpfc, hisi_sas, snic, aacraid, megaraid_sas). There's
    also a multiqueue update for scsi_debug, assorted bug fixes and a few
    other minor updates (refactor of scsi_sg_pools into generic code, alua
    and VPD updates, and struct timeval conversions)"

    * tag 'scsi-misc' of git://git.kernel.org/pub/scm/linux/kernel/git/jejb/scsi: (138 commits)
    mpt3sas: Used "synchronize_irq()"API to synchronize timed-out IO & TMs
    mpt3sas: Set maximum transfer length per IO to 4MB for VDs
    mpt3sas: Updating mpt3sas driver version to 13.100.00.00
    mpt3sas: Fix initial Reference tag field for 4K PI drives.
    mpt3sas: Handle active cable exception event
    mpt3sas: Update MPI header to 2.00.42
    Revert "lpfc: Delete unnecessary checks before the function call mempool_destroy"
    eata_pio: missing break statement
    hpsa: Fix type ZBC conditional checks
    scsi_lib: Decode T10 vendor IDs
    scsi_dh_alua: do not fail for unknown VPD identification
    scsi_debug: use locally assigned naa
    scsi_debug: uuid for lu name
    scsi_debug: vpd and mode page work
    scsi_debug: add multiple queue support
    bfa: fix bfa_fcb_itnim_alloc() error handling
    megaraid_sas: Downgrade two success messages to info
    cxlflash: Fix to resolve dead-lock during EEH recovery
    scsi_debug: rework resp_report_luns
    scsi_debug: use pdt constants
    ...

    Linus Torvalds
     

05 May, 2016

1 commit

  • Replace all trans_start updates with netif_trans_update helper.
    change was done via spatch:

    struct net_device *d;
    @@
    - d->trans_start = jiffies
    + netif_trans_update(d)

    Compile tested only.

    Cc: user-mode-linux-devel@lists.sourceforge.net
    Cc: linux-xtensa@linux-xtensa.org
    Cc: linux1394-devel@lists.sourceforge.net
    Cc: linux-rdma@vger.kernel.org
    Cc: netdev@vger.kernel.org
    Cc: MPT-FusionLinux.pdl@broadcom.com
    Cc: linux-scsi@vger.kernel.org
    Cc: linux-can@vger.kernel.org
    Cc: linux-parisc@vger.kernel.org
    Cc: linux-omap@vger.kernel.org
    Cc: linux-hams@vger.kernel.org
    Cc: linux-usb@vger.kernel.org
    Cc: linux-wireless@vger.kernel.org
    Cc: linux-s390@vger.kernel.org
    Cc: devel@driverdev.osuosl.org
    Cc: b.a.t.m.a.n@lists.open-mesh.org
    Cc: linux-bluetooth@vger.kernel.org
    Signed-off-by: Florian Westphal
    Acked-by: Felipe Balbi
    Acked-by: Mugunthan V N
    Acked-by: Antonio Quartulli
    Signed-off-by: David S. Miller

    Florian Westphal
     

30 Apr, 2016

1 commit

  • mptsas_smp_handler() checks for dma mapping errors by comparison
    returned address with zero, while pci_dma_mapping_error() should be
    used.

    Found by Linux Driver Verification project (linuxtesting.org).

    Signed-off-by: Alexey Khoroshilov
    Acked-by: Sathya Prakash Veerichetty
    Signed-off-by: Martin K. Petersen

    Alexey Khoroshilov
     

12 Apr, 2016

1 commit

  • On larger installations it is useful to disable automatic LUN scanning,
    and only add the required LUNs via udev rules. This can speed up bootup
    dramatically.

    This patch introduces a new scan module parameter value 'manual', which
    works like 'none', but can be overridden by setting the 'rescan' value
    from scsi_scan_target to 'SCSI_SCAN_MANUAL'. And it updates all
    relevant callers to set the 'rescan' value to 'SCSI_SCAN_MANUAL' if
    invoked via the 'scan' option in sysfs.

    Signed-off-by: Hannes Reinecke
    Reviewed-by: Ewan D. Milne
    Tested-by: Laurence Oberman
    Signed-off-by: Martin K. Petersen

    Hannes Reinecke
     

24 Feb, 2016

2 commits

  • mpt_attach() was not checking for the failure to create fw_event_q.
    Also, iounmap() was not being called in all error cases after ioremap()
    had been called by mpt_mapresources().

    Signed-off-by: Ewan D. Milne
    Reported-by: Insu Yun
    Reviewed-by: Tomas Henzl
    Reviewed-by: Johannes Thumshirn
    Signed-off-by: Martin K. Petersen

    Ewan D. Milne
     
  • The seq_mpt_print_ioc_summary function is used for the
    /proc/mpt/iocN/summary implementation and never gets called when
    CONFIG_PROC_FS is disabled:

    drivers/message/fusion/mptbase.c:6851:13: warning: 'seq_mpt_print_ioc_summary' defined but not used [-Wunused-function]
    static void seq_mpt_print_ioc_summary(MPT_ADAPTER *ioc, struct seq_file *m, int showlan)

    This adds an #ifdef to hide the function definition in that case and
    avoid the warning.

    Signed-off-by: Arnd Bergmann
    Signed-off-by: Martin K. Petersen

    Arnd Bergmann
     

12 Nov, 2015

2 commits


10 Nov, 2015

1 commit

  • This patch changes the !blk-mq path to the same defaults as the blk-mq
    I/O path by always enabling block tagging, and always using host wide
    tags. We've had blk-mq available for a few releases so bugs with
    this mode should have been ironed out, and this ensures we get better
    coverage of over tagging setup over different configs.

    Signed-off-by: Christoph Hellwig
    Acked-by: Jens Axboe
    Reviewed-by: Hannes Reinecke
    Signed-off-by: James Bottomley

    Christoph Hellwig
     

26 Aug, 2015

1 commit

  • These are signed values the come from the user, we put a cap on the
    upper bounds but not on the lower bounds.

    We use "karg.dataSgeOffset" to calculate "sz". We verify "sz" and
    proceed as if that means that "karg.dataSgeOffset" is correct but this
    fails to consider that the "sz" calculations can have integer overflows.

    Signed-off-by: Dan Carpenter
    Reviewed-by: Johannes Thumshirn
    Signed-off-by: James Bottomley

    Dan Carpenter
     

13 Jun, 2015

2 commits

  • If and when this gets enabled the driver could should split
    up IO memory space properly and that is quite a bit of work.
    Just remove the uncommented dead MTRR code then.

    There are a few motivations for this:

    a) Take advantage of PAT when available

    b) Help bury MTRR code away, MTRR is architecture specific and on
    x86 its replaced by PAT

    c) Help with the goal of eventually using _PAGE_CACHE_UC over
    _PAGE_CACHE_UC_MINUS on x86 on ioremap_nocache() (see commit
    de33c442e titled "x86 PAT: fix performance drop for glx,
    use UC minus for ioremap(), ioremap_nocache() and
    pci_mmap_page_range()")

    Signed-off-by: Luis R. Rodriguez
    Acked-by: Sreekanth Reddy
    Signed-off-by: James Bottomley

    Luis R. Rodriguez
     
  • A user of scsi_track_queue_full should pass to the function a constant value
    untill the queue-depth changes, otherwise the internal logic in
    scsi_track_queue_full rejects the change. Other users of this function use a
    'sdev->queue_depth - 1' as depth parameter, let's do the same.

    Signed-off-by: Tomas Henzl
    Acked-by: "Sreekanth Reddy"
    Signed-off-by: James Bottomley

    Tomas Henzl
     

04 Feb, 2015

1 commit

  • The I2O layer deals with a technology that to say the least didn't catch on
    in the market.

    The only relevant products are some of the AMI MegaRAID - which supported I2O
    and its native mode (The native mode is faster and runs on Linux), an
    obscure crypto ethernet card that's now so many years out of date nobody
    would use it, the old DPT controllers, which speak their own dialect and
    have their own driver - and ermm.. thats about it.

    We also know the code isn't in good shape as recently a patch was proposed
    and queried as buggy, which in turn showed the existing code was broken
    already by prior "clean up" and nobody had noticed that either.

    It's coding style robot code nothing more. Like some forgotten corridor
    cleaned relentlessly by a lost Roomba but where no user has trodden in years.

    Move it to staging and then to /dev/null.

    The headers remain as they are shared with dpt_i2o.

    Signed-off-by: Alan Cox
    Signed-off-by: Greg Kroah-Hartman

    Alan Cox
     

24 Nov, 2014

1 commit

  • Drop the now unused reason argument from the ->change_queue_depth method.
    Also add a return value to scsi_adjust_queue_depth, and rename it to
    scsi_change_queue_depth now that it can be used as the default
    ->change_queue_depth implementation.

    Signed-off-by: Christoph Hellwig
    Reviewed-by: Mike Christie
    Reviewed-by: Hannes Reinecke

    Christoph Hellwig
     

12 Nov, 2014

4 commits

  • Remove the tagged argument from scsi_adjust_queue_depth, and just let it
    handle the queue depth. For most drivers those two are fairly separate,
    given that most modern drivers don't care about the SCSI "tagged" status
    of a command at all, and many old drivers allow queuing of multiple
    untagged commands in the driver.

    Instead we start out with the ->simple_tags flag set before calling
    ->slave_configure, which is how all drivers actually looking at
    ->simple_tags except for one worke anyway. The one other case looks
    broken, but I've kept the behavior as-is for now.

    Except for that we only change ->simple_tags from the ->change_queue_type,
    and when rejecting a tag message in a single driver, so keeping this
    churn out of scsi_adjust_queue_depth is a clear win.

    Now that the usage of scsi_adjust_queue_depth is more obvious we can
    also remove all the trivial instances in ->slave_alloc or ->slave_configure
    that just set it to the cmd_per_lun default.

    Signed-off-by: Christoph Hellwig
    Reviewed-by: Mike Christie
    Reviewed-by: Hannes Reinecke
    Reviewed-by: Martin K. Petersen

    Christoph Hellwig
     
  • Allow a driver to ask for block layer tags by setting .use_blk_tags in the
    host template, in which case it will always see a valid value in
    request->tag, similar to the behavior when using blk-mq. This means even
    SCSI "untagged" commands will now have a tag, which is especially useful
    when using a host-wide tag map.

    Signed-off-by: Christoph Hellwig
    Reviewed-by: Mike Christie
    Reviewed-by: Martin K. Petersen
    Reviewed-by: Hannes Reinecke

    Christoph Hellwig
     
  • This function shouldn't change the queue type, just the depth.

    Signed-off-by: Christoph Hellwig
    Reviewed-by: Mike Christie
    Reviewed-by: Martin K. Petersen
    Reviewed-by: Hannes Reinecke

    Christoph Hellwig
     
  • Remove the ordered_tags field, we haven't been issuing ordered tags based
    on it since the big barrier rework in 2010.

    Signed-off-by: Christoph Hellwig
    Reviewed-by: Mike Christie
    Reviewed-by: Bart Van Assche
    Reviewed-by: Martin K. Petersen

    Christoph Hellwig