On Wed, 2017-03-08 at 17:55 -0500, Tejun Heo wrote:
> Hello,
> 
> On Wed, Mar 08, 2017 at 05:48:31PM +0100, Jan Kara wrote:
> > @@ -710,6 +710,11 @@ static void cgwb_bdi_destroy(struct
> > backing_dev_info *bdi)
> >      */
> >     atomic_dec(&bdi->usage_cnt);
> >     wait_event(cgwb_release_wait, !atomic_read(&bdi
> > ->usage_cnt));
> > +   /*
> > +    * Grab back our reference so that we hold it when @bdi
> > gets
> > +    * re-registered.
> > +    */
> > +   atomic_inc(&bdi->usage_cnt);
> 
> So, this is more re-initializing the ref to the initial state so that
> it can be re-used, right?  Maybe ATOMIC_INIT() is a better choice 
> here just to clarify what's going on?

Seconded.  Eventually this is going to get converted to a refcount_t
and it will dump a spurious warning on the 0->1 transition.  We can
avoid that by making this a proper initialization.

James


Reply via email to