Re: [PATCH] scsi: hisi_sas: display correct proc_name in sysfs

From: Jason Yan
Date: Tue May 12 2020 - 05:35:39 EST




å 2020/5/12 16:23, John Garry åé:
On 12/05/2020 07:33, Jason Yan wrote:
The 'proc_name' entry in sysfs for hisi_sas is 'null' now becuase it is
not initialized in scsi_host_template. It looks like:

[root@localhost ~]# cat /sys/class/scsi_host/host2/proc_name
(null)


hmmm.. it would be good to tell us what this buys us, apart from the proc_name file.


When there is more than one storage cards(or controllers) in the system, I'm tring to find out which host is belong to which card. And then I found this in scsi_host in sysfs but the output is '(null)' which is odd.

I mean, if we had the sht show_info method implemented, then it could be useful (which is even marked as obsolete now).


I found this is interesting while in the sysfs filesystem we have a procfs stuff in it. I was planned to rename this entry to 'name' and use the struct member 'name' directly in struct scsi_host_template. But this may break userspace applications.

Thanks,
John

While the other driver's entry looks like:

linux-vnMQMU:~ # cat /sys/class/scsi_host/host0/proc_name
megaraid_sas

Cc: John Garry <john.garry@xxxxxxxxxx>
Cc: Xiang Chen <chenxiang66@xxxxxxxxxxxxx>
Signed-off-by: Jason Yan <yanaijie@xxxxxxxxxx>
---
 drivers/scsi/hisi_sas/hisi_sas_v1_hw.c | 1 +
 drivers/scsi/hisi_sas/hisi_sas_v2_hw.c | 1 +
 drivers/scsi/hisi_sas/hisi_sas_v3_hw.c | 1 +
 3 files changed, 3 insertions(+)

diff --git a/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
index fa25766502a2..c205bff20943 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v1_hw.c
@@ -1757,6 +1757,7 @@ static struct device_attribute *host_attrs_v1_hw[] = {
 static struct scsi_host_template sht_v1_hw = {
ÂÂÂÂÂ .nameÂÂÂÂÂÂÂÂÂÂÂ = DRV_NAME,
+ÂÂÂ .proc_nameÂÂÂÂÂÂÂ = DRV_NAME,
ÂÂÂÂÂ .moduleÂÂÂÂÂÂÂÂÂÂÂ = THIS_MODULE,
ÂÂÂÂÂ .queuecommandÂÂÂÂÂÂÂ = sas_queuecommand,
ÂÂÂÂÂ .target_allocÂÂÂÂÂÂÂ = sas_target_alloc,
diff --git a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
index e05faf315dcd..c725cffe141e 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v2_hw.c
@@ -3533,6 +3533,7 @@ static struct device_attribute *host_attrs_v2_hw[] = {
 static struct scsi_host_template sht_v2_hw = {
ÂÂÂÂÂ .nameÂÂÂÂÂÂÂÂÂÂÂ = DRV_NAME,
+ÂÂÂ .proc_nameÂÂÂÂÂÂÂ = DRV_NAME,
ÂÂÂÂÂ .moduleÂÂÂÂÂÂÂÂÂÂÂ = THIS_MODULE,
ÂÂÂÂÂ .queuecommandÂÂÂÂÂÂÂ = sas_queuecommand,
ÂÂÂÂÂ .target_allocÂÂÂÂÂÂÂ = sas_target_alloc,
diff --git a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
index 374885aa8d77..59b1421607dd 100644
--- a/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
+++ b/drivers/scsi/hisi_sas/hisi_sas_v3_hw.c
@@ -3071,6 +3071,7 @@ static int debugfs_set_bist_v3_hw(struct hisi_hba *hisi_hba, bool enable)
 static struct scsi_host_template sht_v3_hw = {
ÂÂÂÂÂ .nameÂÂÂÂÂÂÂÂÂÂÂ = DRV_NAME,
+ÂÂÂ .proc_nameÂÂÂÂÂÂÂ = DRV_NAME,
ÂÂÂÂÂ .moduleÂÂÂÂÂÂÂÂÂÂÂ = THIS_MODULE,
ÂÂÂÂÂ .queuecommandÂÂÂÂÂÂÂ = sas_queuecommand,
ÂÂÂÂÂ .target_allocÂÂÂÂÂÂÂ = sas_target_alloc,



.