2011-06-27 06:54:34

by Shaohua Li

[permalink] [raw]
Subject: [patch 2/2]cfq-iosched: make code consistent

ioc->ioc_data is rcu protectd, so uses correct API to access it.
This doesn't change any behavior, but just make code consistent.

Signed-off-by: Shaohua Li <[email protected]>

diff --git a/block/cfq-iosched.c b/block/cfq-iosched.c
index f379943..ae21919 100644
--- a/block/cfq-iosched.c
+++ b/block/cfq-iosched.c
@@ -3084,7 +3087,8 @@ cfq_drop_dead_cic(struct cfq_data *cfqd, struct io_context *ioc,

spin_lock_irqsave(&ioc->lock, flags);

- BUG_ON(ioc->ioc_data == cic);
+ BUG_ON(rcu_dereference_check(ioc->ioc_data,
+ lockdep_is_held(&ioc->lock)) == cic);

radix_tree_delete(&ioc->radix_root, cfqd->cic_index);
hlist_del_rcu(&cic->cic_list);


2011-06-27 07:03:43

by Jens Axboe

[permalink] [raw]
Subject: Re: [patch 2/2]cfq-iosched: make code consistent

On 2011-06-27 08:52, Shaohua Li wrote:
> ioc->ioc_data is rcu protectd, so uses correct API to access it.
> This doesn't change any behavior, but just make code consistent.

Thanks, applied both of these.

--
Jens Axboe