summaryrefslogtreecommitdiffstats
path: root/drivers/block/drbd/drbd_req.h
diff options
context:
space:
mode:
authorAndreas Gruenbacher2011-01-27 14:12:23 +0100
committerPhilipp Reisner2011-09-28 10:26:29 +0200
commita500c2efbbb3a57f83e18382e927b18513aca4cd (patch)
treec298951b9228729fb939747e651a928af5469631 /drivers/block/drbd/drbd_req.h
parentdrbd: Move some functions to where they are used (diff)
downloadkernel-qcow2-linux-a500c2efbbb3a57f83e18382e927b18513aca4cd.tar.gz
kernel-qcow2-linux-a500c2efbbb3a57f83e18382e927b18513aca4cd.tar.xz
kernel-qcow2-linux-a500c2efbbb3a57f83e18382e927b18513aca4cd.zip
drbd: struct drbd_request: Introduce a new collision flag
This flag is set when a processes puts itself to sleep to wait for a conflicting request to complete. 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_req.h')
-rw-r--r--drivers/block/drbd/drbd_req.h7
1 files changed, 7 insertions, 0 deletions
diff --git a/drivers/block/drbd/drbd_req.h b/drivers/block/drbd/drbd_req.h
index 431e3f962c3a..7a7464a2b3a6 100644
--- a/drivers/block/drbd/drbd_req.h
+++ b/drivers/block/drbd/drbd_req.h
@@ -194,6 +194,12 @@ enum drbd_req_state_bits {
/* Should call drbd_al_complete_io() for this request... */
__RQ_IN_ACT_LOG,
+
+ /*
+ * Set when a processes puts itself to sleep to wait for this request
+ * to complete.
+ */
+ __RQ_COLLISION,
};
#define RQ_LOCAL_PENDING (1UL << __RQ_LOCAL_PENDING)
@@ -214,6 +220,7 @@ enum drbd_req_state_bits {
#define RQ_WRITE (1UL << __RQ_WRITE)
#define RQ_IN_ACT_LOG (1UL << __RQ_IN_ACT_LOG)
+#define RQ_COLLISION (1UL << __RQ_COLLISION)
/* For waking up the frozen transfer log mod_req() has to return if the request
should be counted in the epoch object*/