From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: (majordomo@vger.kernel.org) by vger.kernel.org via listexpand id S1752547AbbJFJkw (ORCPT ); Tue, 6 Oct 2015 05:40:52 -0400 Received: from bombadil.infradead.org ([198.137.202.9]:53885 "EHLO bombadil.infradead.org" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1751653AbbJFJkv (ORCPT ); Tue, 6 Oct 2015 05:40:51 -0400 Date: Tue, 6 Oct 2015 02:40:40 -0700 From: Christoph Hellwig To: Lee Duncan Cc: linux-scsi@vger.kernel.org, linux-kernel@vger.kernel.org, James Bottomley , Tejun Heo , Hannes Reinecke , Johannes Thumshirn , Christoph Hellwig Subject: Re: [PATCHv2 1/1] SCSI: update hosts module to use idr index management Message-ID: <20151006094040.GA24624@infradead.org> References: <1a69690d615610c1dee725db7e6d81cf2db28266.1444085255.git.lduncan@suse.com> MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Content-Disposition: inline In-Reply-To: <1a69690d615610c1dee725db7e6d81cf2db28266.1444085255.git.lduncan@suse.com> User-Agent: Mutt/1.5.23 (2014-03-12) X-SRS-Rewrite: SMTP reverse-path rewritten from by bombadil.infradead.org See http://www.infradead.org/rpr.html Sender: linux-kernel-owner@vger.kernel.org List-ID: X-Mailing-List: linux-kernel@vger.kernel.org > 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?