diff mbox series

[V2,15/23] mdrestore: Define and use struct mdrestore

Message ID 20230606092806.1604491-16-chandan.babu@oracle.com (mailing list archive)
State Superseded
Headers show
Series Metadump v2 | expand

Commit Message

Chandan Babu R June 6, 2023, 9:27 a.m. UTC
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(-)

Comments

Darrick J. Wong July 12, 2023, 6:12 p.m. UTC | #1
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 mbox series

Patch

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],