OpenCloudOS-Kernel/drivers/block/drbd
Lars Ellenberg 20004e2435 drbd: bump current uuid when resuming IO with diskless peer
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: Philipp Reisner <philipp.reisner@linbit.com>
Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Signed-off-by: Jens Axboe <axboe@fb.com>
2016-06-13 21:43:07 -06:00
..
Kconfig drbd: update Kconfig to match current dependencies 2012-12-06 13:08:29 +01:00
Makefile drbd: debugfs: add basic hierarchy 2014-07-10 18:35:16 +02:00
drbd_actlog.c drbd: introduce WRITE_SAME support 2016-06-13 21:43:07 -06:00
drbd_bitmap.c drbd: use bio op accessors 2016-06-07 13:41:38 -06:00
drbd_debugfs.c drbd: introduce WRITE_SAME support 2016-06-13 21:43:07 -06:00
drbd_debugfs.h drbd: debugfs: add basic hierarchy 2014-07-10 18:35:16 +02:00
drbd_int.h drbd: introduce WRITE_SAME support 2016-06-13 21:43:07 -06:00
drbd_interval.c drbd: use RB_DECLARE_CALLBACKS() to define augment callbacks 2014-09-18 09:00:17 -06:00
drbd_interval.h drbd: application writes may set-in-sync in protocol != C 2014-07-10 18:35:02 +02:00
drbd_main.c drbd: introduce WRITE_SAME support 2016-06-13 21:43:07 -06:00
drbd_nl.c drbd: introduce WRITE_SAME support 2016-06-13 21:43:07 -06:00
drbd_nla.c drbd: Remove drbd_wrappers.h 2014-04-30 13:46:54 -06:00
drbd_nla.h drbd: Split off netlink mandatory attribute handling into separate file 2012-11-08 16:57:45 +01:00
drbd_proc.c drbd: Move enum write_ordering_e to drbd.h 2015-11-25 09:22:00 -07:00
drbd_protocol.h drbd: introduce WRITE_SAME support 2016-06-13 21:43:07 -06:00
drbd_receiver.c drbd: sync_handshake: handle identical uuids with current (frozen) Primary 2016-06-13 21:43:07 -06:00
drbd_req.c drbd: introduce WRITE_SAME support 2016-06-13 21:43:07 -06:00
drbd_req.h drbd: introduce WRITE_SAME support 2016-06-13 21:43:07 -06:00
drbd_state.c drbd: bump current uuid when resuming IO with diskless peer 2016-06-13 21:43:07 -06:00
drbd_state.h drbd: Fix locking across all resources 2015-11-25 09:22:00 -07:00
drbd_state_change.h drbd: Backport the "events2" command 2015-11-25 09:22:00 -07:00
drbd_strings.c drbd: Move string function prototypes from linux/drbd.h to drbd_string.h 2014-02-17 16:50:37 +01:00
drbd_strings.h drbd: Move string function prototypes from linux/drbd.h to drbd_string.h 2014-02-17 16:50:37 +01:00
drbd_vli.h Fix common misspellings 2011-03-31 11:26:23 -03:00
drbd_worker.c drbd: introduce WRITE_SAME support 2016-06-13 21:43:07 -06:00