summaryrefslogtreecommitdiffstats
path: root/drivers/block/drbd/drbd_interval.h
diff options
context:
space:
mode:
authorLars Ellenberg <lars.ellenberg@linbit.com>2014-03-20 11:19:22 +0100
committerPhilipp Reisner <philipp.reisner@linbit.com>2014-07-10 18:35:02 +0200
commit08d0dabf48ccf55e310b8ae9381858b477cabe2e (patch)
treef59b53661650af6df67e71e958ca981ec0e2cdd6 /drivers/block/drbd/drbd_interval.h
parent5d0b17f1a29e8189d04aef447a3a53cfd05529b2 (diff)
downloadlinux-stable-08d0dabf48ccf55e310b8ae9381858b477cabe2e.tar.gz
linux-stable-08d0dabf48ccf55e310b8ae9381858b477cabe2e.tar.bz2
linux-stable-08d0dabf48ccf55e310b8ae9381858b477cabe2e.zip
drbd: application writes may set-in-sync in protocol != C
If "dirty" blocks are written to during resync, that brings them in-sync. By explicitly requesting write-acks during resync even in protocol != C, we now can actually respect this. Signed-off-by: Philipp Reisner <philipp.reisner@linbit.com> Signed-off-by: Lars Ellenberg <lars.ellenberg@linbit.com>
Diffstat (limited to 'drivers/block/drbd/drbd_interval.h')
-rw-r--r--drivers/block/drbd/drbd_interval.h4
1 files changed, 3 insertions, 1 deletions
diff --git a/drivers/block/drbd/drbd_interval.h b/drivers/block/drbd/drbd_interval.h
index f38fcb00c10d..f210543f05f4 100644
--- a/drivers/block/drbd/drbd_interval.h
+++ b/drivers/block/drbd/drbd_interval.h
@@ -10,7 +10,9 @@ struct drbd_interval {
unsigned int size; /* size in bytes */
sector_t end; /* highest interval end in subtree */
int local:1 /* local or remote request? */;
- int waiting:1;
+ int waiting:1; /* someone is waiting for this to complete */
+ int completed:1; /* this has been completed already;
+ * ignore for conflict detection */
};
static inline void drbd_clear_interval(struct drbd_interval *i)