Message ID | d711ec5a5f416204079155666d2de49d43070897.1644287527.git.yang.guang5@zte.com.cn (mailing list archive) |
---|---|
State | Superseded |
Headers | show |
Series | scsi: csiostor: replace snprintf with sysfs_emit | expand |
On 2/9/22 09:40, davidcomponentone@gmail.com wrote: > From: Yang Guang <yang.guang5@zte.com.cn> > > coccinelle report: > ./drivers/scsi/csiostor/csio_scsi.c:1433:8-16: > WARNING: use scnprintf or sprintf > ./drivers/scsi/csiostor/csio_scsi.c:1369:9-17: > WARNING: use scnprintf or sprintf > ./drivers/scsi/csiostor/csio_scsi.c:1479:8-16: > WARNING: use scnprintf or sprintf > > Use sysfs_emit instead of scnprintf or sprintf makes more sense. > > Reported-by: Zeal Robot <zealci@zte.com.cn> > Signed-off-by: Yang Guang <yang.guang5@zte.com.cn> > Signed-off-by: David Yang <davidcomponentone@gmail.com> > --- > drivers/scsi/csiostor/csio_scsi.c | 8 ++++---- > 1 file changed, 4 insertions(+), 4 deletions(-) > > diff --git a/drivers/scsi/csiostor/csio_scsi.c b/drivers/scsi/csiostor/csio_scsi.c > index 55db02521221..f9b87ae2aa25 100644 > --- a/drivers/scsi/csiostor/csio_scsi.c > +++ b/drivers/scsi/csiostor/csio_scsi.c > @@ -1366,9 +1366,9 @@ csio_show_hw_state(struct device *dev, > struct csio_hw *hw = csio_lnode_to_hw(ln); > > if (csio_is_hw_ready(hw)) > - return snprintf(buf, PAGE_SIZE, "ready\n"); > + return sysfs_emit(buf, "ready\n"); > else > - return snprintf(buf, PAGE_SIZE, "not ready\n"); > + return sysfs_emit(buf, "not ready\n"); While at it, you could remove the useless "else" above. > } > > /* Device reset */ > @@ -1430,7 +1430,7 @@ csio_show_dbg_level(struct device *dev, > { > struct csio_lnode *ln = shost_priv(class_to_shost(dev)); > > - return snprintf(buf, PAGE_SIZE, "%x\n", ln->params.log_level); > + return sysfs_emit(buf, "%x\n", ln->params.log_level); > } > > /* Store debug level */ > @@ -1476,7 +1476,7 @@ csio_show_num_reg_rnodes(struct device *dev, > { > struct csio_lnode *ln = shost_priv(class_to_shost(dev)); > > - return snprintf(buf, PAGE_SIZE, "%d\n", ln->num_reg_rnodes); > + return sysfs_emit(buf, "%d\n", ln->num_reg_rnodes); num_reg_rnodes is uint32_t so the format should use %u. > } > > static DEVICE_ATTR(num_reg_rnodes, S_IRUGO, csio_show_num_reg_rnodes, NULL);
On Wed, 2022-02-09 at 11:36 +0900, Damien Le Moal wrote: > On 2/9/22 09:40, davidcomponentone@gmail.com wrote: > > From: Yang Guang <yang.guang5@zte.com.cn> > > > > coccinelle report: > > ./drivers/scsi/csiostor/csio_scsi.c:1433:8-16: > > WARNING: use scnprintf or sprintf > > ./drivers/scsi/csiostor/csio_scsi.c:1369:9-17: > > WARNING: use scnprintf or sprintf > > ./drivers/scsi/csiostor/csio_scsi.c:1479:8-16: > > WARNING: use scnprintf or sprintf > > > > Use sysfs_emit instead of scnprintf or sprintf makes more sense. [] > > diff --git a/drivers/scsi/csiostor/csio_scsi.c b/drivers/scsi/csiostor/csio_scsi.c [] > > @@ -1366,9 +1366,9 @@ csio_show_hw_state(struct device *dev, > > struct csio_hw *hw = csio_lnode_to_hw(ln); > > > > if (csio_is_hw_ready(hw)) > > - return snprintf(buf, PAGE_SIZE, "ready\n"); > > + return sysfs_emit(buf, "ready\n"); > > else > > - return snprintf(buf, PAGE_SIZE, "not ready\n"); > > + return sysfs_emit(buf, "not ready\n"); > > While at it, you could remove the useless "else" above. Or not. It's fine as is. It's just a style preference. Another style option would be to use a ?: like any of return sysfs_emit(buf, "%sready\n", csio_is_hw_ready(hw) ? "" : "not "); or return sysfs_emit(buf, "%s\n", csio_is_hw_ready(hw) ? "ready" : "not ready"); or return sysfs_emit(buf, csio_is_hw_ready(hw) ? "ready\n" : "not ready\n");
On 2022/02/09 12:12, Joe Perches wrote: > On Wed, 2022-02-09 at 11:36 +0900, Damien Le Moal wrote: >> On 2/9/22 09:40, davidcomponentone@gmail.com wrote: >>> From: Yang Guang <yang.guang5@zte.com.cn> >>> >>> coccinelle report: >>> ./drivers/scsi/csiostor/csio_scsi.c:1433:8-16: >>> WARNING: use scnprintf or sprintf >>> ./drivers/scsi/csiostor/csio_scsi.c:1369:9-17: >>> WARNING: use scnprintf or sprintf >>> ./drivers/scsi/csiostor/csio_scsi.c:1479:8-16: >>> WARNING: use scnprintf or sprintf >>> >>> Use sysfs_emit instead of scnprintf or sprintf makes more sense. > [] >>> diff --git a/drivers/scsi/csiostor/csio_scsi.c b/drivers/scsi/csiostor/csio_scsi.c > [] >>> @@ -1366,9 +1366,9 @@ csio_show_hw_state(struct device *dev, >>> struct csio_hw *hw = csio_lnode_to_hw(ln); >>> >>> if (csio_is_hw_ready(hw)) >>> - return snprintf(buf, PAGE_SIZE, "ready\n"); >>> + return sysfs_emit(buf, "ready\n"); >>> else >>> - return snprintf(buf, PAGE_SIZE, "not ready\n"); >>> + return sysfs_emit(buf, "not ready\n"); >> >> While at it, you could remove the useless "else" above. > > Or not. It's fine as is. It's just a style preference. It is. I dislike the useless line of code in this case :) > > Another style option would be to use a ?: like any of > > return sysfs_emit(buf, "%sready\n", csio_is_hw_ready(hw) ? "" : "not "); > or > return sysfs_emit(buf, "%s\n", csio_is_hw_ready(hw) ? "ready" : "not ready"); > or > return sysfs_emit(buf, csio_is_hw_ready(hw) ? "ready\n" : "not ready\n"); That is nice and can make that return sysfs_emit(buf, "%sready\n", csio_is_hw_ready(hw) ? "" : "not "); too :)
On 2022/02/09 12:16, Damien Le Moal wrote: > On 2022/02/09 12:12, Joe Perches wrote: >> On Wed, 2022-02-09 at 11:36 +0900, Damien Le Moal wrote: >>> On 2/9/22 09:40, davidcomponentone@gmail.com wrote: >>>> From: Yang Guang <yang.guang5@zte.com.cn> >>>> >>>> coccinelle report: >>>> ./drivers/scsi/csiostor/csio_scsi.c:1433:8-16: >>>> WARNING: use scnprintf or sprintf >>>> ./drivers/scsi/csiostor/csio_scsi.c:1369:9-17: >>>> WARNING: use scnprintf or sprintf >>>> ./drivers/scsi/csiostor/csio_scsi.c:1479:8-16: >>>> WARNING: use scnprintf or sprintf >>>> >>>> Use sysfs_emit instead of scnprintf or sprintf makes more sense. >> [] >>>> diff --git a/drivers/scsi/csiostor/csio_scsi.c b/drivers/scsi/csiostor/csio_scsi.c >> [] >>>> @@ -1366,9 +1366,9 @@ csio_show_hw_state(struct device *dev, >>>> struct csio_hw *hw = csio_lnode_to_hw(ln); >>>> >>>> if (csio_is_hw_ready(hw)) >>>> - return snprintf(buf, PAGE_SIZE, "ready\n"); >>>> + return sysfs_emit(buf, "ready\n"); >>>> else >>>> - return snprintf(buf, PAGE_SIZE, "not ready\n"); >>>> + return sysfs_emit(buf, "not ready\n"); >>> >>> While at it, you could remove the useless "else" above. >> >> Or not. It's fine as is. It's just a style preference. > > It is. I dislike the useless line of code in this case :) > >> >> Another style option would be to use a ?: like any of >> >> return sysfs_emit(buf, "%sready\n", csio_is_hw_ready(hw) ? "" : "not "); >> or >> return sysfs_emit(buf, "%s\n", csio_is_hw_ready(hw) ? "ready" : "not ready"); >> or >> return sysfs_emit(buf, csio_is_hw_ready(hw) ? "ready\n" : "not ready\n"); > > That is nice and can make that > > return sysfs_emit(buf, "%sready\n", csio_is_hw_ready(hw) ? "" : "not "); Oops. You did have that one listed... Read too quickly... > > too :) >
diff --git a/drivers/scsi/csiostor/csio_scsi.c b/drivers/scsi/csiostor/csio_scsi.c index 55db02521221..f9b87ae2aa25 100644 --- a/drivers/scsi/csiostor/csio_scsi.c +++ b/drivers/scsi/csiostor/csio_scsi.c @@ -1366,9 +1366,9 @@ csio_show_hw_state(struct device *dev, struct csio_hw *hw = csio_lnode_to_hw(ln); if (csio_is_hw_ready(hw)) - return snprintf(buf, PAGE_SIZE, "ready\n"); + return sysfs_emit(buf, "ready\n"); else - return snprintf(buf, PAGE_SIZE, "not ready\n"); + return sysfs_emit(buf, "not ready\n"); } /* Device reset */ @@ -1430,7 +1430,7 @@ csio_show_dbg_level(struct device *dev, { struct csio_lnode *ln = shost_priv(class_to_shost(dev)); - return snprintf(buf, PAGE_SIZE, "%x\n", ln->params.log_level); + return sysfs_emit(buf, "%x\n", ln->params.log_level); } /* Store debug level */ @@ -1476,7 +1476,7 @@ csio_show_num_reg_rnodes(struct device *dev, { struct csio_lnode *ln = shost_priv(class_to_shost(dev)); - return snprintf(buf, PAGE_SIZE, "%d\n", ln->num_reg_rnodes); + return sysfs_emit(buf, "%d\n", ln->num_reg_rnodes); } static DEVICE_ATTR(num_reg_rnodes, S_IRUGO, csio_show_num_reg_rnodes, NULL);