@@ -5,6 +5,9 @@ xfs_mdrestore \- restores an XFS metadump image to a filesystem image
.B xfs_mdrestore
[
.B \-gi
+] [
+.B \-l
+.I logdev
]
.I source
.I target
@@ -49,6 +52,11 @@ Shows metadump information on stdout. If no
is specified, exits after displaying information. Older metadumps man not
include any descriptive information.
.TP
+.B \-l " logdev"
+Metadump in v2 format can contain metadata dumped from an external log.
+In such a scenario, the user has to provide a device to which the log device
+contents from the metadump file are copied.
+.TP
.B \-V
Prints the version number and exits.
.SH DIAGNOSTICS
@@ -459,7 +459,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);
}
@@ -484,7 +485,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 = true;
@@ -492,6 +493,10 @@ main(
case 'i':
mdrestore.show_info = true;
break;
+ case 'l':
+ logdev = optarg;
+ mdrestore.external_log = true;
+ break;
case 'V':
printf("%s version %s\n", progname, VERSION);
exit(0);
@@ -528,6 +533,8 @@ main(
switch (be32_to_cpu(headers.magic)) {
case XFS_MD_MAGIC_V1:
+ if (logdev != NULL)
+ usage();
mdrestore.mdrops = &mdrestore_ops_v1;
break;