aboutsummaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorChandan Babu R <chandan.babu@oracle.com>2023-11-06 18:40:39 +0530
committerCarlos Maiolino <cem@kernel.org>2023-11-21 14:09:36 +0100
commit1e4702774a2d1e78d81cb63b5f4338625ea7cea2 (patch)
tree209e6bee3d7b31709e7f46fc96a545e583670ed9
parenteba3f43eb8e4a220918af5e19c2ac76df70df154 (diff)
downloadxfsprogs-dev-1e4702774a2d1e78d81cb63b5f4338625ea7cea2.tar.gz
metadump: Postpone invocation of init_metadump()
The metadump v2 initialization function (introduced in a later commit) writes the header structure into the metadump file. This will require the program to open the metadump file before the initialization function has been invoked. Reviewed-by: "Darrick J. Wong" <djwong@kernel.org> Signed-off-by: Chandan Babu R <chandan.babu@oracle.com> Signed-off-by: Carlos Maiolino <cem@kernel.org>
-rw-r--r--db/metadump.c11
1 files changed, 6 insertions, 5 deletions
diff --git a/db/metadump.c b/db/metadump.c
index 8d921500d8..24f0b41fda 100644
--- a/db/metadump.c
+++ b/db/metadump.c
@@ -2805,10 +2805,6 @@ metadump_f(
pop_cur();
}
- ret = init_metadump();
- if (ret)
- return 0;
-
start_iocur_sp = iocur_sp;
if (strcmp(argv[optind], "-") == 0) {
@@ -2853,6 +2849,10 @@ metadump_f(
}
}
+ ret = init_metadump();
+ if (ret)
+ goto out;
+
exitcode = 0;
for (agno = 0; agno < mp->m_sb.sb_agcount; agno++) {
@@ -2890,8 +2890,9 @@ metadump_f(
/* cleanup iocur stack */
while (iocur_sp > start_iocur_sp)
pop_cur();
-out:
+
release_metadump();
+out:
return 0;
}