Re: [PATCHv2 1/1] SCSI: update hosts module to use idr index management

From: Christoph Hellwig
Date: Tue Oct 06 2015 - 05:40:55 EST


> 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?
--
To unsubscribe from this list: send the line "unsubscribe linux-kernel" in
the body of a message to majordomo@xxxxxxxxxxxxxxx
More majordomo info at http://vger.kernel.org/majordomo-info.html
Please read the FAQ at http://www.tux.org/lkml/