diff options
author | Eric Sandeen <sandeen@redhat.com> | 2012-10-18 23:02:05 -0500 |
---|---|---|
committer | Ben Myers <bpm@sgi.com> | 2012-11-02 12:21:17 -0500 |
commit | b7af332bfdd208a563186f847dfce2eeb1e75669 (patch) | |
tree | 9ad03bc3ffb5d123371efd87571781bbd93a6268 | |
parent | e431c649e5d0824b1776fbe3acfaa923f5c5ac43 (diff) | |
download | xfsdump-dev-b7af332bfdd208a563186f847dfce2eeb1e75669.tar.gz |
xfsdump: fill in bs_forkoffv3.1.1-rc2v3.1.1
Upstream, the structure containing bs_forkoff is actually zeroed
prior to these functions, but when pulling the patch back to an
older xfsdump, we got checksum errors due to an uninitialized
bs_forkoff not matching in dump vs. restore.
So even though forkoff won't be explicitly restored from
a dump, do explicitly set it in these routines to keep checksums
happy.
This fixes 'bad header checksum' errors in xfsrestore, which were
introduced by commit 1e309da7.
Signed-off-by: Eric Sandeen <sandeen@redhat.com>
Reviewed-by: Christoph Hellwig <hch@lst.de>
Signed-off-by: Ben Myers <bpm@sgi.com>
-rw-r--r-- | common/arch_xlate.c | 1 | ||||
-rw-r--r-- | dump/content.c | 1 |
2 files changed, 2 insertions, 0 deletions
diff --git a/common/arch_xlate.c b/common/arch_xlate.c index e42abd51..bafc1a6c 100644 --- a/common/arch_xlate.c +++ b/common/arch_xlate.c @@ -377,6 +377,7 @@ xlate_bstat(bstat_t *bs1, bstat_t *bs2, int dir) IXLATE(bs1, bs2, bs_extents); IXLATE(bs1, bs2, bs_gen); IXLATE(bs1, bs2, bs_projid_lo); + IXLATE(bs1, bs2, bs_forkoff); IXLATE(bs1, bs2, bs_projid_hi); IXLATE(bs1, bs2, bs_dmevmask); IXLATE(bs1, bs2, bs_dmstate); diff --git a/dump/content.c b/dump/content.c index ec5e9540..9a36fe10 100644 --- a/dump/content.c +++ b/dump/content.c @@ -4928,6 +4928,7 @@ copy_xfs_bstat(bstat_t *dst, xfs_bstat_t *src) dst->bs_extents = src->bs_extents; dst->bs_gen = src->bs_gen; dst->bs_projid_lo = src->bs_projid_lo; + dst->bs_forkoff = src->bs_forkoff; dst->bs_projid_hi = src->bs_projid_hi; dst->bs_dmevmask = src->bs_dmevmask; dst->bs_dmstate = src->bs_dmstate; |