Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1645308 > unrolled thread

[PATCH] lpfc: nvmet_fc: fix format string

Started byArnd Bergmann <arnd@arndb.de>
First post2017-05-19 10:10 +0200
Last post2017-05-24 04:50 +0200
Articles 5 — 3 participants

Back to article view | Back to linux.kernel


Contents

  [PATCH] lpfc: nvmet_fc: fix format string Arnd Bergmann <arnd@arndb.de> - 2017-05-19 10:10 +0200
    Re: [PATCH] lpfc: nvmet_fc: fix format string Joe Perches <joe@perches.com> - 2017-05-20 12:30 +0200
      Re: [PATCH] lpfc: nvmet_fc: fix format string Arnd Bergmann <arnd@arndb.de> - 2017-05-20 21:20 +0200
        Re: [PATCH] lpfc: nvmet_fc: fix format string Joe Perches <joe@perches.com> - 2017-05-21 02:50 +0200
    Re: [PATCH] lpfc: nvmet_fc: fix format string "Martin K. Petersen" <martin.petersen@oracle.com> - 2017-05-24 04:50 +0200

#1645308 — [PATCH] lpfc: nvmet_fc: fix format string

FromArnd Bergmann <arnd@arndb.de>
Date2017-05-19 10:10 +0200
Subject[PATCH] lpfc: nvmet_fc: fix format string
Message-ID<tIL8Z-7Kt-7@gated-at.bofh.it>
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(-)

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);
 
-- 
2.9.0

[toc] | [next] | [standalone]


#1646093

FromJoe Perches <joe@perches.com>
Date2017-05-20 12:30 +0200
Message-ID<tJ9O1-51-9@gated-at.bofh.it>
In reply to#1645308
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.

> 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.

[toc] | [prev] | [next] | [standalone]


#1646193

FromArnd Bergmann <arnd@arndb.de>
Date2017-05-20 21:20 +0200
Message-ID<tJi4V-5vp-5@gated-at.bofh.it>
In reply to#1646093
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

[toc] | [prev] | [next] | [standalone]


#1646228

FromJoe Perches <joe@perches.com>
Date2017-05-21 02:50 +0200
Message-ID<tJneh-kw-1@gated-at.bofh.it>
In reply to#1646193
On Sat, 2017-05-20 at 21:10 +0200, Arnd Bergmann wrote:
> 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:

OK, but more that's a mismatch between a function and its
arguments and a different called function within it.

[toc] | [prev] | [next] | [standalone]


#1649068

From"Martin K. Petersen" <martin.petersen@oracle.com>
Date2017-05-24 04:50 +0200
Message-ID<tKux3-4qI-3@gated-at.bofh.it>
In reply to#1645308
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

[toc] | [prev] | [standalone]


Back to top | Article view | linux.kernel


csiph-web