On Tue, May 23, 2023 at 02:30:42PM +0530, Chandan Babu R wrote: > This commit collects all state tracking variables in a new "struct mdrestore" > structure. Same comment as patch 3. --D > Signed-off-by: Chandan Babu R <chandan.babu@xxxxxxxxxx> > --- > mdrestore/xfs_mdrestore.c | 27 +++++++++++++++++---------- > 1 file changed, 17 insertions(+), 10 deletions(-) > > diff --git a/mdrestore/xfs_mdrestore.c b/mdrestore/xfs_mdrestore.c > index 481dd00c2..de9175a08 100644 > --- a/mdrestore/xfs_mdrestore.c > +++ b/mdrestore/xfs_mdrestore.c > @@ -7,9 +7,11 @@ > #include "libxfs.h" > #include "xfs_metadump.h" > > -static int show_progress = 0; > -static int show_info = 0; > -static int progress_since_warning = 0; > +static struct mdrestore { > + int show_progress; > + int show_info; > + int progress_since_warning; > +} mdrestore; > > static void > fatal(const char *msg, ...) > @@ -35,7 +37,7 @@ print_progress(const char *fmt, ...) > > printf("\r%-59s", buf); > fflush(stdout); > - progress_since_warning = 1; > + mdrestore.progress_since_warning = 1; > } > > /* > @@ -127,7 +129,8 @@ perform_restore( > bytes_read = 0; > > for (;;) { > - if (show_progress && (bytes_read & ((1 << 20) - 1)) == 0) > + if (mdrestore.show_progress && > + (bytes_read & ((1 << 20) - 1)) == 0) > print_progress("%lld MB read", bytes_read >> 20); > > for (cur_index = 0; cur_index < mb_count; cur_index++) { > @@ -158,7 +161,7 @@ perform_restore( > bytes_read += block_size + (mb_count << mbp->mb_blocklog); > } > > - if (progress_since_warning) > + if (mdrestore.progress_since_warning) > putchar('\n'); > > memset(block_buffer, 0, sb.sb_sectsize); > @@ -197,15 +200,19 @@ main( > int is_target_file; > struct xfs_metablock mb; > > + mdrestore.show_progress = 0; > + mdrestore.show_info = 0; > + mdrestore.progress_since_warning = 0; > + > progname = basename(argv[0]); > > while ((c = getopt(argc, argv, "giV")) != EOF) { > switch (c) { > case 'g': > - show_progress = 1; > + mdrestore.show_progress = 1; > break; > case 'i': > - show_info = 1; > + mdrestore.show_info = 1; > break; > case 'V': > printf("%s version %s\n", progname, VERSION); > @@ -219,7 +226,7 @@ main( > usage(); > > /* show_info without a target is ok */ > - if (!show_info && argc - optind != 2) > + if (!mdrestore.show_info && argc - optind != 2) > usage(); > > /* > @@ -243,7 +250,7 @@ main( > if (mb.mb_magic != cpu_to_be32(XFS_MD_MAGIC_V1)) > fatal("specified file is not a metadata dump\n"); > > - if (show_info) { > + if (mdrestore.show_info) { > if (mb.mb_info & XFS_METADUMP_INFO_FLAGS) { > printf("%s: %sobfuscated, %s log, %s metadata blocks\n", > argv[optind], > -- > 2.39.1 >