[<prev] [next>] [<thread-prev] [thread-next>] [day] [month] [year] [list]
Message-ID: <Pine.LNX.4.44L0.1810301005200.1515-100000@iolanthe.rowland.org>
Date: Tue, 30 Oct 2018 10:08:13 -0400 (EDT)
From: Alan Stern <stern@...land.harvard.edu>
To: "Zengtao (B)" <prime.zeng@...ilicon.com>
cc: "jejb@...ux.vnet.ibm.com" <jejb@...ux.vnet.ibm.com>,
"martin.petersen@...cle.com" <martin.petersen@...cle.com>,
"gregkh@...uxfoundation.org" <gregkh@...uxfoundation.org>,
"linux-scsi@...r.kernel.org" <linux-scsi@...r.kernel.org>,
"linux-kernel@...r.kernel.org" <linux-kernel@...r.kernel.org>,
"linux-usb@...r.kernel.org" <linux-usb@...r.kernel.org>,
"usb-storage@...ts.one-eyed-alien.net"
<usb-storage@...ts.one-eyed-alien.net>
Subject: Re: scsi_set_medium_removal timeout issue
On Tue, 30 Oct 2018, Zengtao (B) wrote:
> Hi
>
> I have recently met a scsi_set_medium_removal timeout issue, and it's related
> to both SCSI and USB MASS storage.
> Since i am not an expert in either scsi or usb mass storage, i am writing to report
> the issue and ask for a solution from you guys.
>
> My test scenario is as follow:
> 1.Linux HOST-----Linux mass storage gadget(the back store is a flash partition).
> 2.Host mount the device.
> 3.Host writes some data to the Mass storage device.
> 4.Host Unmount the device.
> Both Linux kernels(Host and Device) are Linux 4.9.
> Some has reported the same issue a long time ago, but it remains there.
> https://www.spinics.net/lists/linux-usb/msg53739.html
>
> For the issue itself, there is my observation:
> In the step 4, the Host will issue an PREVENT_ALLOW_MEDIUM_REMOVAL scsi command.
> and and timeout happens due to the device 's very slow fsg_lun_fsync_sub.
Something is wrong here. Before sending PREVENT-ALLOW MEDIUM
REMOVAL, the host should issue SYNCHRONIZE CACHE. This will force
fsg_lun_fsync_sub to run, and the host should allow a long timeout for
this command. Then when PREVENT-ALLOW MEDIUM REMOVAL is sent, nothing
will need to be flushed.
Alan Stern
> I found there are two methods to workaround the issue:
> 1. Change the timeout value of host scsi command PREVENT_ALLOW_MEDIUM_REMOVAL to
> to about 60 seconds from 10 seconds.
> 2. Remove the fsg_lun_fsync_sub in the device's Mass storage gadget driver.
>
> Thanks
>
> Regards
> zentao
Powered by blists - more mailing lists