Add documentation for qemu_progress_{init,print}()

Signed-off-by: Jes Sorensen <Jes.Sorensen@redhat.com>
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
This commit is contained in:
Jes Sorensen 2011-05-09 17:32:20 +02:00 committed by Kevin Wolf
parent 2860e3eb96
commit 3bfe4dbf92
2 changed files with 22 additions and 4 deletions

View File

@ -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

View File

@ -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;