Commit 3bfe4dbf authored by Jes Sorensen's avatar Jes Sorensen Committed by Kevin Wolf
Browse files

Add documentation for qemu_progress_{init,print}()

parent 2860e3eb
Loading
Loading
Loading
Loading
+1 −1
Original line number Diff line number Diff line
@@ -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
+21 −3
Original line number Diff line number Diff line
@@ -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;