Groups | Search | Server Info | Keyboard shortcuts | Login | Register [http] [https] [nntp] [nntps]


Groups > linux.kernel > #1240769

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

From James Bottomley <James.Bottomley@HansenPartnership.com>
Newsgroups linux.kernel
Subject Re: [PATCHv2 1/1] SCSI: update hosts module to use idr index management
Date 2015-10-06 19:20 +0200
Message-ID <qgE4a-49R-35@gated-at.bofh.it> (permalink)
References <qgn3j-4Wl-1@gated-at.bofh.it> <qgn3j-4Wl-5@gated-at.bofh.it> <qgx2G-2ob-7@gated-at.bofh.it> <qgE4a-49R-37@gated-at.bofh.it>
Organization linux.* mail to news gateway

Show all headers | View raw


On Tue, 2015-10-06 at 10:14 -0700, Lee Duncan wrote:
> On 10/06/2015 02:40 AM, Christoph Hellwig wrote:
> >>  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?
> 
> Good catch -- I should have noticed that.
> 
> I will resubmit the patch.

I'll wait to see what you produce, but I don't think, using a separate
idr array, you can close the race window between lookup and get.  One of
the nice things about using the cdev iterator is that the get is part of
the lookup process.

James


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

Back to linux.kernel | Previous | NextPrevious in thread | Next in thread | Find similar | Unroll thread


Thread

[PATCHv2 0/1] Update SCSI hosts to use idr for host number mgmt Lee Duncan <lduncan@suse.com> - 2015-10-06 01:10 +0200
  [PATCHv2 1/1] SCSI: update hosts module to use idr index management Lee Duncan <lduncan@suse.com> - 2015-10-06 01:10 +0200
    Re: [PATCHv2 1/1] SCSI: update hosts module to use idr index  management Christoph Hellwig <hch@infradead.org> - 2015-10-06 11:50 +0200
      Re: [PATCHv2 1/1] SCSI: update hosts module to use idr index  management James Bottomley <James.Bottomley@HansenPartnership.com> - 2015-10-06 19:20 +0200
        Re: [PATCHv2 1/1] SCSI: update hosts module to use idr index  management Hannes Reinecke <hare@suse.com> - 2015-10-07 22:30 +0200
          Re: [PATCHv2 1/1] SCSI: update hosts module to use idr index  management James Bottomley <James.Bottomley@HansenPartnership.com> - 2015-10-08 01:40 +0200
      Re: [PATCHv2 1/1] SCSI: update hosts module to use idr index  management Lee Duncan <lduncan@suse.com> - 2015-10-06 19:20 +0200
    Re: [PATCHv2 1/1] SCSI: update hosts module to use idr index  management Hannes Reinecke <hare@suse.com> - 2015-10-06 15:10 +0200

csiph-web