Re: [PATCH v9] block: cancel all throttled bios in del_gendisk()

From: Ming Lei
Date: Tue Mar 01 2022 - 19:51:18 EST


On Tue, Mar 01, 2022 at 09:54:28PM +0800, yukuai (C) wrote:
> 在 2022/03/01 18:29, Ming Lei 写道:
> > On Mon, Feb 28, 2022 at 01:40:53AM -0800, Christoph Hellwig wrote:
> > > On Mon, Feb 28, 2022 at 02:11:30PM +0800, Ming Lei wrote:
> > > > > FYI, this crashed left rigt and center when running xfstests with
> > > > > traces pointing to throtl_pending_timer_fn.
> > > >
> > > > Can you share the exact xfstests test(fs, test)? Or panic log?
> > > >
> > > > I can't reproduce it when running './check -g auto' on XFS, meantime
> > > > tracking throtl_pending_timer_fn().
> > >
> > > From a quick run using f2fs:
> > >
> > > generic/081 files ... [ 316.487861] run fstests generic/081 at 2022-02-28 09:38:40
> >
> > Thanks for providing the reproducer.
> >
> > The reason is that the pending timer is deleted in blkg's release
> > handler, so the timer can still be live after request queue is released.
> >
> > The patch of 'block: cancel all throttled bios in del_gendisk()' should just
> > make it easier to trigger.
> >
> > After patch of "block: move blkcg initialization/destroy into disk allocation/
> > release handler" lands, the issue can be fixed easily by:
>
> Hi,
>
> Thanks for locating this problem,
>
> Perhaps this patch should wait for the problem to be solved.

BTW, please see the top 3 patches in the following tree:

https://github.com/ming1/linux/commits/my_v5.18-pre-rc

xfstests generic/081 can run for hours without problems, without the fix,
the crash can be triggered in 10 minutes.


Thanks,
Ming