1. 17 12月, 2009 1 次提交
  2. 05 12月, 2009 1 次提交
    • M
      [SCSI] modify change_queue_depth to take in reason why it is being called · e881a172
      Mike Christie 提交于
      This patch modifies scsi_host_template->change_queue_depth so that
      it takes an argument indicating why it is being called. This will be
      used so that if a LLD needs to do some extra processing when
      handling queue fulls or later ramp ups, it can do so.
      
      This is a simple port of the drivers setting a change_queue_depth
      callback. In the patch I just have these LLDs adjust the queue depth
      if the user was requesting it.
      Signed-off-by: NMike Christie <michaelc@cs.wisc.edu>
      
      [Vasu.Dev: v2
      	Also converted pmcraid_change_queue_depth and then verified
      all modules compile  using "make allmodconfig" for any new build
      warnings on X86_64.
      
      	Updated original description after combing two original
      patches from Mike to make this patch git bisectable.]
      Signed-off-by: NVasu Dev <vasu.dev@intel.com>
      [jejb: fixed up 53c700]
      Signed-off-by: NJames Bottomley <James.Bottomley@suse.de>
      e881a172
  3. 04 12月, 2009 2 次提交
  4. 03 12月, 2009 2 次提交
  5. 09 9月, 2009 1 次提交
    • T
      libata: unbreak TPM filtering by reorganizing ata_scsi_pass_thru() · bd30add8
      Tejun Heo 提交于
      ata_scsi_pass_thru() was checking for input sanity and disallowed
      commands while initializaing qc from scmd.  TPM filtering was added
      right after protocol check at which point tf wasn't initialized
      properly.  This means that TPM filtering has never really worked.
      
      This patch fixes the bug by reorganizing ata_scsi_pass_thru() such
      that qc is fully initialized before checking for invalid conditions
      which is way less error prone.
      
      Discovered while Thilo-Alexander Ginkel was trying debug patches for
      bko#13416.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Cc: Thilo-Alexander Ginkel <thilo@ginkel.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      bd30add8
  6. 02 9月, 2009 2 次提交
  7. 16 5月, 2009 2 次提交
  8. 12 5月, 2009 1 次提交
  9. 11 5月, 2009 1 次提交
    • T
      block: cleanup rq->data_len usages · b0790410
      Tejun Heo 提交于
      With recent unification of fields, it's now guaranteed that
      rq->data_len always equals blk_rq_bytes().  Convert all non-IDE direct
      users to accessors.  IDE will be converted in a separate patch.
      
      Boaz: spotted incorrect data_len/resid_len conversion in osd.
      
      [ Impact: convert direct rq->data_len usages to blk_rq_bytes() ]
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Acked-by: NSergei Shtylyov <sshtylyov@ru.mvista.com>
      Cc: Pete Zaitcev <zaitcev@redhat.com>
      Cc: Eric Moore <Eric.Moore@lsi.com>
      Cc: Markus Lidel <Markus.Lidel@shadowconnect.com>
      Cc: Darrick J. Wong <djwong@us.ibm.com>
      Cc: James Bottomley <James.Bottomley@HansenPartnership.com>
      Cc: Eric Moore <Eric.Moore@lsi.com>
      Cc: Boaz Harrosh <bharrosh@panasas.com>
      Cc: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      b0790410
  10. 17 4月, 2009 1 次提交
    • A
      ata: Report 16/32bit PIO as best we can · e3cf95dd
      Alan Cox 提交于
      The legacy old IDE ioctl API for this is a bit primitive so we try
      and map stuff sensibly onto it.
      
      - Set PIO over DMA devices to report 32bit
      - Add ability to change the PIO32 settings if the controller permits it
      - Add that functionality into the sff drivers
      - Add that functionality into the VLB legacy driver
      - Turn on the 32bit PIO on the ninja32 and add support there
      Signed-off-by: NAlan Cox <alan@linux.intel.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      e3cf95dd
  11. 03 2月, 2009 1 次提交
  12. 27 1月, 2009 1 次提交
  13. 16 1月, 2009 1 次提交
  14. 07 1月, 2009 1 次提交
  15. 30 12月, 2008 1 次提交
  16. 29 12月, 2008 1 次提交
    • T
      libata: beef up iterators · 1eca4365
      Tejun Heo 提交于
      There currently are the following looping constructs.
      
      * __ata_port_for_each_link() for all available links
      * ata_port_for_each_link() for edge links
      * ata_link_for_each_dev() for all devices
      * ata_link_for_each_dev_reverse() for all devices in reverse order
      
      Now there's a need for looping construct which is similar to
      __ata_port_for_each_link() but iterates over PMP links before the host
      link.  Instead of adding another one with long name, do the following
      cleanup.
      
      * Implement and export ata_link_next() and ata_dev_next() which take
        @mode parameter and can be used to build custom loop.
      * Implement ata_for_each_link() and ata_for_each_dev() which take
        looping mode explicitly.
      
      The following iteration modes are implemented.
      
      * ATA_LITER_EDGE		: loop over edge links
      * ATA_LITER_HOST_FIRST		: loop over all links, host link first
      * ATA_LITER_PMP_FIRST		: loop over all links, PMP links first
      
      * ATA_DITER_ENABLED		: loop over enabled devices
      * ATA_DITER_ENABLED_REVERSE	: loop over enabled devices in reverse order
      * ATA_DITER_ALL			: loop over all devices
      * ATA_DITER_ALL_REVERSE		: loop over all devices in reverse order
      
      This change removes exlicit device enabledness checks from many loops
      and makes it clear which ones are iterated over in which direction.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      1eca4365
  17. 11 11月, 2008 1 次提交
    • T
      libata: revert convert-to-block-tagging patches · 8a8bc223
      Tejun Heo 提交于
      This patch reverts the following three commits which convert libata to
      use block layer tagging.
      
       43a49cbd
       e013e13b
       2fca5ccf
      
      Although using block layer tagging is the right direction, due to the
      tight coupling among tag number, data structure allocation and
      hardware command slot allocation, libata doesn't work correctly with
      the current conversion.
      
      The biggest problem is guaranteeing that tag 0 is always used for
      non-NCQ commands.  Due to the way blk-tag is implemented and how SCSI
      starts and finishes requests, such guarantee can't be made.  I'm not
      sure whether this would actually break any low level driver but it
      doesn't look like a good idea to break such assumption given the
      frailty of ATA controllers.
      
      So, for the time being, keep using the old dumb in-libata qc
      allocation.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Cc: Jens Axobe <jens.axboe@oracle.com>
      Cc: Jeff Garzik <jeff@garzik.org>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      8a8bc223
  18. 04 11月, 2008 1 次提交
  19. 28 10月, 2008 1 次提交
  20. 24 10月, 2008 2 次提交
  21. 11 10月, 2008 1 次提交
  22. 09 10月, 2008 1 次提交
  23. 29 9月, 2008 1 次提交
    • E
      libata: Implement disk shock protection support · 45fabbb7
      Elias Oltmanns 提交于
      On user request (through sysfs), the IDLE IMMEDIATE command with UNLOAD
      FEATURE as specified in ATA-7 is issued to the device and processing of
      the request queue is stopped thereafter until the specified timeout
      expires or user space asks to resume normal operation. This is supposed
      to prevent the heads of a hard drive from accidentally crashing onto the
      platter when a heavy shock is anticipated (like a falling laptop
      expected to hit the floor). In fact, the whole port stops processing
      commands until the timeout has expired in order to avoid any resets due
      to failed commands on another device.
      Signed-off-by: NElias Oltmanns <eo@nebensachen.de>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      45fabbb7
  24. 31 7月, 2008 1 次提交
    • T
      libata: update atapi disable handling · 2486fa56
      Tejun Heo 提交于
      Global and per-LLD ATAPI disable checks were done in the command issue
      path probably because it was left out during EH conversion.  On
      affected machines, this can cause lots of warning messages.  Move them
      to where they belong - the probing path.
      
      Reported by Chunbo Luo.
      Signed-off-by: NTejun Heo <tj@kernel.org>
      Cc: Chunbo Luo <chunbo.luo@windriver.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      2486fa56
  25. 15 7月, 2008 2 次提交
  26. 04 7月, 2008 1 次提交
  27. 19 6月, 2008 1 次提交
  28. 31 5月, 2008 1 次提交
  29. 20 5月, 2008 1 次提交
  30. 29 4月, 2008 2 次提交
    • T
      libata-scsi: improve rbuf handling for simulated commands · 87340e98
      Tejun Heo 提交于
      Buffer length handling in simulated commands is error-prone and full
      of bugs.  There are a number of places where necessary length checks
      are missing and if the output buffer is passed in as sglist, nothing
      works.
      
      This patch adds a static buffer ata_scsi_rbuf which is sufficiently
      large to handle the larges output from simulated commands (4k
      currently), let all simulte functions write to the buffer and removes
      all length checks as we know that there always is enough buffer space.
      Copying in (for ATAPI inquiry fix up) and out are handled by
      sg_copy_to/from_buffer() behind ata_scsi_rbuf_get/put() interface
      which handles sglist properly.
      
      This patch is inspired from buffer length check fix patch from Petr
      Vandrovec.
      
      Updated to use sg_copy_to/from_buffer() as suggested by FUJITA
      Tomonori.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Cc: Petr Vandrovec <petr@vmware.com>
      Cc: FUJITA Tomonori <fujita.tomonori@lab.ntt.co.jp>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      87340e98
    • T
      libata-scsi: clean up inquiry / mode sense related functions · f0761be3
      Tejun Heo 提交于
      * make ata_scsiop_*() static
      * make ata_scsi_set_sense() static and move it above its users
      * make ata_scsi_rbuf_fill() static
      * kill unused ata_scsi_badcmd()
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      Signed-off-by: NJeff Garzik <jgarzik@redhat.com>
      f0761be3
  31. 20 4月, 2008 1 次提交
  32. 19 4月, 2008 1 次提交
  33. 18 4月, 2008 1 次提交
    • T
      libata: implement PMP helpers · 071f44b1
      Tejun Heo 提交于
      Implement helpers to test whether PMP is supported, attached and
      determine pmp number to use when issuing SRST to a link.  While at it,
      move ata_is_host_link() so that it's together with the two new PMP
      helpers.
      
      This change simplifies LLDs and helps making PMP support optional.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      071f44b1