• Benjamin Block's avatar
    scsi: zfcp: signal incomplete or error for sync exchange config/port data · 92953c6e
    Benjamin Block authored
    Adds a new FSF-Request status flag (ZFCP_STATUS_FSFREQ_XDATAINCOMPLETE)
    that signal that the data received using Exchange Config Data or Exchange
    Port Data was incomplete. This new flags is set in the respective handlers
    during the response path.
    
    With this patch, only the synchronous FSF-functions for each command got
    support for the new flag, otherwise it is transparent.
    
    Together with this new flag and already existing status flags the
    synchronous FSF-functions are extended to now detect whether the received
    data is complete, incomplete or completely invalid (this includes cases
    where a command ran into a timeout). This is now signaled back to the
    caller, where previously only failures on the request path would result in
    a bad return-code.
    
    For complete data the return-code remains 0. For incomplete data a new
    return-code -EAGAIN is added to the function-interface. For completely
    invalid data the already existing return-code -EIO is reused - formerly
    this was used to signal failures on the request path.
    
    Existing callers of the FSF-functions are adjusted so that they behave as
    before for return-code 0 and -EAGAIN, to not change the user-interface. As
    -EIO existed all along, it was already exposed to the user - and needed
    handling - and will now also be exposed in this new special case.
    
    Link: https://lore.kernel.org/r/e14f0702fa2b00a4d1f37c7981a13f2dd1ea2c83.1572018130.git.bblock@linux.ibm.comReviewed-by: default avatarSteffen Maier <maier@linux.ibm.com>
    Signed-off-by: default avatarBenjamin Block <bblock@linux.ibm.com>
    Signed-off-by: default avatarMartin K. Petersen <martin.petersen@oracle.com>
    92953c6e
zfcp_sysfs.c 20 KB