1. 02 Jun, 2014 1 commit
    • Nicholas Bellinger's avatar
      virtio-scsi: Enable DIF/DIX modes in SCSI host LLD · e6dc783a
      Nicholas Bellinger authored
      
      
      This patch updates virtscsi_probe() to setup necessary Scsi_Host
      level protection resources. (currently hardcoded to 1)
      
      It changes virtscsi_add_cmd() to attach outgoing / incoming
      protection SGLs preceeding the data payload, and is using the
      new virtio_scsi_cmd_req_pi->pi_bytes[out,in] field to signal
      to signal to vhost/scsi bytes to expect for protection data.
      
      (Add missing #include <linux/blkdev.h> for blk_integrity - sfr + nab)
      Acked-by: default avatarPaolo Bonzini <pbonzini@redhat.com>
      Cc: Michael S. Tsirkin <mst@redhat.com>
      Cc: Martin K. Petersen <martin.petersen@oracle.com>
      Cc: Christoph Hellwig <hch@lst.de>
      Cc: Hannes Reinecke <hare@suse.de>
      Cc: Sagi Grimberg <sagig@dev.mellanox.co.il>
      Cc: H. Peter Anvin <hpa@zytor.com>
      Signed-off-by: default avatarNicholas Bellinger <nab@linux-iscsi.org>
      e6dc783a
  2. 10 Apr, 2014 1 commit
    • Dan Williams's avatar
      scsi: async sd resume · 3c31b52f
      Dan Williams authored
      async_schedule() sd resume work to allow disks and other devices to
      resume in parallel.
      
      This moves the entirety of scsi_device resume to an async context to
      ensure that scsi_device_resume() remains ordered with respect to the
      completion of the start/stop command.  For the duration of the resume,
      new command submissions (that do not originate from the scsi-core) will
      be deferred (BLKPREP_DEFER).
      
      It adds a new ASYNC_DOMAIN_EXCLUSIVE(scsi_sd_pm_domain) as a container
      of these operations.  Like scsi_sd_probe_domain it is flushed at
      sd_remove() time to ensure async ops do not continue past the
      end-of-life of the sdev.  The implementation explicitly refrains from
      reusing scsi_sd_probe_domain directly for this purpose as it is flushed
      at the end of dpm_resume(), potentially defeating some of the benefit.
      Given sdevs are quiesced it is permissible for these resume operations
      to bleed past the async_synchronize_full() calls made by the driver
      core.
      
      We defer the resolution of which pm callback to call until
      scsi_dev_type_{suspend|resume} time and guarantee that the callback
      parameter is never NULL.  With this in place the type of resume
      operation is encoded in the async function identifier.
      
      There is a concern that async resume could trigger PSU overload.  In the
      enterprise, storage enclosures enforce staggered spin-up regardless of
      what the kernel does making async scanning safe by default.  Outside of
      that context a user can disable asynchronous scanning via a kernel
      command line or CONFIG_SCSI_SCAN_ASYNC.  Honor that setting when
      deciding whether to do resume asynchronously.
      
      Inspired by Todd's analysis and initial proposal [2]:
      https://01.org/suspendresume/blogs/tebrandt/2013/hard-disk-resume-optimization-simpler-approach
      
      
      
      Cc: Len Brown <len.brown@intel.com>
      Cc: Phillip Susi <psusi@ubuntu.com>
      [alan: bug fix and clean up suggestion]
      Acked-by: default avatarAlan Stern <stern@rowland.harvard.edu>
      Suggested-by: default avatarTodd Brandt <todd.e.brandt@linux.intel.com>
      [djbw: kick all resume work to the async queue]
      Signed-off-by: default avatarDan Williams <dan.j.williams@intel.com>
      3c31b52f
  3. 19 Dec, 2013 1 commit
    • Paul Gortmaker's avatar
      [SCSI] aci7xxx_old: delete decade+ obsolete driver · 1a4049dd
      Paul Gortmaker authored
      After getting warnings in an allyesconfig build[1] from this
      driver, I decided to remind myself just how old it was, and
      whether it warranted fixing.  In the Kconfig help text, I found:
      
        "This driver will eventually be phased out entirely"
      
      Going back to the history archive, I see the line was added[2]
      in Feb 2002, when we moved from v2.4.2.1 ---> v2.4.2.2
      
      So, with over a decade of notification, and multiple major releases
      since then, I think we can justify removing this.  Currently we have
      people wasting time building it during routine testing, and then
      wasting more time re-researching the known reported warnings, only to
      find that nobody really is willing to integrate the fixes[3] for it.
      
      A quick search didn't seem to indicate any active user base for it.
      If someone happens to have a quirky _old_ card that the eleven year
      old "new" driver doesn't work with, then it is entirely reasonable
      that they stick with a kernel version that predates this removal.
      
      [1] drivers/scsi/aic7xxx_old.c: In function ‘aic7xxx_register’:
          drivers/scsi/aic7xxx_old.c:7901:5: warning: case value ‘257’ not in enumerated type ‘ahc_chip’ [-Wswitch]
          drivers/scsi/aic7xxx_old.c:7898:5: warning: case value ‘513’ not in enumerated type ‘ahc_chip’ [-Wswitch]
          drivers/scsi/aic7xxx_old.c: In function ‘aic7xxx_load_seeprom’:
          drivers/scsi/aic7xxx_old.c:8517:5: warning: case value ‘257’ not in enumerated type ‘ahc_chip’ [-Wswitch]
          drivers/scsi/aic7xxx_old.c:8510:5: warning: case value ‘513’ not in enumerated type ‘ahc_chip’ [-Wswitch]
      
      [2] http://git.kernel.org/cgit/linux/kernel/git/tglx/history.git commit 44e8778c
      
      [3] https://lkml.org/lkml/2012/10/29/215
      
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      Acked-by: default avatarHannes Reinecke <hare@suse.de>
      Acked-by: default avatarDoug Ledford <dledford@redhat.com>
      Signed-off-by: default avatarJames Bottomley <JBottomley@Parallels.com>
      1a4049dd
  4. 02 Dec, 2013 1 commit
  5. 03 Sep, 2013 1 commit
  6. 21 Aug, 2013 1 commit
    • Anton Blanchard's avatar
      [SCSI] lpfc: Don't force CONFIG_GENERIC_CSUM on · f5944daa
      Anton Blanchard authored
      We want ppc64 to be able to select between optimised assembly
      checksum routines in big endian and the generic lib/checksum.c
      routines in little endian.
      
      The lpfc driver is forcing CONFIG_GENERIC_CSUM on which means
      we are unable to make the decision to enable it in the arch
      Kconfig. If the option exists it is always forced on.
      
      This got introduced in 3.10 via commit 6a7252fd
      
       ([SCSI] lpfc:
      fix up Kconfig dependencies). I spoke to Randy about it and
      the original issue was with CRC_T10DIF not being defined.
      
      As such, remove the select of CONFIG_GENERIC_CSUM.
      Signed-off-by: default avatarAnton Blanchard <anton@samba.org>
      Cc: <stable@vger.kernel.org> # 3.10
      Signed-off-by: default avatarJames Bottomley <JBottomley@Parallels.com>
      f5944daa
  7. 27 Jun, 2013 1 commit
  8. 10 May, 2013 1 commit
  9. 21 Jan, 2013 1 commit
  10. 09 Jan, 2013 1 commit
  11. 01 Dec, 2012 1 commit
  12. 27 Nov, 2012 1 commit
  13. 20 Jul, 2012 2 commits
    • Alan Cox's avatar
      [SCSI] aha152x: Allow use on 64bit systems · fa7250d6
      Alan Cox authored
      
      
      This is reported to work, known to work on PCMCIA and a code check shows no
      problems on the other bits of the code.
      Signed-off-by: default avatarAlan Cox <alan@linux.intel.com>
      Signed-off-by: default avatarJames Bottomley <JBottomley@Parallels.com>
      fa7250d6
    • James Bottomley's avatar
      [SCSI] Remove scsi_wait_scan module · 6072609d
      James Bottomley authored
      scsi_wait_scan was introduced with asynchronous host scanning as a hack
      for distributions that weren't using proper udev based wait for root to
      appear in their initramfs scripts.  In 2.6.30 Commit
      
      c7510859
      
      
      Author: Rafael J. Wysocki <rjw@sisk.pl>
      Date:   Sun Apr 12 20:06:56 2009 +0200
      
          PM/Hibernate: Wait for SCSI devices scan to complete during resume
      
      Actually broke scsi_wait_scan because it renders
      scsi_complete_async_scans() a nop for modular SCSI if you include
      scsi_scans.h (which this module does).
      
      The lack of bug reports is sufficient proof that this module is no
      longer used.
      
      Cc: Jeff Mahoney <jeffm@suse.de>
      Cc: Dave Jones <davej@redhat.com>
      Cc: maximilian attems <max@stro.at>
      Signed-off-by: default avatarJames Bottomley <JBottomley@Parallels.com>
      6072609d
  14. 17 May, 2012 1 commit
    • Paul Gortmaker's avatar
      scsi: delete the MCA specific drivers and driver code · a88dc06c
      Paul Gortmaker authored
      
      
      The support for CONFIG_MCA is being removed, since the 20
      year old hardware simply isn't capable of meeting today's
      software demands on CPU and memory resources.
      
      This commit removes the MCA specific SCSI drivers, and the
      MCA specific portions of code in dual role ISA/MCA drivers.
      Also, the MCA specific SCSI documentation is removed.
      
      Cc: James Bottomley <JBottomley@parallels.com>
      Cc: linux-scsi@vger.kernel.org
      Signed-off-by: default avatarPaul Gortmaker <paul.gortmaker@windriver.com>
      a88dc06c
  15. 23 Apr, 2012 1 commit
  16. 27 Mar, 2012 1 commit
  17. 08 Mar, 2012 1 commit
  18. 19 Feb, 2012 1 commit
  19. 13 Feb, 2012 1 commit
  20. 16 Jan, 2012 1 commit
  21. 31 Oct, 2011 1 commit
  22. 23 Sep, 2011 1 commit
  23. 27 Aug, 2011 3 commits
  24. 03 Jul, 2011 3 commits
  25. 01 Mar, 2011 1 commit
  26. 18 Oct, 2010 1 commit
  27. 09 Sep, 2010 1 commit
  28. 05 Sep, 2010 2 commits
  29. 11 Aug, 2010 1 commit
    • Randy Dunlap's avatar
      scsi: fix pmcraid build errors · b2045240
      Randy Dunlap authored
      
      
      pmcraid should depend on NET since it uses netlink interfaces.
      This fixes multiple build errors when CONFIG_NET is not enabled:
      
      ERROR: "genl_register_family" [drivers/scsi/pmcraid.ko] undefined!
      ERROR: "genl_unregister_family" [drivers/scsi/pmcraid.ko] undefined!
      ERROR: "nla_put" [drivers/scsi/pmcraid.ko] undefined!
      ERROR: "init_net" [drivers/scsi/pmcraid.ko] undefined!
      ERROR: "__alloc_skb" [drivers/scsi/pmcraid.ko] undefined!
      ERROR: "netlink_broadcast" [drivers/scsi/pmcraid.ko] undefined!
      ERROR: "kfree_skb" [drivers/scsi/pmcraid.ko] undefined!
      ERROR: "skb_put" [drivers/scsi/pmcraid.ko] undefined!
      Signed-off-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
      Cc: Anil Ravindranath <anil_ravindranath@pmc-sierra.com>
      Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
      Signed-off-by: default avatarAndrew Morton <akpm@linux-foundation.org>
      Signed-off-by: default avatarLinus Torvalds <torvalds@linux-foundation.org>
      b2045240
  30. 06 Aug, 2010 1 commit
  31. 28 Jul, 2010 1 commit
  32. 03 Mar, 2010 1 commit
    • James Bottomley's avatar
      [SCSI] raid_attrs: fix dependency problems · fac829fd
      James Bottomley authored
      
      
      RAID attributes uses scsi_is_sdev_device() to gate some SCSI specific
      checking code.  This causes two problems.  Firstly if SCSI == n just
      defining scsi_is_sdev_device() to return false might not be enough to
      prevent gcc from emitting the code (and thus referring to undefined
      symbols), so this needs surrounding with an ifdef.  Secondly, using
      scsi_is_sdev_device() when SCSI is either y or m gives a subtle
      problem in the m case: raid_attrs must also be m to use the symbol.
      Do the usual Kconfig jiggery-pokery to fix this.
      Reported-by: default avatarRandy Dunlap <randy.dunlap@oracle.com>
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@suse.de>
      fac829fd
  33. 10 Dec, 2009 1 commit
  34. 04 Dec, 2009 1 commit
    • Joe Eykholt's avatar
      [SCSI] fnic: Add FIP support to the fnic driver · 78112e55
      Joe Eykholt authored
      
      
      Use libfcoe as a common FIP implementation with fcoe.
      FIP or non-FIP mode is fully automatic if the firmware
      supports and enables it.
      
      Even if FIP is not supported, this uses libfcoe for the non-FIP
      handling of FLOGI and its response.
      
      Use the new lport_set_port_id() notification to capture
      successful FLOGI responses and port_id resets.
      
      While transitioning between Ethernet and FC mode, all rx and
      tx FC frames are queued.  In Ethernet mode, all frames are
      passed to the exchange manager to capture FLOGI responses.
      
      Change to set data_src_addr to the ctl_src_addr whenever it
      would have previously been zero because we're not logged in.
      This seems safer so we'll never send a frame with a 0 source MAC.
      This also eliminates a special case for sending FLOGI frames.
      Signed-off-by: default avatarJoe Eykholt <jeykholt@cisco.com>
      Signed-off-by: default avatarRobert Love <robert.w.love@intel.com>
      Signed-off-by: default avatarJames Bottomley <James.Bottomley@suse.de>
      78112e55