• Lars Ellenberg's avatar
    drbd: bump current uuid when resuming IO with diskless peer · 20004e24
    Lars Ellenberg authored
    Scenario, starting with normal operation
     Connected Primary/Secondary UpToDate/UpToDate
     NetworkFailure Primary/Unknown UpToDate/DUnknown (frozen)
     ... more failures happen, secondary loses it's disk,
     but eventually is able to re-establish the replication link ...
     Connected Primary/Secondary UpToDate/Diskless (resumed; needs to bump uuid!)
    
    We used to just resume/resent suspended requests,
    without bumping the UUID.
    
    Which will lead to problems later, when we want to re-attach the disk on
    the peer, without first disconnecting, or if we experience additional
    failures, because we now have diverging data without being able to
    recognize it.
    
    Make sure we also bump the current data generation UUID,
    if we notice "peer disk unknown" -> "peer disk known bad".
    Signed-off-by: default avatarPhilipp Reisner <philipp.reisner@linbit.com>
    Signed-off-by: default avatarLars Ellenberg <lars.ellenberg@linbit.com>
    Signed-off-by: default avatarJens Axboe <axboe@fb.com>
    20004e24
drbd_state.c 72.5 KB