|
@@ -317,6 +317,9 @@ struct request {
|
|
|
*/
|
|
|
rq_end_io_fn *end_io;
|
|
|
void *end_io_data;
|
|
|
+
|
|
|
+ /* for bidi */
|
|
|
+ struct request *next_rq;
|
|
|
};
|
|
|
|
|
|
/*
|
|
@@ -486,6 +489,7 @@ struct request_queue
|
|
|
#define QUEUE_FLAG_REENTER 6 /* Re-entrancy avoidance */
|
|
|
#define QUEUE_FLAG_PLUGGED 7 /* queue is plugged */
|
|
|
#define QUEUE_FLAG_ELVSWITCH 8 /* don't use elevator, just do FIFO */
|
|
|
+#define QUEUE_FLAG_BIDI 9 /* queue supports bidi requests */
|
|
|
|
|
|
enum {
|
|
|
/*
|
|
@@ -550,6 +554,7 @@ enum {
|
|
|
#define blk_sorted_rq(rq) ((rq)->cmd_flags & REQ_SORTED)
|
|
|
#define blk_barrier_rq(rq) ((rq)->cmd_flags & REQ_HARDBARRIER)
|
|
|
#define blk_fua_rq(rq) ((rq)->cmd_flags & REQ_FUA)
|
|
|
+#define blk_bidi_rq(rq) ((rq)->next_rq != NULL)
|
|
|
|
|
|
#define list_entry_rq(ptr) list_entry((ptr), struct request, queuelist)
|
|
|
|