Messages in this thread | | | Date | Tue, 6 Oct 2015 02:40:40 -0700 | From | Christoph Hellwig <> | Subject | Re: [PATCHv2 1/1] SCSI: update hosts module to use idr index management |
| |
> struct Scsi_Host *scsi_host_lookup(unsigned short hostnum) > { > - struct device *cdev; > - struct Scsi_Host *shost = NULL; > - > - cdev = class_find_device(&shost_class, NULL, &hostnum, > - __scsi_host_match); > - if (cdev) { > - shost = scsi_host_get(class_to_shost(cdev)); > - put_device(cdev); > - } > + struct Scsi_Host *shost; > + > + spin_lock(&host_index_lock); > + shost = idr_find(&host_index_idr, hostnum); > + spin_unlock(&host_index_lock); > + > return shost;
How does this actually grab a reference to the host?
| |