20 Mar, 2007

1 commit


12 Mar, 2007

1 commit

  • This patch simplify the way to notify LLDs of the command completion
    and addresses the following sense buffer problems:

    - can't handle both data and sense.
    - forces user-space to use aligned sense buffer

    tgt copies sense_data from userspace to cmnd->sense_buffer (if
    necessary), maps user-space pages (if necessary) and then calls
    host->transfer_response (host->transfer_data is removed).

    Signed-off-by: FUJITA Tomonori
    Signed-off-by: Mike Christie
    Signed-off-by: James Bottomley

    FUJITA Tomonori
     

26 Nov, 2006

1 commit

  • This patch contains the needed changes to the scsi-ml for the target
    mode support.

    Note, per the last review we moved almost all the fields we added
    to the scsi_cmnd to our internal data structure which we are going
    to try and kill off when we can replace it with support from other
    parts of the kernel.

    The one field we left on was the offset variable. This is needed to handle
    the case where the target gets request that is so large that it cannot
    execute it in one dma operation. So max_secotors or a segment limit may
    limit the size of the transfer. In this case our tgt core code will
    break up the command into managable transfers and send them to the
    LLD one at a time. The offset is then used to tell the LLD where in
    the command we are at. Is there another field on the scsi_cmd for
    that?

    Signed-off-by: Mike Christie
    Signed-off-by: FUJITA Tomonori
    Signed-off-by: James Bottomley

    FUJITA Tomonori
     

23 Nov, 2006

1 commit

  • If a driver can find its own targets, it can now fill in scan_finished and
    (optionally) scan_start in the scsi_host_template. Then, when it calls
    scsi_scan_host(), it will be called back (from a thread if asynchronous
    discovery is enabled), first to start the scan, and then at intervals to
    check if the scan is completed.

    Also make scsi_prep_async_scan and scsi_finish_async_scan static.

    Signed-off-by: Matthew Wilcox
    Signed-off-by: James Bottomley

    Matthew Wilcox
     

16 Nov, 2006

1 commit


12 Oct, 2006

1 commit

  • 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: Matthew Wilcox
    Signed-off-by: James Bottomley

    Matthew Wilcox
     

31 Aug, 2006

1 commit

  • This patch adds support for sharing tag maps at the host level
    (i.e. either every queue [LUN] has its own tag map or there's a single
    one for the entire host). This formulation is primarily intended to
    help single issue queue hardware, like the aic7xxx

    Signed-off-by: James Bottomley

    James Bottomley
     

27 Jun, 2006

1 commit


15 May, 2006

1 commit

  • libata needs to invoke EH without scmd. This patch adds
    shost->host_eh_scheduled to implement such behavior.

    Currently the only user of this feature is libata and no general
    interface is defined. This patch simply adds handling for
    host_eh_scheduled where needed and exports scsi_eh_wakeup() to
    modules. The rest is upto libata. This is the result of the
    following discussion.

    http://thread.gmane.org/gmane.linux.scsi/23853/focus=9760

    In short, SCSI host is not supposed to know about exceptions unrelated
    to specific device or command. Such exceptions should be handled by
    transport layer proper. However, the distinction is not essential to
    ATA and libata is planning to depart from SCSI, so, for the time
    being, libata will be using SCSI EH to handle such exceptions.

    Signed-off-by: Tejun Heo

    Tejun Heo
     

11 Apr, 2006

1 commit

  • Overriding the whole EH code is a per-transport, not per-host thing.
    Move ->eh_strategy_handler to the transport class, same as
    ->eh_timed_out.

    Downside is that scsi_host_alloc can't check for the total lack of EH
    anymore, but the transition period from old EH where we needed it is
    long gone already.

    Signed-off-by: Christoph Hellwig
    Signed-off-by: Jeff Garzik

    Christoph Hellwig
     

24 Mar, 2006

1 commit

  • 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: Nigel Cunningham

    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: Jeff Garzik

    Nigel Cunningham
     

13 Mar, 2006

1 commit


25 Jan, 2006

1 commit


13 Jan, 2006

1 commit


07 Jan, 2006

2 commits

  • Manual fixup for merge with Jens' "Suspend support for libata", commit
    ID 9b847548663ef1039dd49f0eb4463d001e596bc3.

    Signed-off-by: Linus Torvalds

    Linus Torvalds
     
  • 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: Jens Axboe
    Signed-off-by: Andrew Morton
    Signed-off-by: Linus Torvalds

    Jens Axboe
     

06 Jan, 2006

1 commit

  • All ordered request related stuff delegated to HLD. Midlayer
    now doens't deal with ordered setting or prepare_flush
    callback. sd.c updated to deal with blk_queue_ordered
    setting. Currently, ordered tag isn't used as SCSI midlayer
    cannot guarantee request ordering.

    Signed-off-by: Tejun Heo
    Signed-off-by: Jens Axboe

    Tejun Heo
     

07 Nov, 2005

2 commits


29 Oct, 2005

2 commits


19 Sep, 2005

2 commits

  • From: Alan Stern

    This patch (as561) fixes the error handler's thread-exit code. The
    kthread_stop call won't wake the thread from a down_interruptible, so
    the patch gets rid of the semaphore and simply does

    set_current_state(TASK_INTERRUPTIBLE);

    Signed-off-by: Alan Stern

    Modified to simplify the termination loop and correct the sleep condition.

    Signed-off-by: James Bottomley

    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: James Bottomley

    James Bottomley
     

07 Sep, 2005

1 commit


31 Jul, 2005

3 commits


26 Jun, 2005

1 commit

  • scsi_add_host is the proper place to set the device, but people copy
    the scsi_set_device usage from older drivers again and again.

    note that this leaves some legacy drivers like qlogicisp/qlogicfc
    without pci association in sysfs, but they're scheduled to go away soon
    anyway.

    Signed-off-by: James Bottomley

    Christoph Hellwig
     

26 May, 2005

1 commit


19 Apr, 2005

1 commit

  • This patch removes volatile qualifier from scsi_device->device_busy,
    Scsi_Host->host_busy and ->host_failed as the volatile qualifiers
    don't serve any purpose now. While at it, convert those fields from
    unsigned short to unsigned int as suggested by Christoph.

    Signed-off-by: Tejun Heo
    Signed-off-by: James Bottomley

     

17 Apr, 2005

1 commit

  • 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!

    Linus Torvalds