2024-03-19 06:32:47

by Zhijian Li (Fujitsu)

[permalink] [raw]
Subject: [PATCH v2 04/25] scsi: be2iscsi: Convert sprintf() family to sysfs_emit() family

Per filesystems/sysfs.rst, show() should only use sysfs_emit()
or sysfs_emit_at() when formatting the value to be returned to user space.

coccinelle complains that there are still a couple of functions that use
snprintf(). Convert them to sysfs_emit().

sprintf() and scnprintf() will be converted as well if they have.

Generally, this patch is generated by
make coccicheck M=<path/to/file> MODE=patch \
COCCI=scripts/coccinelle/api/device_attr_show.cocci

No functional change intended

CC: Ketan Mukadam <[email protected]>
CC: "James E.J. Bottomley" <[email protected]>
CC: "Martin K. Petersen" <[email protected]>
CC: [email protected]
Signed-off-by: Li Zhijian <[email protected]>
---
This is a part of the work "Fix coccicheck device_attr_show warnings"[1]
Split them per subsystem so that the maintainer can review it easily
[1] https://lore.kernel.org/lkml/[email protected]/
---
drivers/scsi/be2iscsi/be_mgmt.c | 36 ++++++++++++++++-----------------
1 file changed, 17 insertions(+), 19 deletions(-)

diff --git a/drivers/scsi/be2iscsi/be_mgmt.c b/drivers/scsi/be2iscsi/be_mgmt.c
index 4e899ec1477d..4174e71932a6 100644
--- a/drivers/scsi/be2iscsi/be_mgmt.c
+++ b/drivers/scsi/be2iscsi/be_mgmt.c
@@ -1142,7 +1142,7 @@ ssize_t
beiscsi_drvr_ver_disp(struct device *dev, struct device_attribute *attr,
char *buf)
{
- return snprintf(buf, PAGE_SIZE, BE_NAME "\n");
+ return sysfs_emit(buf, BE_NAME "\n");
}

/**
@@ -1161,7 +1161,7 @@ beiscsi_fw_ver_disp(struct device *dev, struct device_attribute *attr,
struct Scsi_Host *shost = class_to_shost(dev);
struct beiscsi_hba *phba = iscsi_host_priv(shost);

- return snprintf(buf, PAGE_SIZE, "%s\n", phba->fw_ver_str);
+ return sysfs_emit(buf, "%s\n", phba->fw_ver_str);
}

/**
@@ -1185,12 +1185,11 @@ beiscsi_active_session_disp(struct device *dev, struct device_attribute *attr,
if (test_bit(ulp_num, (void *)&phba->fw_config.ulp_supported)) {
avlbl_cids = BEISCSI_ULP_AVLBL_CID(phba, ulp_num);
total_cids = BEISCSI_GET_CID_COUNT(phba, ulp_num);
- len += scnprintf(buf+len, PAGE_SIZE - len,
- "ULP%d : %d\n", ulp_num,
- (total_cids - avlbl_cids));
+ len += sysfs_emit_at(buf, len, "ULP%d : %d\n", ulp_num,
+ (total_cids - avlbl_cids));
} else
- len += scnprintf(buf+len, PAGE_SIZE - len,
- "ULP%d : %d\n", ulp_num, 0);
+ len += sysfs_emit_at(buf, len, "ULP%d : %d\n", ulp_num,
+ 0);
}

return len;
@@ -1215,12 +1214,11 @@ beiscsi_free_session_disp(struct device *dev, struct device_attribute *attr,

for (ulp_num = 0; ulp_num < BEISCSI_ULP_COUNT; ulp_num++) {
if (test_bit(ulp_num, (void *)&phba->fw_config.ulp_supported))
- len += scnprintf(buf+len, PAGE_SIZE - len,
- "ULP%d : %d\n", ulp_num,
+ len += sysfs_emit_at(buf, len, "ULP%d : %d\n", ulp_num,
BEISCSI_ULP_AVLBL_CID(phba, ulp_num));
else
- len += scnprintf(buf+len, PAGE_SIZE - len,
- "ULP%d : %d\n", ulp_num, 0);
+ len += sysfs_emit_at(buf, len, "ULP%d : %d\n", ulp_num,
+ 0);
}

return len;
@@ -1248,16 +1246,16 @@ beiscsi_adap_family_disp(struct device *dev, struct device_attribute *attr,
case BE_DEVICE_ID1:
case OC_DEVICE_ID1:
case OC_DEVICE_ID2:
- return snprintf(buf, PAGE_SIZE,
- "Obsolete/Unsupported BE2 Adapter Family\n");
+ return sysfs_emit(buf,
+ "Obsolete/Unsupported BE2 Adapter Family\n");
case BE_DEVICE_ID2:
case OC_DEVICE_ID3:
- return snprintf(buf, PAGE_SIZE, "BE3-R Adapter Family\n");
+ return sysfs_emit(buf, "BE3-R Adapter Family\n");
case OC_SKH_ID1:
- return snprintf(buf, PAGE_SIZE, "Skyhawk-R Adapter Family\n");
+ return sysfs_emit(buf, "Skyhawk-R Adapter Family\n");
default:
- return snprintf(buf, PAGE_SIZE,
- "Unknown Adapter Family: 0x%x\n", dev_id);
+ return sysfs_emit(buf, "Unknown Adapter Family: 0x%x\n",
+ dev_id);
}
}

@@ -1277,8 +1275,8 @@ beiscsi_phys_port_disp(struct device *dev, struct device_attribute *attr,
struct Scsi_Host *shost = class_to_shost(dev);
struct beiscsi_hba *phba = iscsi_host_priv(shost);

- return snprintf(buf, PAGE_SIZE, "Port Identifier : %u\n",
- phba->fw_config.phys_port);
+ return sysfs_emit(buf, "Port Identifier : %u\n",
+ phba->fw_config.phys_port);
}

void beiscsi_offload_cxn_v0(struct beiscsi_offload_params *params,
--
2.29.2