Message ID | 20230606092806.1604491-16-chandan.babu@oracle.com (mailing list archive) |
---|---|
State | Superseded, archived |
Headers | show |
Series | Metadump v2 | expand |
On Tue, Jun 06, 2023 at 02:57:58PM +0530, Chandan Babu R wrote: > This commit collects all state tracking variables in a new "struct mdrestore" > structure. This is done to collect all the global variables in one place > rather than having them spread across the file. A new structure member of type > "struct mdrestore_ops *" will be added by a future commit to support the two > versions of metadump. > > Signed-off-by: Chandan Babu R <chandan.babu@oracle.com> Same comments as patch 4. Reviewed-by: Darrick J. Wong <djwong@kernel.org> --D > --- > 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 ca28c48e..564630f7 100644 > --- a/mdrestore/xfs_mdrestore.c > +++ b/mdrestore/xfs_mdrestore.c > @@ -7,9 +7,11 @@ > #include "libxfs.h" > #include "xfs_metadump.h" > > -static bool show_progress = false; > -static bool show_info = false; > -static bool progress_since_warning = false; > +static struct mdrestore { > + bool show_progress; > + bool show_info; > + bool 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 = true; > + mdrestore.progress_since_warning = true; > } > > /* > @@ -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 = false; > + mdrestore.show_info = false; > + mdrestore.progress_since_warning = false; > + > progname = basename(argv[0]); > > while ((c = getopt(argc, argv, "giV")) != EOF) { > switch (c) { > case 'g': > - show_progress = true; > + mdrestore.show_progress = true; > break; > case 'i': > - show_info = true; > + mdrestore.show_info = true; > 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 >
diff --git a/mdrestore/xfs_mdrestore.c b/mdrestore/xfs_mdrestore.c index ca28c48e..564630f7 100644 --- a/mdrestore/xfs_mdrestore.c +++ b/mdrestore/xfs_mdrestore.c @@ -7,9 +7,11 @@ #include "libxfs.h" #include "xfs_metadump.h" -static bool show_progress = false; -static bool show_info = false; -static bool progress_since_warning = false; +static struct mdrestore { + bool show_progress; + bool show_info; + bool 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 = true; + mdrestore.progress_since_warning = true; } /* @@ -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 = false; + mdrestore.show_info = false; + mdrestore.progress_since_warning = false; + progname = basename(argv[0]); while ((c = getopt(argc, argv, "giV")) != EOF) { switch (c) { case 'g': - show_progress = true; + mdrestore.show_progress = true; break; case 'i': - show_info = true; + mdrestore.show_info = true; 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],
This commit collects all state tracking variables in a new "struct mdrestore" structure. This is done to collect all the global variables in one place rather than having them spread across the file. A new structure member of type "struct mdrestore_ops *" will be added by a future commit to support the two versions of metadump. Signed-off-by: Chandan Babu R <chandan.babu@oracle.com> --- mdrestore/xfs_mdrestore.c | 27 +++++++++++++++++---------- 1 file changed, 17 insertions(+), 10 deletions(-)