lkml.org 
[lkml]   [2016]   [Oct]   [26]   [last100]   RSS Feed
Views: [wrap][no wrap]   [headers]  [forward] 
 
Messages in this thread
    Patch in this message
    /
    From
    Subject[PATCH 4.8 053/140] zfcp: retain trace level for SCSI and HBA FSF response records
    Date
    4.8-stable review patch.  If anyone has any objections, please let me know.

    ------------------

    From: Steffen Maier <maier@linux.vnet.ibm.com>

    commit 35f040df97fa0e94c7851c054ec71533c88b4b81 upstream.

    While retaining the actual filtering according to trace level,
    the following commits started to write such filtered records
    with a hardcoded record level of 1 instead of the actual record level:
    commit 250a1352b95e1db3216e5c5d4f4365bea5122f4a
    ("[SCSI] zfcp: Redesign of the debug tracing for SCSI records.")
    commit a54ca0f62f953898b05549391ac2a8a4dad6482b
    ("[SCSI] zfcp: Redesign of the debug tracing for HBA records.")

    Now we can distinguish written records again for offline level filtering.

    Signed-off-by: Steffen Maier <maier@linux.vnet.ibm.com>
    Fixes: 250a1352b95e ("[SCSI] zfcp: Redesign of the debug tracing for SCSI records.")
    Fixes: a54ca0f62f95 ("[SCSI] zfcp: Redesign of the debug tracing for HBA records.")
    Reviewed-by: Benjamin Block <bblock@linux.vnet.ibm.com>
    Reviewed-by: Hannes Reinecke <hare@suse.com>
    Signed-off-by: Martin K. Petersen <martin.petersen@oracle.com>
    Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>

    ---
    drivers/s390/scsi/zfcp_dbf.c | 11 ++++++-----
    drivers/s390/scsi/zfcp_dbf.h | 4 ++--
    drivers/s390/scsi/zfcp_ext.h | 7 ++++---
    3 files changed, 12 insertions(+), 10 deletions(-)

    --- a/drivers/s390/scsi/zfcp_dbf.c
    +++ b/drivers/s390/scsi/zfcp_dbf.c
    @@ -3,7 +3,7 @@
    *
    * Debug traces for zfcp.
    *
    - * Copyright IBM Corp. 2002, 2013
    + * Copyright IBM Corp. 2002, 2015
    */

    #define KMSG_COMPONENT "zfcp"
    @@ -65,7 +65,7 @@ void zfcp_dbf_pl_write(struct zfcp_dbf *
    * @tag: tag indicating which kind of unsolicited status has been received
    * @req: request for which a response was received
    */
    -void zfcp_dbf_hba_fsf_res(char *tag, struct zfcp_fsf_req *req)
    +void zfcp_dbf_hba_fsf_res(char *tag, int level, struct zfcp_fsf_req *req)
    {
    struct zfcp_dbf *dbf = req->adapter->dbf;
    struct fsf_qtcb_prefix *q_pref = &req->qtcb->prefix;
    @@ -97,7 +97,7 @@ void zfcp_dbf_hba_fsf_res(char *tag, str
    rec->pl_len, "fsf_res", req->req_id);
    }

    - debug_event(dbf->hba, 1, rec, sizeof(*rec));
    + debug_event(dbf->hba, level, rec, sizeof(*rec));
    spin_unlock_irqrestore(&dbf->hba_lock, flags);
    }

    @@ -399,7 +399,8 @@ void zfcp_dbf_san_in_els(char *tag, stru
    * @sc: pointer to struct scsi_cmnd
    * @fsf: pointer to struct zfcp_fsf_req
    */
    -void zfcp_dbf_scsi(char *tag, struct scsi_cmnd *sc, struct zfcp_fsf_req *fsf)
    +void zfcp_dbf_scsi(char *tag, int level, struct scsi_cmnd *sc,
    + struct zfcp_fsf_req *fsf)
    {
    struct zfcp_adapter *adapter =
    (struct zfcp_adapter *) sc->device->host->hostdata[0];
    @@ -442,7 +443,7 @@ void zfcp_dbf_scsi(char *tag, struct scs
    }
    }

    - debug_event(dbf->scsi, 1, rec, sizeof(*rec));
    + debug_event(dbf->scsi, level, rec, sizeof(*rec));
    spin_unlock_irqrestore(&dbf->scsi_lock, flags);
    }

    --- a/drivers/s390/scsi/zfcp_dbf.h
    +++ b/drivers/s390/scsi/zfcp_dbf.h
    @@ -284,7 +284,7 @@ static inline
    void zfcp_dbf_hba_fsf_resp(char *tag, int level, struct zfcp_fsf_req *req)
    {
    if (debug_level_enabled(req->adapter->dbf->hba, level))
    - zfcp_dbf_hba_fsf_res(tag, req);
    + zfcp_dbf_hba_fsf_res(tag, level, req);
    }

    /**
    @@ -323,7 +323,7 @@ void _zfcp_dbf_scsi(char *tag, int level
    scmd->device->host->hostdata[0];

    if (debug_level_enabled(adapter->dbf->scsi, level))
    - zfcp_dbf_scsi(tag, scmd, req);
    + zfcp_dbf_scsi(tag, level, scmd, req);
    }

    /**
    --- a/drivers/s390/scsi/zfcp_ext.h
    +++ b/drivers/s390/scsi/zfcp_ext.h
    @@ -3,7 +3,7 @@
    *
    * External function declarations.
    *
    - * Copyright IBM Corp. 2002, 2010
    + * Copyright IBM Corp. 2002, 2015
    */

    #ifndef ZFCP_EXT_H
    @@ -36,7 +36,7 @@ extern void zfcp_dbf_rec_trig(char *, st
    struct zfcp_port *, struct scsi_device *, u8, u8);
    extern void zfcp_dbf_rec_run(char *, struct zfcp_erp_action *);
    extern void zfcp_dbf_hba_fsf_uss(char *, struct zfcp_fsf_req *);
    -extern void zfcp_dbf_hba_fsf_res(char *, struct zfcp_fsf_req *);
    +extern void zfcp_dbf_hba_fsf_res(char *, int, struct zfcp_fsf_req *);
    extern void zfcp_dbf_hba_bit_err(char *, struct zfcp_fsf_req *);
    extern void zfcp_dbf_hba_berr(struct zfcp_dbf *, struct zfcp_fsf_req *);
    extern void zfcp_dbf_hba_def_err(struct zfcp_adapter *, u64, u16, void **);
    @@ -44,7 +44,8 @@ extern void zfcp_dbf_hba_basic(char *, s
    extern void zfcp_dbf_san_req(char *, struct zfcp_fsf_req *, u32);
    extern void zfcp_dbf_san_res(char *, struct zfcp_fsf_req *);
    extern void zfcp_dbf_san_in_els(char *, struct zfcp_fsf_req *);
    -extern void zfcp_dbf_scsi(char *, struct scsi_cmnd *, struct zfcp_fsf_req *);
    +extern void zfcp_dbf_scsi(char *, int, struct scsi_cmnd *,
    + struct zfcp_fsf_req *);

    /* zfcp_erp.c */
    extern void zfcp_erp_set_adapter_status(struct zfcp_adapter *, u32);

    \
     
     \ /
      Last update: 2016-10-26 15:28    [W:2.551 / U:0.224 seconds]
    ©2003-2020 Jasper Spaans|hosted at Digital Ocean and TransIP|Read the blog|Advertise on this site