metadump v2 format allows dumping metadata from external log devices. This commit allows passing the device file to which log data must be restored from the corresponding metadump file. Signed-off-by: Chandan Babu R <chandan.babu@xxxxxxxxxx> --- mdrestore/xfs_mdrestore.c | 10 ++++++++-- 1 file changed, 8 insertions(+), 2 deletions(-) diff --git a/mdrestore/xfs_mdrestore.c b/mdrestore/xfs_mdrestore.c index 9e06d37dc..f5eff62ef 100644 --- a/mdrestore/xfs_mdrestore.c +++ b/mdrestore/xfs_mdrestore.c @@ -427,7 +427,8 @@ static struct mdrestore_ops mdrestore_ops_v2 = { static void usage(void) { - fprintf(stderr, "Usage: %s [-V] [-g] [-i] source target\n", progname); + fprintf(stderr, "Usage: %s [-V] [-g] [-i] [-l logdev] source target\n", + progname); exit(1); } @@ -453,7 +454,7 @@ main( progname = basename(argv[0]); - while ((c = getopt(argc, argv, "giV")) != EOF) { + while ((c = getopt(argc, argv, "gil:V")) != EOF) { switch (c) { case 'g': mdrestore.show_progress = 1; @@ -461,6 +462,9 @@ main( case 'i': mdrestore.show_info = 1; break; + case 'l': + logdev = optarg; + break; case 'V': printf("%s version %s\n", progname, VERSION); exit(0); @@ -493,6 +497,8 @@ main( } if (mdrestore_ops_v1.read_header(&mb, src_f) == 0) { + if (logdev != NULL) + usage(); mdrestore.mdrops = &mdrestore_ops_v1; header = &mb; } else if (mdrestore_ops_v2.read_header(&xmh, src_f) == 0) { -- 2.39.1