blk-mq: release scheduler resource when request completes
[linux-2.6-block.git] / block / elevator.c
index 8400e303fbcbd6d4e0e4371aa990e021bedb24a6..5ff093cb3cf8f5221b01e7bd57229e7582d8d3b9 100644 (file)
@@ -499,6 +499,9 @@ void elv_unregister_queue(struct request_queue *q)
 
 int elv_register(struct elevator_type *e)
 {
+       /* finish request is mandatory */
+       if (WARN_ON_ONCE(!e->ops.finish_request))
+               return -EINVAL;
        /* insert_requests and dispatch_request are mandatory */
        if (WARN_ON_ONCE(!e->ops.insert_requests || !e->ops.dispatch_request))
                return -EINVAL;