Commit 159b5855 authored by Andrew Morton's avatar Andrew Morton Committed by David S. Miller

[PATCH] deadline IO scheduler dispatching fix

Patch from Nick Piggin <piggin@cyberone.com.au>

Closes a window in which we can get an invalid (already dispatched) request
in the next_drq cache.

This fixed an oops which was reported by Janet Morgan.
parent 361b3b62
...@@ -98,7 +98,7 @@ struct deadline_rq { ...@@ -98,7 +98,7 @@ struct deadline_rq {
unsigned long expires; unsigned long expires;
}; };
static inline void deadline_move_to_dispatch(struct deadline_data *dd, struct deadline_rq *drq); static void deadline_move_request(struct deadline_data *dd, struct deadline_rq *drq);
static kmem_cache_t *drq_pool; static kmem_cache_t *drq_pool;
...@@ -205,7 +205,7 @@ deadline_add_drq_rb(struct deadline_data *dd, struct deadline_rq *drq) ...@@ -205,7 +205,7 @@ deadline_add_drq_rb(struct deadline_data *dd, struct deadline_rq *drq)
return; return;
} }
deadline_move_to_dispatch(dd, __alias); deadline_move_request(dd, __alias);
goto retry; goto retry;
} }
......
Markdown is supported
0%
or
You are about to add 0 people to the discussion. Proceed with caution.
Finish editing this message first!
Please register or to comment