mirror of https://gitee.com/openkylin/linux.git
vhost: remove work arg from vhost_work_flush
vhost_work_flush doesn't do anything with the work arg. This patch drops it and then renames vhost_work_flush to vhost_work_dev_flush to reflect that the function flushes all the works in the dev and not just a specific queue or work item. Signed-off-by: Mike Christie <michael.christie@oracle.com> Acked-by: Jason Wang <jasowang@redhat.com> Reviewed-by: Chaitanya Kulkarni <chaitanya.kulkarni@wdc.com> Link: https://lore.kernel.org/r/20210525174733.6212-2-michael.christie@oracle.com Reviewed-by: Stefano Garzarella <sgarzare@redhat.com> Signed-off-by: Michael S. Tsirkin <mst@redhat.com>
This commit is contained in:
parent
d00d8da586
commit
1465cb6117
|
@ -1455,8 +1455,8 @@ static void vhost_scsi_flush(struct vhost_scsi *vs)
|
||||||
/* Flush both the vhost poll and vhost work */
|
/* Flush both the vhost poll and vhost work */
|
||||||
for (i = 0; i < VHOST_SCSI_MAX_VQ; i++)
|
for (i = 0; i < VHOST_SCSI_MAX_VQ; i++)
|
||||||
vhost_scsi_flush_vq(vs, i);
|
vhost_scsi_flush_vq(vs, i);
|
||||||
vhost_work_flush(&vs->dev, &vs->vs_completion_work);
|
vhost_work_dev_flush(&vs->dev);
|
||||||
vhost_work_flush(&vs->dev, &vs->vs_event_work);
|
vhost_work_dev_flush(&vs->dev);
|
||||||
|
|
||||||
/* Wait for all reqs issued before the flush to be finished */
|
/* Wait for all reqs issued before the flush to be finished */
|
||||||
for (i = 0; i < VHOST_SCSI_MAX_VQ; i++)
|
for (i = 0; i < VHOST_SCSI_MAX_VQ; i++)
|
||||||
|
|
|
@ -231,7 +231,7 @@ void vhost_poll_stop(struct vhost_poll *poll)
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(vhost_poll_stop);
|
EXPORT_SYMBOL_GPL(vhost_poll_stop);
|
||||||
|
|
||||||
void vhost_work_flush(struct vhost_dev *dev, struct vhost_work *work)
|
void vhost_work_dev_flush(struct vhost_dev *dev)
|
||||||
{
|
{
|
||||||
struct vhost_flush_struct flush;
|
struct vhost_flush_struct flush;
|
||||||
|
|
||||||
|
@ -243,13 +243,13 @@ void vhost_work_flush(struct vhost_dev *dev, struct vhost_work *work)
|
||||||
wait_for_completion(&flush.wait_event);
|
wait_for_completion(&flush.wait_event);
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(vhost_work_flush);
|
EXPORT_SYMBOL_GPL(vhost_work_dev_flush);
|
||||||
|
|
||||||
/* Flush any work that has been scheduled. When calling this, don't hold any
|
/* Flush any work that has been scheduled. When calling this, don't hold any
|
||||||
* locks that are also used by the callback. */
|
* locks that are also used by the callback. */
|
||||||
void vhost_poll_flush(struct vhost_poll *poll)
|
void vhost_poll_flush(struct vhost_poll *poll)
|
||||||
{
|
{
|
||||||
vhost_work_flush(poll->dev, &poll->work);
|
vhost_work_dev_flush(poll->dev);
|
||||||
}
|
}
|
||||||
EXPORT_SYMBOL_GPL(vhost_poll_flush);
|
EXPORT_SYMBOL_GPL(vhost_poll_flush);
|
||||||
|
|
||||||
|
@ -538,7 +538,7 @@ static int vhost_attach_cgroups(struct vhost_dev *dev)
|
||||||
attach.owner = current;
|
attach.owner = current;
|
||||||
vhost_work_init(&attach.work, vhost_attach_cgroups_work);
|
vhost_work_init(&attach.work, vhost_attach_cgroups_work);
|
||||||
vhost_work_queue(dev, &attach.work);
|
vhost_work_queue(dev, &attach.work);
|
||||||
vhost_work_flush(dev, &attach.work);
|
vhost_work_dev_flush(dev);
|
||||||
return attach.ret;
|
return attach.ret;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|
|
@ -46,7 +46,7 @@ int vhost_poll_start(struct vhost_poll *poll, struct file *file);
|
||||||
void vhost_poll_stop(struct vhost_poll *poll);
|
void vhost_poll_stop(struct vhost_poll *poll);
|
||||||
void vhost_poll_flush(struct vhost_poll *poll);
|
void vhost_poll_flush(struct vhost_poll *poll);
|
||||||
void vhost_poll_queue(struct vhost_poll *poll);
|
void vhost_poll_queue(struct vhost_poll *poll);
|
||||||
void vhost_work_flush(struct vhost_dev *dev, struct vhost_work *work);
|
void vhost_work_dev_flush(struct vhost_dev *dev);
|
||||||
|
|
||||||
struct vhost_log {
|
struct vhost_log {
|
||||||
u64 addr;
|
u64 addr;
|
||||||
|
|
|
@ -708,7 +708,7 @@ static void vhost_vsock_flush(struct vhost_vsock *vsock)
|
||||||
for (i = 0; i < ARRAY_SIZE(vsock->vqs); i++)
|
for (i = 0; i < ARRAY_SIZE(vsock->vqs); i++)
|
||||||
if (vsock->vqs[i].handle_kick)
|
if (vsock->vqs[i].handle_kick)
|
||||||
vhost_poll_flush(&vsock->vqs[i].poll);
|
vhost_poll_flush(&vsock->vqs[i].poll);
|
||||||
vhost_work_flush(&vsock->dev, &vsock->send_pkt_work);
|
vhost_work_dev_flush(&vsock->dev);
|
||||||
}
|
}
|
||||||
|
|
||||||
static void vhost_vsock_reset_orphans(struct sock *sk)
|
static void vhost_vsock_reset_orphans(struct sock *sk)
|
||||||
|
|
Loading…
Reference in New Issue