[issue1642] hammer v2 mirror-copy + pfs-upgrade + pfs-downgrade makes data unavail
Matthew Dillon
dillon at apollo.backplane.com
Tue Jan 5 11:16:35 PST 2010
:commit ec61b2892719413e2fd52a677fc9a1d05d09d59a
:(DragonFly_RELEASE_2_4 HAMMER - Fix root inode creation for slave)
:isn't included on dst (build the day before it was committed);
:I'm not sure if it is included on src (info is in git repo I can't access).
:
:Any chance to get my data back?
:
:I haven't updated src HAMMER file system since problem.
:These data aren't critical (some local changes); do have checkout.
:
: -thomas
Woa. That's a serious bug. I think the data is probably gone.
I reproduced it immediately on my test box.
The bug is in how sync_end_tid (in the PFS staus) is being handled.
The field is not touched for a PFS master and can become stale.
When you downgraded to a slave the stale value was left intact
which made the slave inaccessible. Then when you upgraded to a
master again the PFS upgrade code rolled back the B-Tree to the
state as-of sync_end_tid, which was still a stale value.
When you upgraded the destination after the mirroring operation the
sync_end_tid was already set properly due to the mirroring operation,
so that upgrade should have worked.
I will fix the bug right now. Basically I have to properly update
sync_end_tid in the PFS status when downgrading a PFS or bad things
happen.
-Matt
More information about the Bugs
mailing list