13 Oct, 2007

1 commit

  • tgt uses scsi_host as I_T nexus. This works for ibmvstgt because it
    creates one scsi_host for one initiator. However, other target drivers
    don't work like that.

    This adds I_T nexus support, which enable one scsi_host to handle
    multiple initiators. New scsi_tgt_it_nexus_create/destroy functions
    are expected be called transport classes. For example, ibmvstgt
    creates an initiator remote port, then the srp transport calls
    tgt_it_nexus_create. tgt doesn't manages I_T nexus, instead it tells
    tgtd, user-space daemon, to create a new I_T nexus.

    On the receiving the response from tgtd, tgt calls
    shost->transportt->it_nexus_response. transports should notify a
    lld. The srp transport uses it_nexus_response callback in
    srp_function_template to do that.

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

    FUJITA Tomonori
     

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
     

16 Feb, 2007

1 commit

  • This patches fixes two bugs in the scsi target infrastructure's
    user/kernel interface.

    - It wrongly assumes that the ring buffer size of the interface (64KB)
    is larger than or equal to the system page size. This patch sets the
    ring buffer size to PAGE_SIZE if the system page size is larger.

    - It uses PAGE_SIZE in the header file exported to userspace. This
    patch removes it.

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

    FUJITA Tomonori
     

26 Nov, 2006

1 commit

  • The user-space daemon and tgt kernel module need bi-directional
    kernel/user high-performance interface, however, mainline provides no
    standard interface like that.

    This patch adds shared memory interface between kernel and user spaces
    like some other drivers do by using own character device. The
    user-space daemon and tgt kernel module creates shared memory via mmap
    and use it like ring buffer. poll (kernel to user) and write (user to
    kernel) system calls are used for notification.

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

    FUJITA Tomonori