[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <aba8999d-276d-f9e8-96b4-5d1cc4e82c53@acm.org>
Date: Mon, 25 Apr 2022 18:16:30 -0700
From: Bart Van Assche <bvanassche@....org>
To: John Garry <john.garry@...wei.com>,
Krzysztof Kozlowski <krzysztof.kozlowski@...aro.org>,
Christoph Hellwig <hch@...radead.org>
Cc: "Ewan D. Milne" <emilne@...hat.com>,
"James E.J. Bottomley" <jejb@...ux.ibm.com>,
"Martin K. Petersen" <martin.petersen@...cle.com>,
Alim Akhtar <alim.akhtar@...sung.com>,
Avri Altman <avri.altman@....com>,
Doug Gilbert <dgilbert@...erlog.com>,
linux-scsi@...r.kernel.org, linux-kernel@...r.kernel.org,
james.smart@...adcom.com
Subject: Re: [PATCH 1/4] scsi: core: constify pointer to scsi_host_template
On 4/25/22 06:04, John Garry wrote:
> On 25/04/2022 10:22, Krzysztof Kozlowski wrote:
>> For example scsi_proc_hostdir_rm(): 'present' and 'proc_dir' members.
>> Where should they be stored? Should they be moved to the Scsi_Host?
>>
>
> I don't think scsi_Host is appropriate as this is per-scsi host
> template, unless you see a way to do it that way. Alternatively we could
> keep a separate list of registered sht, like this:
>
> struct sht_proc_dir {
> int cnt;
> struct list_head list;
> struct proc_dir_entry *proc_dir;
> struct scsi_host_template *sht;
> };
> static LIST_HEAD(sht_proc_dir_list);
>
> void scsi_proc_hostdir_add(struct scsi_host_template *sht)
> {
> struct sht_proc_dir *dir;
>
> if (!sht->show_info)
> return;
>
> mutex_lock(&global_host_template_mutex);
> list_for_each_entry(dir, &sht_proc_dir_list, list) {
> if (dir->sht == sht) {
> dir->cnt++;
> goto out;
> }
> }
> dir = kzalloc(sizeof(*dir), GFP_KERNEL);
> if (!dir)
> goto out;
>
> dir->proc_dir = proc_mkdir(sht->proc_name, proc_scsi);
> if (!dir->proc_dir) {
> printk(KERN_ERR "%s: proc_mkdir failed for %s\n",
> __func__, sht->proc_name);
> kfree(dir);
> goto out;
> }
>
> dir->cnt++;
> list_add_tail(&dir->list, &sht_proc_dir_list);
> out:
> mutex_unlock(&global_host_template_mutex);
> }
How about removing scsi_proc_hostdir_add(), scsi_proc_hostdir_rm() and
all other code that creates files or directories under /proc/scsi? There
should be corresponding entries in sysfs for all /proc/scsi entries.
Some tools in sg3_utils use that directory so sg3_utils will have to be
updated.
Thanks,
Bart.
Powered by blists - more mailing lists