Re: [PATCH V2] blkio: Fix blkio crash during rq stat update

Jens Axboe
2010-04-21T15:41:06Z

On Wed, Apr 21 2010, Vivek Goyal wrote:
> @@ -1001,6 +1002,11 @@ static struct cfq_group *cfq_get_cfqg(struct cfq_data *cfqd, int create)
> return cfqg;
> }
>
> +static inline struct cfq_group *cfq_ref_get_cfqg(struct cfq_group *cfqg) {
> + atomic_inc(&cfqg->ref);
> + return cfqg;
> +}
> +

Sorry to keep harping on this - style is still wrong, and:

> @@ -3560,6 +3574,9 @@ new_queue:
>
> rq->elevator_private = cic;
> rq->elevator_private2 = cfqq;
> + rq->elevator_private3 = cfqq->cfqg;
> + /* rq reference on cfqg */
> + cfq_ref_get_cfqg(RQ_CFQG(rq));
> return 0;

should be

/* hold a reference to the cfqg */
rq->elevator_private3 = cfq_ref_get_cfqg(cfqq->cfqg);

--
Jens Axboe