Re: [PATCH 2/5] tcm_vhost: Introduce tcm_vhost_check_feature()

2013-03-06 Thread Stefan Hajnoczi
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 as...@redhat.com
 ---
  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.

Stefan
--
To unsubscribe from this list: send the line unsubscribe kvm in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html


Re: [PATCH 2/5] tcm_vhost: Introduce tcm_vhost_check_feature()

2013-03-06 Thread Asias He
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 as...@redhat.com
  ---
   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
--
To unsubscribe from this list: send the line unsubscribe kvm in
the body of a message to majord...@vger.kernel.org
More majordomo info at  http://vger.kernel.org/majordomo-info.html