author | Jens Axboe <jaxboe@fusionio.com> | |
Tue, 19 Apr 2011 07:10:35 +0000 (09:10 +0200) | ||
committer | Jens Axboe <jaxboe@fusionio.com> | |
Tue, 19 Apr 2011 07:10:35 +0000 (09:10 +0200) | ||
commit | 5f45c69589b7d2953584e6cd0b31e35dbe960ad0 | |
tree | 7f920cebcbbe6a1435975e355cee15289ddbc428 | tree | snapshot (tar.xz tar.gz zip) |
parent | bd900d4580107c899d43b262fbbd995f11097a43 | commit | diff |
cfq-iosched: read_lock() does not always imply rcu_read_lock()
For some configurations of CONFIG_PREEMPT that is not true. So
get rid of __call_for_each_cic() and always uses the explicitly
rcu_read_lock() protected call_for_each_cic() instead.
This fixes a potential bug related to IO scheduler removal or
online switching.
Thanks to Paul McKenney for clarifying this.
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
For some configurations of CONFIG_PREEMPT that is not true. So
get rid of __call_for_each_cic() and always uses the explicitly
rcu_read_lock() protected call_for_each_cic() instead.
This fixes a potential bug related to IO scheduler removal or
online switching.
Thanks to Paul McKenney for clarifying this.
Signed-off-by: Jens Axboe <jaxboe@fusionio.com>
block/cfq-iosched.c | diff | blob | history |