Re: [PATCH] USB: core: hub: fix usb_hub worker blocking drain_all_pages() worker issue

From: Alan Stern
Date: Mon Feb 06 2023 - 10:18:08 EST


On Mon, Feb 06, 2023 at 11:33:15AM +0800, 朱忠杰 wrote:
> Yes, this is a very special case.
>
> It will happen only when disconnecting the mass storage if there are
> too many files in the storage, and the scanning operation is running,
> and the file system is not unmounted.
> It looks like this issue should be fixed in the usb mass storage
> driver, but I don't find an appropriate place.

That's not surprising, because usb-storage doesn't know anything about
what's happening on the mass-storage device it connects to. All it does
is send the commands that it gets from the SCSI subsystem to the device
and receive the results back. It has no idea whether there is a mounted
filesystem on the device, if the filesystem contains any files, or
whether a scanning operation is running,

A better place to look for fixing this might be the filesystem code.
That's where the information about mounting, files, and scanning can be
found.

Alan Stern