1. 12 2月, 2007 1 次提交
  2. 10 2月, 2007 1 次提交
  3. 03 2月, 2007 2 次提交
  4. 28 1月, 2007 2 次提交
    • D
      [SCSI] libsas: Handle SCSI commands that complete with failure codes · ad689233
      Darrick J. Wong 提交于
      This patch moves the code that handles SAS failures out of the main EH
      function and into a separate function.  It also detects commands that have
      no sas_task (i.e. they completed, but with error data) and sends them into
      scsi_error for processing.  This allows us to handle SCSI errors (and
      enables auto-spinup as a side effect) instead of dropping them on the
      floor and falling into an infinite loop.  It also requires the
      implementation of a device reset function, which the SAS failure code has
      been modified to employ for REQ_DEVICE_RESET.
      Signed-off-by: NDarrick J. Wong <djwong@us.ibm.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      ad689233
    • D
      [SCSI] libsas: Clean up discovery failure handler code · 6f63caae
      Darrick J. Wong 提交于
      sas_rphy_delete does two things: it removes the sas_rphy from the transport
      layer and frees the sas_rphy.  This can be broken down into two functions,
      sas_rphy_remove and sas_rphy_free; sas_rphy_remove is of interest to
      sas_discover_root_expander because it calls functions that require
      sas_rphy_add as a prerequisite and can fail (namely sas_discover_expander).
      In that case, sas_discover_root_expander needs to be able to undo the effects
      of sas_rphy_add yet leave the job of freeing the sas_rphy to the caller of
      sas_discover_root_expander.
      
      This patch also removes some unnecessary code from sas_discover_end_dev
      to eliminate an unnecessary cycle of sas_notify_lldd_gone/found for SAS
      devices, thus eliminating a sas_rphy_remove call (and fixing a race condition
      where a SCSI target scan can come in between the gone and found call).
      It also moves the sas_rphy_free calls into sas_discover_domain and
      sas_ex_discover_end_dev to complement the sas_rphy_allocation via
      sas_get_port_device.
      
      This patch does not change the semantics of sas_rphy_delete.
      Signed-off-by: NDarrick J. Wong <djwong@us.ibm.com>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      6f63caae
  5. 14 1月, 2007 6 次提交
  6. 08 12月, 2006 1 次提交
  7. 06 12月, 2006 1 次提交
  8. 04 12月, 2006 1 次提交
  9. 03 12月, 2006 1 次提交
  10. 29 11月, 2006 1 次提交
  11. 26 11月, 2006 3 次提交
  12. 23 11月, 2006 2 次提交
  13. 22 11月, 2006 1 次提交
  14. 16 11月, 2006 3 次提交
  15. 26 10月, 2006 4 次提交
  16. 12 10月, 2006 1 次提交
    • M
      [SCSI] Add ability to scan scsi busses asynchronously · 3e082a91
      Matthew Wilcox 提交于
      Since it often takes around 20-30 seconds to scan a scsi bus, it's
      highly advantageous to do this in parallel with other things.  The bulk
      of this patch is ensuring that devices don't change numbering, and that
      all devices are discovered prior to trying to start init.  For those
      who build SCSI as modules, there's a new scsi_wait_scan module that will
      ensure all bus scans are finished.
      
      This patch only handles drivers which call scsi_scan_host.  Fibre Channel,
      SAS, SATA, USB and Firewire all need additional work.
      Signed-off-by: NMatthew Wilcox <matthew@wil.cx>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      3e082a91
  17. 05 10月, 2006 1 次提交
  18. 01 10月, 2006 3 次提交
    • A
      [PATCH] scsi: device_reprobe() can fail · cb5d9e09
      Andrew Morton 提交于
      device_reprobe() should return an error code.  When it does so,
      scsi_device_reprobe() should propagate it back.
      Acked-by: NJeff Garzik <jeff@garzik.org>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      cb5d9e09
    • D
      [PATCH] BLOCK: Make it possible to disable the block layer [try #6] · 9361401e
      David Howells 提交于
      Make it possible to disable the block layer.  Not all embedded devices require
      it, some can make do with just JFFS2, NFS, ramfs, etc - none of which require
      the block layer to be present.
      
      This patch does the following:
      
       (*) Introduces CONFIG_BLOCK to disable the block layer, buffering and blockdev
           support.
      
       (*) Adds dependencies on CONFIG_BLOCK to any configuration item that controls
           an item that uses the block layer.  This includes:
      
           (*) Block I/O tracing.
      
           (*) Disk partition code.
      
           (*) All filesystems that are block based, eg: Ext3, ReiserFS, ISOFS.
      
           (*) The SCSI layer.  As far as I can tell, even SCSI chardevs use the
           	 block layer to do scheduling.  Some drivers that use SCSI facilities -
           	 such as USB storage - end up disabled indirectly from this.
      
           (*) Various block-based device drivers, such as IDE and the old CDROM
           	 drivers.
      
           (*) MTD blockdev handling and FTL.
      
           (*) JFFS - which uses set_bdev_super(), something it could avoid doing by
           	 taking a leaf out of JFFS2's book.
      
       (*) Makes most of the contents of linux/blkdev.h, linux/buffer_head.h and
           linux/elevator.h contingent on CONFIG_BLOCK being set.  sector_div() is,
           however, still used in places, and so is still available.
      
       (*) Also made contingent are the contents of linux/mpage.h, linux/genhd.h and
           parts of linux/fs.h.
      
       (*) Makes a number of files in fs/ contingent on CONFIG_BLOCK.
      
       (*) Makes mm/bounce.c (bounce buffering) contingent on CONFIG_BLOCK.
      
       (*) set_page_dirty() doesn't call __set_page_dirty_buffers() if CONFIG_BLOCK
           is not enabled.
      
       (*) fs/no-block.c is created to hold out-of-line stubs and things that are
           required when CONFIG_BLOCK is not set:
      
           (*) Default blockdev file operations (to give error ENODEV on opening).
      
       (*) Makes some /proc changes:
      
           (*) /proc/devices does not list any blockdevs.
      
           (*) /proc/diskstats and /proc/partitions are contingent on CONFIG_BLOCK.
      
       (*) Makes some compat ioctl handling contingent on CONFIG_BLOCK.
      
       (*) If CONFIG_BLOCK is not defined, makes sys_quotactl() return -ENODEV if
           given command other than Q_SYNC or if a special device is specified.
      
       (*) In init/do_mounts.c, no reference is made to the blockdev routines if
           CONFIG_BLOCK is not defined.  This does not prohibit NFS roots or JFFS2.
      
       (*) The bdflush, ioprio_set and ioprio_get syscalls can now be absent (return
           error ENOSYS by way of cond_syscall if so).
      
       (*) The seclvl_bd_claim() and seclvl_bd_release() security calls do nothing if
           CONFIG_BLOCK is not set, since they can't then happen.
      Signed-Off-By: NDavid Howells <dhowells@redhat.com>
      Signed-off-by: NJens Axboe <axboe@kernel.dk>
      9361401e
    • J
      [PATCH] Split struct request ->flags into two parts · 4aff5e23
      Jens Axboe 提交于
      Right now ->flags is a bit of a mess: some are request types, and
      others are just modifiers. Clean this up by splitting it into
      ->cmd_type and ->cmd_flags. This allows introduction of generic
      Linux block message types, useful for sending generic Linux commands
      to block devices.
      Signed-off-by: NJens Axboe <axboe@suse.de>
      4aff5e23
  19. 28 9月, 2006 1 次提交
  20. 27 9月, 2006 1 次提交
    • D
      [SCSI] sg: fixes for large page_size · 6460e75a
      Douglas Gilbert 提交于
      This sg driver patch addresses the problem with larger
      page sizes reported by Brian King in this post:
      http://marc.theaimsgroup.com/?l=linux-scsi&m=115867718623631&w=2
      Some other related matters are also addressed. Some of these
      prevent oopses when the SG_SCATTER_SZ or scatter_elem_sz are
      set to inappropriate values.
      
      The scatter_elem_sz has been tested up to 4 MB which should
      make the largest data transfer with one SCSI command, 32 MB
      less one block, achievable with a relatively small number
      of elements in the scatter gather list.
      
      ChangeLog:
          - add scatter_elem_sz boot time parameter and sysfs module
            parameter that is initialized to SG_SCATTER_SZ
          - the driver will then adjust scatter_elem_sz to be the
            max(given(scatter_elem_sz), PAGE_SIZE)
            It will also round it up, if necessary, to be a power
            of two
          - clean up sg.h header, correct bad urls and some statements
            that are no longer valid
          - make the def_reserved_size sysfs module attribute writable
      Signed-off-by: NDouglas Gilbert <dougg@torque.net>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      6460e75a
  21. 25 9月, 2006 1 次提交
  22. 24 9月, 2006 1 次提交
  23. 19 9月, 2006 1 次提交