Loading qemu-common.h +1 −1 Original line number Diff line number Diff line Loading @@ -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 Loading qemu-progress.c +21 −3 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading Loading
qemu-common.h +1 −1 Original line number Diff line number Diff line Loading @@ -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 Loading
qemu-progress.c +21 −3 Original line number Diff line number Diff line Loading @@ -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; Loading @@ -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; Loading