Re: [PATCH 1/4] scsi: core: constify pointer to scsi_host_template

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

 



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.



[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Index of Archives]     [SCSI Target Devel]     [Linux SCSI Target Infrastructure]     [Kernel Newbies]     [IDE]     [Security]     [Git]     [Netfilter]     [Bugtraq]     [Yosemite News]     [MIPS Linux]     [ARM Linux]     [Linux Security]     [Linux RAID]     [Linux ATA RAID]     [Linux IIO]     [Samba]     [Device Mapper]

  Powered by Linux