xfs
[Top] [All Lists]

[PATCH] xfsdump: zero bs_forkoff, don't fill in the value

To: Ben Myers <bpm@xxxxxxx>
Subject: [PATCH] xfsdump: zero bs_forkoff, don't fill in the value
From: Eric Sandeen <sandeen@xxxxxxxxxxx>
Date: Tue, 08 Jan 2013 11:31:41 -0600
Cc: Fugazzi99 <fugazzi99@xxxxxxxxx>, Stan Hoeppner <stan@xxxxxxxxxxxxxxxxx>, xfs@xxxxxxxxxxx
In-reply-to: <50EC567E.2020607@xxxxxxxxxxx>
References: <50EB2073.1040609@xxxxxxxxx> <50EB2814.2090500@xxxxxxxxxxx> <50EB3268.2080004@xxxxxxxxxxx> <50EB3DF7.3010100@xxxxxxxxxxxxxxxxx> <20130107213739.GU27055@xxxxxxx> <50EC567E.2020607@xxxxxxxxxxx>
User-agent: Mozilla/5.0 (Macintosh; Intel Mac OS X 10.8; rv:17.0) Gecko/17.0 Thunderbird/17.0
In xfsdump 3.1.2 I explicitly added the bs_forkoff member
to this structure; I tried to be good and explicitly fill
in a value.  However, previously it was initialized to
zero, (by virtue of being missing) and now we're giving it
a value (which is ignored by restore, other than to checksum
it).

By putting in a non-zero value, I broke checksumming
when an xfsdump with a non-zero forkoff was restored
by an older xfsrestore that doesn't know about the field.
Fill in 0 to fix backwards compatibility.

Signed-off-by: Eric Sandeen <sandeen@xxxxxxxxxx>
Reported-by: Fugazzi99 <fugazzi99@xxxxxxxxx>
---

diff --git a/dump/content.c b/dump/content.c
index 9a36fe1..ac19021 100644
--- a/dump/content.c
+++ b/dump/content.c
@@ -4928,7 +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_forkoff = 0;
        dst->bs_projid_hi = src->bs_projid_hi;
        dst->bs_dmevmask = src->bs_dmevmask;
        dst->bs_dmstate = src->bs_dmstate;

<Prev in Thread] Current Thread [Next in Thread>