DragonFly BSD
DragonFly bugs List (threaded) for 2010-01
[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]

Re: [issue1642] hammer v2 mirror-copy + pfs-upgrade + pfs-downgrade makes data unavail


From: Matthew Dillon <dillon@xxxxxxxxxxxxxxxxxxxx>
Date: Tue, 5 Jan 2010 11:13:18 -0800 (PST)

: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




[Date Prev][Date Next]  [Thread Prev][Thread Next]  [Date Index][Thread Index]