提交 3bfe4dbf 编写于 作者: J Jes Sorensen 提交者: Kevin Wolf

Add documentation for qemu_progress_{init,print}()

Signed-off-by: NJes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: NKevin Wolf <kwolf@redhat.com>
上级 2860e3eb
......@@ -341,7 +341,7 @@ void qemu_iovec_memset_skip(QEMUIOVector *qiov, int c, size_t count,
void qemu_progress_init(int enabled, float min_skip);
void qemu_progress_end(void);
void qemu_progress_print(float percent, int max);
void qemu_progress_print(float delta, int max);
#define QEMU_FILE_TYPE_BIOS 0
#define QEMU_FILE_TYPE_KEYMAP 1
......
......@@ -96,6 +96,13 @@ static void progress_dummy_init(void)
state.end = progress_dummy_end;
}
/*
* Initialize progress reporting.
* If @enabled is false, actual reporting is suppressed. The user can
* still trigger a report by sending a SIGUSR1.
* Reports are also suppressed unless we've had at least @min_skip
* percent progress since the last report.
*/
void qemu_progress_init(int enabled, float min_skip)
{
state.min_skip = min_skip;
......@@ -111,14 +118,25 @@ void qemu_progress_end(void)
state.end();
}
void qemu_progress_print(float percent, int max)
/*
* Report progress.
* @delta is how much progress we made.
* If @max is zero, @delta is an absolut value of the total job done.
* Else, @delta is a progress delta since the last call, as a fraction
* of @max. I.e. the delta is @delta * @max / 100. This allows
* relative accounting of functions which may be a different fraction of
* the full job, depending on the context they are called in. I.e.
* a function might be considered 40% of the full job if used from
* bdrv_img_create() but only 20% if called from img_convert().
*/
void qemu_progress_print(float delta, int max)
{
float current;
if (max == 0) {
current = percent;
current = delta;
} else {
current = state.current + percent / 100 * max;
current = state.current + delta / 100 * max;
}
if (current > 100) {
current = 100;
......
Markdown is supported
0% .
You are about to add 0 people to the discussion. Proceed with caution.
先完成此消息的编辑!
想要评论请 注册