On Tue, Feb 21, 2017 at 06:09:50PM +0100, Jan Kara wrote: > congested->bdi pointer is used only to be able to remove congested > structure from bdi->cgwb_congested_tree on structure release. Moreover > the pointer can become NULL when we unregister the bdi. Rename the field > to __bdi and add a comment to make it more explicit this is internal > stuff of memcg writeback code and people should not use the field as > such use will be likely race prone. > > We do not bother with converting congested->bdi to a proper refcounted > reference. It will be slightly ugly to special-case bdi->wb.congested to > avoid effectively a cyclic reference of bdi to itself and the reference > gets cleared from bdi_unregister() making it impossible to reference > a freed bdi. > > Signed-off-by: Jan Kara <jack@xxxxxxx> Acked-by: Tejun Heo <tj@xxxxxxxxxx> Thanks. -- tejun