Re: [PATCH 3/9] xfs_mdrestore: correctly account bytes read

Brian Foster
2016-01-04T19:12:10Z

On Tue, Dec 22, 2015 at 08:37:03AM +1100, Dave Chinner wrote:
> From: Dave Chinner <dchinner@redhat.com>
>
> Progess indication comes in the form of a "X MB read" output. This
> doesn't match up with the actual number of bytes read from the
> metadump file because it only accounts header blocks in the file,
> not actual metadata blocks that are restored, Hence the number
> reported is usually much lower than the size of the metadump file,
> hence it's impossible to use to guage progress of the restore.

gauge

Otherwise looks good:

Reviewed-by: Brian Foster <bfoster@redhat.com>

>
> While there, fix the progress output so that it overwrites the
> previous progress output line correctly.
>
> Signed-off-by: Dave Chinner <dchinner@redhat.com>
> ---
> mdrestore/xfs_mdrestore.c | 4 ++--
> 1 file changed, 2 insertions(+), 2 deletions(-)
>
> diff --git a/mdrestore/xfs_mdrestore.c b/mdrestore/xfs_mdrestore.c
> index ebc5e54..70a160c 100644
> --- a/mdrestore/xfs_mdrestore.c
> +++ b/mdrestore/xfs_mdrestore.c
> @@ -133,7 +133,7 @@ perform_restore(
>
> for (;;) {
> if (show_progress && (bytes_read & ((1 << 20) - 1)) == 0)
> - print_progress("%lld MB read\n", bytes_read >> 20);
> + print_progress("%lld MB read", bytes_read >> 20);
>
> for (cur_index = 0; cur_index < mb_count; cur_index++) {
> if (pwrite64(dst_fd, &block_buffer[cur_index <<
> @@ -160,7 +160,7 @@ perform_restore(
> 1, src_f) != 1)
> fatal("error reading from file: %s\n", strerror(errno));
>
> - bytes_read += block_size;
> + bytes_read += block_size + (mb_count << tmb.mb_blocklog);
> }
>
> if (progress_since_warning)
> --
> 2.5.0
>
> _______________________________________________
> xfs mailing list
> xfs@oss.sgi.com
> http://oss.sgi.com/mailman/listinfo/xfs