1. 07 5月, 2008 1 次提交
    • J
      cfq-iosched: fix RCU race in the cfq io_context destructor handling · 07416d29
      Jens Axboe 提交于
      put_io_context() drops the RCU read lock before calling into cfq_dtor(),
      however we need to hold off freeing there before grabbing and
      dereferencing the first object on the list.
      
      So extend the rcu_read_lock() scope to cover the calling of cfq_dtor(),
      and optimize cfq_free_io_context() to use a new variant for
      call_for_each_cic() that assumes the RCU read lock is already held.
      
      Hit in the wild by Alexey Dobriyan <adobriyan@gmail.com>
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      07416d29
  2. 19 2月, 2008 2 次提交
  3. 01 2月, 2008 1 次提交
    • J
      block: kill swap_io_context() · 3bc217ff
      Jens Axboe 提交于
      It blindly copies everything in the io_context, including the lock.
      That doesn't work so well for either lock ordering or lockdep.
      
      There seems zero point in swapping io contexts on a request to request
      merge, so the best point of action is to just remove it.
      Signed-off-by: NJens Axboe <jens.axboe@oracle.com>
      3bc217ff
  4. 30 1月, 2008 1 次提交