1. 04 11月, 2007 1 次提交
  2. 18 10月, 2007 1 次提交
  3. 13 10月, 2007 4 次提交
  4. 21 7月, 2007 1 次提交
    • J
      [SCSI] bsg: make class backlinks · 39dca558
      James Bottomley 提交于
      Currently, bsg doesn't make class backlinks (a process whereby you'd get
      a link to bsg in the device directory in the same way you get one for
      sg).  This is because the bsg device is uninitialised, so the class
      device has nothing it can attach to.  The fix is to make the bsg device
      point to the cdevice of the entity creating the bsg, necessitating
      changing the bsg_register_queue() prototype into a form that takes the
      generic device.
      Acked-by: NFUJITA Tomonori <tomof@acm.org>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      39dca558
  5. 20 7月, 2007 1 次提交
  6. 19 7月, 2007 1 次提交
  7. 22 5月, 2007 1 次提交
  8. 18 4月, 2007 1 次提交
    • M
      [SCSI] modalias for scsi devices · d7b8bcb0
      Michael Tokarev 提交于
      The following patch adds support for sysfs/uevent modalias
      attribute for scsi devices (like disks, tapes, cdroms etc),
      based on whatever current sd.c, sr.c, st.c and osst.c drivers
      supports.
      
      The modalias format is like this:
      
       scsi:type-0x04
      
      (for TYPE_WORM, handled by sr.c now).
      
      Several comments.
      
      o This hexadecimal type value is because all TYPE_XXX constants
        in include/scsi/scsi.h are given in hex, but __stringify() will
        not convert them to decimal (so it will NOT be scsi:type-4).
        Since it does not really matter in which format it is, while
        both modalias in module and modalias attribute match each other,
        I descided to go for that 0x%02x format (and added a comment in
        include/scsi/scsi.h to keep them that way), instead of changing
        them all to decimal.
      
      o There was no .uevent routine for SCSI bus.  It might be a good
        idea to add some more ueven environment variables in there.
      
      o osst.c driver handles tapes too, like st.c, but only SOME tapes.
        With this setup, hotplug scripts (or whatever is used by the
        user) will try to load both st and osst modules for all SCSI
        tapes found, because both modules have scsi:type-0x01 alias).
        It is not harmful, but one extra module is no good either.
        It is possible to solve this, by exporting more info in
        modalias attribute, including vendor and device identification
        strings, so that modalias becomes something like
          scsi:type-0x12:vendor-Adaptec LTD:device-OnStream Tape Drive
        and having that, match for all 3 attributes, not only device
        type.  But oh well, vendor and device strings may be large,
        and they do contain spaces and whatnot.
        So I left them for now, awaiting for comments first.
      Signed-off-by: NMichael Tokarev <mjt@tls.msk.ru>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      d7b8bcb0
  9. 21 3月, 2007 1 次提交
    • T
      [SCSI] sd: implement START/STOP management · c3c94c5a
      Tejun Heo 提交于
      Implement SBC START/STOP management.  sdev->mange_start_stop is added.
      When it's set to one, sd STOPs the device on suspend and shutdown and
      STARTs it on resume.  sdev->manage_start_stop defaults is in sdev
      instead of scsi_disk cdev to allow ->slave_config() override the
      default configuration but is exported under scsi_disk sysfs node as
      sdev->allow_restart is.
      
      When manage_start_stop is zero (the default value), this patch doesn't
      introduce any behavior change.
      Signed-off-by: NTejun Heo <htejun@gmail.com>
      
      Rejections fixed and
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      c3c94c5a
  10. 16 3月, 2007 1 次提交
    • A
      [PATCH] sysfs and driver core: add callback helper, used by SCSI and S390 · d9a9cdfb
      Alan Stern 提交于
      This patch (as868) adds a helper routine for device drivers that need
      to set up a callback to perform some action in a different process's
      context.  This is intended for use by attribute methods that want to
      unregister themselves or their parent device.  Attribute method calls
      are mutually exclusive with unregistration, so such actions cannot be
      taken directly.
      
      Two attribute methods are converted to use the new helper routine: one
      for SCSI device deletion and one for System/390 ccwgroup devices.
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Cc: Hugh Dickins <hugh@veritas.com>
      Cc: Cornelia Huck <cornelia.huck@de.ibm.com>
      Cc: Oliver Neukum <oneukum@suse.de>
      Signed-off-by: NLinus Torvalds <torvalds@linux-foundation.org>
      d9a9cdfb
  11. 17 2月, 2007 1 次提交
  12. 22 11月, 2006 1 次提交
    • D
      WorkStruct: Pass the work_struct pointer instead of context data · 65f27f38
      David Howells 提交于
      Pass the work_struct pointer to the work function rather than context data.
      The work function can use container_of() to work out the data.
      
      For the cases where the container of the work_struct may go away the moment the
      pending bit is cleared, it is made possible to defer the release of the
      structure by deferring the clearing of the pending bit.
      
      To make this work, an extra flag is introduced into the management side of the
      work_struct.  This governs auto-release of the structure upon execution.
      
      Ordinarily, the work queue executor would release the work_struct for further
      scheduling or deallocation by clearing the pending bit prior to jumping to the
      work function.  This means that, unless the driver makes some guarantee itself
      that the work_struct won't go away, the work function may not access anything
      else in the work_struct or its container lest they be deallocated..  This is a
      problem if the auxiliary data is taken away (as done by the last patch).
      
      However, if the pending bit is *not* cleared before jumping to the work
      function, then the work function *may* access the work_struct and its container
      with no problems.  But then the work function must itself release the
      work_struct by calling work_release().
      
      In most cases, automatic release is fine, so this is the default.  Special
      initiators exist for the non-auto-release case (ending in _NAR).
      Signed-Off-By: NDavid Howells <dhowells@redhat.com>
      65f27f38
  13. 26 10月, 2006 1 次提交
  14. 01 7月, 2006 1 次提交
  15. 10 6月, 2006 1 次提交
  16. 24 3月, 2006 1 次提交
    • N
      [PATCH] Make libata not powerdown drivers on PM_EVENT_FREEZE. · 082776e4
      Nigel Cunningham 提交于
      At the moment libata doesn't pass pm_message_t down ata_device_suspend.
      This causes drives to be powered down when we just want a freeze,
      causing unnecessary wear and tear. This patch gets pm_message_t passed
      down so that it can be used to determine whether to power down the
      drive.
      Signed-off-by: NNigel Cunningham <nigel@suspend2.net>
      
       drivers/scsi/libata-core.c |    5 +++--
       drivers/scsi/libata-scsi.c |    4 ++--
       drivers/scsi/scsi_sysfs.c  |    2 +-
       include/linux/libata.h     |    4 ++--
       include/scsi/scsi_host.h   |    2 +-
       5 files changed, 9 insertions(+), 8 deletions(-)
      Signed-off-by: NJeff Garzik <jeff@garzik.org>
      082776e4
  17. 28 2月, 2006 1 次提交
  18. 15 2月, 2006 1 次提交
    • J
      [SCSI] fix wrong context bugs in SCSI · 65110b21
      James Bottomley 提交于
      There's a bug in releasing scsi_device where the release function
      actually frees the block queue.  However, the block queue release
      calls flush_work(), which requires process context (the scsi_device
      structure may release from irq context).  Update the release function
      to invoke via the execute_in_process_context() API.
      
      Also clean up the scsi_target structure releasing via this API.
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      65110b21
  19. 15 1月, 2006 1 次提交
    • C
      [SCSI] remove target parent limitiation · e02f3f59
      Christoph Hellwig 提交于
      When James Smart fixed the issue of the userspace scan atributes
      crashing the system with the FC transport class he added a patch to
      let the transport class check if the parent is valid for a given
      transport class.
      
      When adding support for the integrated raid of fusion sas devices
      we ran into a problem with that, as it didn't allow adding virtual
      raid volumes without the transport class knowing about it.
      
      So this patch adds a user_scan attribute instead, that takes over from
      scsi_scan_host_selected if the transport class sets it and thus lets
      the transport class control the user-initiated scanning.  As this
      plugs the hole about user-initiated scanning the target_parent hook
      goes away and we rely on callers of the scanning routines to do
      something sensible.
      
      For SAS this meant I had to switch from a spinlock to a mutex to
      synchronize the topology linked lists, in FC they were completely
      unsynchronized which seems wrong.
      Signed-off-by: NChristoph Hellwig <hch@lst.de>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      e02f3f59
  20. 13 1月, 2006 1 次提交
  21. 07 1月, 2006 1 次提交
    • J
      [PATCH] Suspend support for libata · 9b847548
      Jens Axboe 提交于
      This patch adds suspend patch to libata, and ata_piix in particular. For
      most low level drivers, they should just need to add the 4 hooks to
      work. As I can only test ata_piix, I didn't enable it for more
      though.
      
      Suspend support is the single most important feature on a notebook, and
      most new notebooks have sata drives. It's quite embarrassing that we
      _still_ do not support this. Right now, it's perfectly possible to
      suspend the drive in mid-transfer.
      Signed-off-by: NJens Axboe <axboe@suse.de>
      Signed-off-by: NAndrew Morton <akpm@osdl.org>
      Signed-off-by: NLinus Torvalds <torvalds@osdl.org>
      9b847548
  22. 14 12月, 2005 1 次提交
  23. 07 11月, 2005 1 次提交
    • J
      [SCSI] Fix transport class oops · df133c21
      James Bottomley 提交于
      There's an oops that sometimes shows up with SCSI transport classes in
      sysfs_hash_and_remove.  The problem is that now, because of the class to
      device and vice versa symlinks, all classes have to be removed from
      visibility *before* the device is removed from visibility.
      
      The transport class trigger points violate this, so bring them back into
      conformance.
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      df133c21
  24. 19 9月, 2005 2 次提交
    • J
      [SCSI] fix oops on usb storage device disconnect · 939647ee
      James Bottomley 提交于
      We fix the oops by enforcing the host state model.  There have also
      been two extra states added: SHOST_CANCEL_RECOVERY and
      SHOST_DEL_RECOVERY so we can take the model through host removal while
      the recovery thread is active.
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      939647ee
    • A
      [SCSI] SCSI scanning and removal fixes · a64358db
      Alan Stern 提交于
      This patch (as545) fixes the list traversals in __scsi_remove_target and
      scsi_forget_host.  In each case the existing code list_for_each_entry_safe
      in an _unsafe_ manner, because the list was not protected from outside
      modification while the iteration was running.
      
      The new scsi_forget_host routine takes the moderately controversial step
      of iterating over devices for removal rather than iterating over targets.
      This makes more sense to me because the current scheme treats targets as
      second-class citizens, created and removed on demand, rather than as
      objects corresponding to actual hardware.  (Also I couldn't figure out any
      safe way to iterate over the target list, since it's not so easy to tell
      when a target has already been removed.)
      Signed-off-by: NAlan Stern <stern@rowland.harvard.edu>
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      a64358db
  25. 16 9月, 2005 1 次提交
  26. 09 9月, 2005 1 次提交
  27. 31 7月, 2005 1 次提交
  28. 24 6月, 2005 1 次提交
  29. 21 6月, 2005 2 次提交
  30. 17 4月, 2005 2 次提交
    • updates for CFQ oops fix · c2a9331c
      提交于
      - add a comment to the device structure that the device_busy field
        is now protected by the request_queue->queue_lock
      - null out sdev->request_queue after the queue is released to trap
        any (and there shouldn't be any) use after the queue is freed.
      Signed-off-by: NJames Bottomley <James.Bottomley@SteelEye.com>
      c2a9331c
    • L
      Linux-2.6.12-rc2 · 1da177e4
      Linus Torvalds 提交于
      Initial git repository build. I'm not bothering with the full history,
      even though we have it. We can create a separate "historical" git
      archive of that later if we want to, and in the meantime it's about
      3.2GB when imported into git - space that would just make the early
      git days unnecessarily complicated, when we don't have a lot of good
      infrastructure for it.
      
      Let it rip!
      1da177e4