lpfc: nvmet_fc: fix format string

Message ID 20170519080447.1043039-1-arnd@arndb.de
State New
Headers show

Commit Message

Arnd Bergmann May 19, 2017, 8:04 a.m.
The lpfc_nvmeio_data() tracing helper always takes a format string and
three additional arguments. The latest caller has a format string with
only two integer arguments, causing this harmless warning:

drivers/scsi/lpfc/lpfc_nvmet.c: In function 'lpfc_nvmet_xmt_fcp_release':
drivers/scsi/lpfc/lpfc_nvmet.c:802:25: error: too many arguments for format [-Werror=format-extra-args]
  lpfc_nvmeio_data(phba, "NVMET FCP FREE: xri x%x ste %d\n", ctxp->oxid,

We could add a dummy argument here, but it seems reasonable to print
the 'abort' flag as the third argument.

Fixes: 19b58d9473e8 ("nvmet_fc: add req_release to lldd api")
Signed-off-by: Arnd Bergmann <arnd@arndb.de>

---
 drivers/scsi/lpfc/lpfc_nvmet.c | 4 ++--
 1 file changed, 2 insertions(+), 2 deletions(-)

-- 
2.9.0

Comments

Arnd Bergmann May 20, 2017, 7:10 p.m. | #1
On Sat, May 20, 2017 at 12:28 PM, Joe Perches <joe@perches.com> wrote:
> On Fri, 2017-05-19 at 10:04 +0200, Arnd Bergmann wrote:

>> The lpfc_nvmeio_data() tracing helper always takes a format string and

>> three additional arguments.

>

> No it doesn't.  It takes a format and arguments.

>

> I don't disagree with the patch, just the characterization

> of the lpfc_mvmeio_data call in the commit message.


I think my description is correct, it's just not obvious from
reading the code until you also look at the lpfc_debugfs_nvme_trc
prototype:

extern void lpfc_debugfs_nvme_trc(struct lpfc_hba *phba, char *fmt,
                                uint16_t data1, uint16_t data2, uint32_t data3);
#define lpfc_nvmeio_data(phba, fmt, arg...) \
        { \
        if (phba->nvmeio_trc_on) \
                lpfc_debugfs_nvme_trc(phba, fmt, ##arg); \
        }


This is trying to do the same thing as the regular Linux tracepoints,
but is called in a lot of places that are all required to pass exactly
three integer arguments along with a matching format string.

      Arnd
Martin K. Petersen May 24, 2017, 2:36 a.m. | #2
Arnd,

> The lpfc_nvmeio_data() tracing helper always takes a format string and

> three additional arguments. The latest caller has a format string with

> only two integer arguments, causing this harmless warning:


James?

-- 
Martin K. Petersen	Oracle Linux Engineering

Patch hide | download patch | download mbox

diff --git a/drivers/scsi/lpfc/lpfc_nvmet.c b/drivers/scsi/lpfc/lpfc_nvmet.c
index f94294b77b7b..24d54dd016d4 100644
--- a/drivers/scsi/lpfc/lpfc_nvmet.c
+++ b/drivers/scsi/lpfc/lpfc_nvmet.c
@@ -799,8 +799,8 @@  lpfc_nvmet_xmt_fcp_release(struct nvmet_fc_target_port *tgtport,
 	}
 	spin_unlock_irqrestore(&ctxp->ctxlock, flags);
 
-	lpfc_nvmeio_data(phba, "NVMET FCP FREE: xri x%x ste %d\n", ctxp->oxid,
-			 ctxp->state, 0);
+	lpfc_nvmeio_data(phba, "NVMET FCP FREE: xri x%x ste %d abt %d\n", ctxp->oxid,
+			 ctxp->state, aborting);
 
 	atomic_inc(&lpfc_nvmep->xmt_fcp_release);