24 Aug, 2016

1 commit

  • Caching the adapter file descriptor and performing a close on behalf of
    an application is a poor design. This is due to the fact that once a
    file descriptor in installed, it is free to be altered without the
    knowledge of the cxlflash driver. This can lead to inconsistencies
    between the application and kernel. Furthermore, the nature of the
    former design is more exploitable and thus should be abandoned.

    To support applications performing a close on the adapter file that is
    associated with a context, a new flag is introduced to the user API to
    indicate to applications that they are responsible for the close
    following the cleanup (detach) of a context. The documentation is also
    updated to reflect this change in behavior.

    Inspired-by: Al Viro
    Signed-off-by: Matthew R. Ochs
    Acked-by: Manoj N. Kumar
    Signed-off-by: Martin K. Petersen

    Matthew R. Ochs
     

07 Jan, 2016

1 commit

  • Applications which use virtual LUN's that are backed by a physical LUN
    over both adapter ports may experience an I/O failure in the event of a
    link loss (e.g. cable pull).

    Virtual LUNs may be accessed through one or both ports of the adapter.
    This access is encoded in the translation entries that comprise the
    virtual LUN and used by the AFU for load-balancing I/O and handling
    failover scenarios. In a link loss scenario, even though the AFU is able
    to maintain connectivity to the LUN, it is up to the application to
    retry the failed I/O. When applications are unaware of the virtual LUN's
    underlying topology, they are unable to make a sound decision of when to
    retry an I/O and therefore are forced to make their reaction to a failed
    I/O absolute. The result is either a failure to retry I/O or increased
    latency for scenarios where a retry is pointless.

    To remedy this scenario, provide feedback back to the application on
    virtual LUN creation as to which ports the LUN may be accessed. LUN's
    spanning both ports are candidates for a retry in a presence of an I/O
    failure.

    Signed-off-by: Matthew R. Ochs
    Acked-by: Manoj Kumar
    Reviewed-by: Uma Krishnan
    Signed-off-by: Martin K. Petersen

    Matthew R. Ochs
     

27 Aug, 2015

2 commits

  • Add support for physical LUN segmentation (virtual LUNs) to device
    driver supporting the IBM CXL Flash adapter. This patch allows user
    space applications to virtually segment a physical LUN into N virtual
    LUNs, taking advantage of the translation features provided by this
    adapter.

    Signed-off-by: Matthew R. Ochs
    Signed-off-by: Manoj N. Kumar
    Reviewed-by: Michael Neuling
    Reviewed-by: Wen Xiong
    Signed-off-by: James Bottomley

    Matthew R. Ochs
     
  • Add superpipe supporting infrastructure to device driver for the IBM CXL
    Flash adapter. This patch allows userspace applications to take advantage
    of the accelerated I/O features that this adapter provides and bypass the
    traditional filesystem stack.

    Signed-off-by: Matthew R. Ochs
    Signed-off-by: Manoj N. Kumar
    Reviewed-by: Michael Neuling
    Reviewed-by: Wen Xiong
    Reviewed-by: Brian King
    Signed-off-by: James Bottomley

    Matthew R. Ochs
     

01 Mar, 2013

1 commit


08 Jan, 2013

1 commit


20 Dec, 2012

1 commit


03 Oct, 2012

1 commit