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