Re: [PATCH v2] blk-cgroup: remove entries in blkg_tree before queue release

From: tj@xxxxxxxxxx
Date: Wed Apr 11 2018 - 16:02:54 EST


On Wed, Apr 11, 2018 at 08:00:29PM +0000, Bart Van Assche wrote:
> On Wed, 2018-04-11 at 12:57 -0700, tj@xxxxxxxxxx wrote:
> > On Wed, Apr 11, 2018 at 01:55:25PM -0600, Bart Van Assche wrote:
> > > On 04/11/18 13:00, Alexandru Moise wrote:
> > > > But the root cause of it is in blkcg_init_queue() when blkg_create() returns
> > > > an ERR ptr, because it tries to insert into a populated index into blkcg->blkg_tree,
> > > > the entry that we fail to remove at __blk_release_queue().
> > >
> > > Hello Alex,
> > >
> > > Had you considered something like the untested patch below?
> >
> > But queue init shouldn't fail here, right?
>
> Hello Tejun,
>
> Your question is not entirely clear to me. Are you referring to the atomic
> allocations in blkg_create() or are you perhaps referring to something else?

Hmm.. maybe I'm confused but I thought that the fact that
blkcg_init_queue() fails itself is already a bug, which happens
because a previously destroyed queue left behind blkgs.

Thanks.

--
tejun