summaryrefslogtreecommitdiffstats
path: root/README
diff options
context:
space:
mode:
authorLars Ellenberg2016-06-14 00:26:26 +0200
committerJens Axboe2016-06-14 05:43:06 +0200
commit7bd000cb0c6f7edf159993cd772206d36599e822 (patch)
tree77037819292590cf49d15dac4a9c8248be15b23a /README
parentdrbd: introduce unfence-peer handler (diff)
downloadkernel-qcow2-linux-7bd000cb0c6f7edf159993cd772206d36599e822.tar.gz
kernel-qcow2-linux-7bd000cb0c6f7edf159993cd772206d36599e822.tar.xz
kernel-qcow2-linux-7bd000cb0c6f7edf159993cd772206d36599e822.zip
drbd: don't forget error completion when "unsuspending" IO
Possibly sequence of events: SyncTarget is made Primary, then loses replication link (only path to good data on SyncSource). Behavior is then controlled by the on-no-data-accessible policy, which defaults to OND_IO_ERROR (may be set to OND_SUSPEND_IO). If OND_IO_ERROR is in fact the current policy, we clear the susp_fen (IO suspended due to fencing policy) flag, do NOT set the susp_nod (IO suspended due to no data) flag. But we forgot to call the IO error completion for all pending, suspended, requests. While at it, also add a race check for a theoretically possible race with a new handshake (network hickup), we may be able to re-send requests, and can avoid passing IO errors up the stack. 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>
Diffstat (limited to 'README')
0 files changed, 0 insertions, 0 deletions