diff options
author | Darrick J. Wong <djwong@kernel.org> | 2023-12-20 08:53:45 -0800 |
---|---|---|
committer | Darrick J. Wong <djwong@kernel.org> | 2023-12-21 18:29:14 -0800 |
commit | c0c39802f70c3fedd1038742782c59e9a28ea7d1 (patch) | |
tree | 08b2ae10372c29d636f06ba6bcbc696b9c3a2bdb | |
parent | 14c6aa54a08028108d7e4fc7ed4287b51fda17df (diff) | |
download | xfsprogs-dev-c0c39802f70c3fedd1038742782c59e9a28ea7d1.tar.gz |
xfs_mdrestore: EXTERNALLOG is a compat value, not incompat
Fix this check to look at the correct header field.
Signed-off-by: Darrick J. Wong <djwong@kernel.org>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Reviewed-by: Chandan Babu R <chandanbabu@kernel.org>
-rw-r--r-- | mdrestore/xfs_mdrestore.c | 7 |
1 files changed, 3 insertions, 4 deletions
diff --git a/mdrestore/xfs_mdrestore.c b/mdrestore/xfs_mdrestore.c index 3190e07e47..1d65765da3 100644 --- a/mdrestore/xfs_mdrestore.c +++ b/mdrestore/xfs_mdrestore.c @@ -268,7 +268,7 @@ read_header_v2( union mdrestore_headers *h, FILE *md_fp) { - bool want_external_log; + unsigned int compat; if (fread((uint8_t *)&(h->v2) + sizeof(h->v2.xmh_magic), sizeof(h->v2) - sizeof(h->v2.xmh_magic), 1, md_fp) != 1) @@ -280,10 +280,9 @@ read_header_v2( if (h->v2.xmh_reserved != 0) fatal("Metadump header's reserved field has a non-zero value\n"); - want_external_log = !!(be32_to_cpu(h->v2.xmh_incompat_flags) & - XFS_MD2_COMPAT_EXTERNALLOG); + compat = be32_to_cpu(h->v2.xmh_compat_flags); - if (want_external_log && !mdrestore.external_log) + if (!mdrestore.external_log && (compat & XFS_MD2_COMPAT_EXTERNALLOG)) fatal("External Log device is required\n"); } |