[issue1642] hammer v2 mirror-copy + pfs-upgrade + pfs-downgrade makes data unavail
dillon at apollo.backplane.com
Tue Jan 5 11:16:35 PST 2010
:(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.
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
More information about the Bugs