block: move existing elevator ops to union
[sfrench/cifs-2.6.git] / block / blk.h
index 74444c49078fc7911289f9d8a65939399d8cb126..f46c0ac8ae3d8e40b6f5d912dac97dc5676aaa48 100644 (file)
@@ -111,6 +111,7 @@ void blk_account_io_done(struct request *req);
 enum rq_atomic_flags {
        REQ_ATOM_COMPLETE = 0,
        REQ_ATOM_STARTED,
+       REQ_ATOM_POLL_SLEPT,
 };
 
 /*
@@ -130,7 +131,7 @@ static inline void blk_clear_rq_complete(struct request *rq)
 /*
  * Internal elevator interface
  */
-#define ELV_ON_HASH(rq) ((rq)->cmd_flags & REQ_HASHED)
+#define ELV_ON_HASH(rq) ((rq)->rq_flags & RQF_HASHED)
 
 void blk_insert_flush(struct request *rq);
 
@@ -166,7 +167,7 @@ static inline struct request *__elv_next_request(struct request_queue *q)
                        return NULL;
                }
                if (unlikely(blk_queue_bypass(q)) ||
-                   !q->elevator->type->ops.elevator_dispatch_fn(q, 0))
+                   !q->elevator->type->ops.sq.elevator_dispatch_fn(q, 0))
                        return NULL;
        }
 }
@@ -175,16 +176,16 @@ static inline void elv_activate_rq(struct request_queue *q, struct request *rq)
 {
        struct elevator_queue *e = q->elevator;
 
-       if (e->type->ops.elevator_activate_req_fn)
-               e->type->ops.elevator_activate_req_fn(q, rq);
+       if (e->type->ops.sq.elevator_activate_req_fn)
+               e->type->ops.sq.elevator_activate_req_fn(q, rq);
 }
 
 static inline void elv_deactivate_rq(struct request_queue *q, struct request *rq)
 {
        struct elevator_queue *e = q->elevator;
 
-       if (e->type->ops.elevator_deactivate_req_fn)
-               e->type->ops.elevator_deactivate_req_fn(q, rq);
+       if (e->type->ops.sq.elevator_deactivate_req_fn)
+               e->type->ops.sq.elevator_deactivate_req_fn(q, rq);
 }
 
 #ifdef CONFIG_FAIL_IO_TIMEOUT
@@ -247,7 +248,7 @@ extern int blk_update_nr_requests(struct request_queue *, unsigned int);
 static inline int blk_do_io_stat(struct request *rq)
 {
        return rq->rq_disk &&
-              (rq->cmd_flags & REQ_IO_STAT) &&
+              (rq->rq_flags & RQF_IO_STAT) &&
                (rq->cmd_type == REQ_TYPE_FS);
 }