[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v5 11/14] job: Add job_progress_increase_remaining()
From: |
Max Reitz |
Subject: |
[Qemu-devel] [PATCH v5 11/14] job: Add job_progress_increase_remaining() |
Date: |
Wed, 13 Jun 2018 20:18:20 +0200 |
Signed-off-by: Max Reitz <address@hidden>
---
include/qemu/job.h | 15 +++++++++++++++
job.c | 5 +++++
2 files changed, 20 insertions(+)
diff --git a/include/qemu/job.h b/include/qemu/job.h
index 1d820530fa..18c9223e31 100644
--- a/include/qemu/job.h
+++ b/include/qemu/job.h
@@ -335,6 +335,21 @@ void job_progress_update(Job *job, uint64_t done);
*/
void job_progress_set_remaining(Job *job, uint64_t remaining);
+/**
+ * @job: The job whose expected progress end value is updated
+ * @delta: Value which is to be added to the current expected end
+ * value
+ *
+ * Increases the expected end value of the progress counter of a job.
+ * This is useful for parenthesis operations: If a job has to
+ * conditionally perform a high-priority operation as part of its
+ * progress, it calls this function with the expected operation's
+ * length before, and job_progress_update() afterwards.
+ * (So the operation acts as a parenthesis in regards to the main job
+ * operation running in background.)
+ */
+void job_progress_increase_remaining(Job *job, uint64_t delta);
+
/** To be called when a cancelled job is finalised. */
void job_event_cancelled(Job *job);
diff --git a/job.c b/job.c
index 84e140238b..fa671b431a 100644
--- a/job.c
+++ b/job.c
@@ -385,6 +385,11 @@ void job_progress_set_remaining(Job *job, uint64_t
remaining)
job->progress_total = job->progress_current + remaining;
}
+void job_progress_increase_remaining(Job *job, uint64_t delta)
+{
+ job->progress_total += delta;
+}
+
void job_event_cancelled(Job *job)
{
notifier_list_notify(&job->on_finalize_cancelled, job);
--
2.17.1
- [Qemu-devel] [PATCH v5 02/14] block/mirror: Convert to coroutines, (continued)
- [Qemu-devel] [PATCH v5 02/14] block/mirror: Convert to coroutines, Max Reitz, 2018/06/13
- [Qemu-devel] [PATCH v5 04/14] block/mirror: Wait for in-flight op conflicts, Max Reitz, 2018/06/13
- [Qemu-devel] [PATCH v5 05/14] block/mirror: Use source as a BdrvChild, Max Reitz, 2018/06/13
- [Qemu-devel] [PATCH v5 06/14] block: Generalize should_update_child() rule, Max Reitz, 2018/06/13
- [Qemu-devel] [PATCH v5 07/14] hbitmap: Add @advance param to hbitmap_iter_next(), Max Reitz, 2018/06/13
- [Qemu-devel] [PATCH v5 08/14] test-hbitmap: Add non-advancing iter_next tests, Max Reitz, 2018/06/13
- [Qemu-devel] [PATCH v5 09/14] block/dirty-bitmap: Add bdrv_dirty_iter_next_area, Max Reitz, 2018/06/13
- [Qemu-devel] [PATCH v5 10/14] block/mirror: Add MirrorBDSOpaque, Max Reitz, 2018/06/13
- [Qemu-devel] [PATCH v5 11/14] job: Add job_progress_increase_remaining(),
Max Reitz <=
- [Qemu-devel] [PATCH v5 12/14] block/mirror: Add active mirroring, Max Reitz, 2018/06/13
- [Qemu-devel] [PATCH v5 13/14] block/mirror: Add copy mode QAPI interface, Max Reitz, 2018/06/13
- [Qemu-devel] [PATCH v5 14/14] iotests: Add test for active mirroring, Max Reitz, 2018/06/13
- Re: [Qemu-devel] [PATCH v5 00/14] block/mirror: Add active-sync mirroring, Max Reitz, 2018/06/18