From mboxrd@z Thu Jan 1 00:00:00 1970 From: Asias He Subject: Re: [PATCH 2/5] tcm_vhost: Introduce tcm_vhost_check_feature() Date: Thu, 7 Mar 2013 08:35:32 +0800 Message-ID: <20130307003532.GB8785@hj.localdomain> References: <1362550590-3534-1-git-send-email-asias@redhat.com> <1362550590-3534-3-git-send-email-asias@redhat.com> <20130306090620.GA32480@stefanha-thinkpad.muc.redhat.com> Mime-Version: 1.0 Content-Type: text/plain; charset="us-ascii" Content-Transfer-Encoding: 7bit Return-path: Content-Disposition: inline In-Reply-To: <20130306090620.GA32480@stefanha-thinkpad.muc.redhat.com> List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , Sender: virtualization-bounces@lists.linux-foundation.org Errors-To: virtualization-bounces@lists.linux-foundation.org To: Stefan Hajnoczi Cc: kvm@vger.kernel.org, "Michael S. Tsirkin" , virtualization@lists.linux-foundation.org, target-devel@vger.kernel.org, Paolo Bonzini List-Id: virtualization@lists.linuxfoundation.org On Wed, Mar 06, 2013 at 10:06:20AM +0100, Stefan Hajnoczi wrote: > On Wed, Mar 06, 2013 at 02:16:27PM +0800, Asias He wrote: > > This helper is useful to check if a feature is supported. > > > > Signed-off-by: Asias He > > --- > > drivers/vhost/tcm_vhost.c | 14 ++++++++++++++ > > 1 file changed, 14 insertions(+) > > > > diff --git a/drivers/vhost/tcm_vhost.c b/drivers/vhost/tcm_vhost.c > > index b3e50d7..fdbf986 100644 > > --- a/drivers/vhost/tcm_vhost.c > > +++ b/drivers/vhost/tcm_vhost.c > > @@ -91,6 +91,20 @@ static int iov_num_pages(struct iovec *iov) > > ((unsigned long)iov->iov_base & PAGE_MASK)) >> PAGE_SHIFT; > > } > > > > +static bool tcm_vhost_check_feature(struct vhost_scsi *vs, u64 feature) > > +{ > > + u64 acked_features; > > + bool ret = false; > > + > > + mutex_lock(&vs->dev.mutex); > > + acked_features = vs->dev.acked_features; > > + if (acked_features & 1ULL << feature) > > + ret = true; > > + mutex_unlock(&vs->dev.mutex); > > + > > + return ret; > > +} > > This is like vhost_has_feature() except it acquires dev.mutex? > > In any case it isn't tcm_vhost-specific and could be in vhost.c. tcm_vhost_check_feature() is called outside the vhost worker thread. So the dev.mutex is needed. Mst, what's your preference here? Add vhost_has_feature_locked() in vhost.c or I use vhost_has_feature() in tcm_vhost_check_feature(). Thanks. -- Asias