diff options
author | Asias He <asias@redhat.com> | 2013-05-07 14:54:36 +0800 |
---|---|---|
committer | Michael S. Tsirkin <mst@redhat.com> | 2013-07-11 15:38:40 +0300 |
commit | 22fa90c7fb479694d6affebc049d21f06b714be6 (patch) | |
tree | fd62ad11e27171f38d29470e5935736d835d3a4c /drivers/vhost/scsi.c | |
parent | e7802212ea4bbbd5db99181942a19ab36ca4b914 (diff) | |
download | linux-stable-22fa90c7fb479694d6affebc049d21f06b714be6.tar.gz linux-stable-22fa90c7fb479694d6affebc049d21f06b714be6.tar.bz2 linux-stable-22fa90c7fb479694d6affebc049d21f06b714be6.zip |
vhost: Remove custom vhost rcu usage
Now, vq->private_data is always accessed under vq mutex. No need to play
the vhost rcu trick.
Signed-off-by: Asias He <asias@redhat.com>
Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
Diffstat (limited to 'drivers/vhost/scsi.c')
-rw-r--r-- | drivers/vhost/scsi.c | 6 |
1 files changed, 2 insertions, 4 deletions
diff --git a/drivers/vhost/scsi.c b/drivers/vhost/scsi.c index 45365396dbbc..35ab0ce98414 100644 --- a/drivers/vhost/scsi.c +++ b/drivers/vhost/scsi.c @@ -1223,9 +1223,8 @@ vhost_scsi_set_endpoint(struct vhost_scsi *vs, sizeof(vs->vs_vhost_wwpn)); for (i = 0; i < VHOST_SCSI_MAX_VQ; i++) { vq = &vs->vqs[i].vq; - /* Flushing the vhost_work acts as synchronize_rcu */ mutex_lock(&vq->mutex); - rcu_assign_pointer(vq->private_data, vs_tpg); + vq->private_data = vs_tpg; vhost_init_used(vq); mutex_unlock(&vq->mutex); } @@ -1304,9 +1303,8 @@ vhost_scsi_clear_endpoint(struct vhost_scsi *vs, if (match) { for (i = 0; i < VHOST_SCSI_MAX_VQ; i++) { vq = &vs->vqs[i].vq; - /* Flushing the vhost_work acts as synchronize_rcu */ mutex_lock(&vq->mutex); - rcu_assign_pointer(vq->private_data, NULL); + vq->private_data = NULL; mutex_unlock(&vq->mutex); } } |