Make sense. Thanks Adrian. - Liming > -----Original Message----- > From: Adrian Hunter <adrian.hunter@xxxxxxxxx> > Sent: Monday, May 13, 2024 12:59 AM > To: Liming Sun <limings@xxxxxxxxxx> > Cc: linux-mmc <linux-mmc@xxxxxxxxxxxxxxx> > Subject: Re: Question about mmc_blk_issue_flush() failure and recovery in > Linux kernel > > On 13/05/24 05:47, Liming Sun wrote: > > Please cc linux-mmc mailing list. Others may be able to help > or have similar issues. > > > I saw that Linux emmc/block has recovery mechanism, but somehow a path > like below doesn’t seem to trigger it. > > > > [ 285.858838] mmc0: cache flush error -110 > > Cache flush error means any data in the cache will be lost. > > Generally, this is already unacceptable i.e. recovery from > here is not a priority because we shouldn't get here. > > Also the file system may be corrupt, and there doesn't seem > to be anything the mmc subsystem can do about that. > > > [ 285.862776] blk_update_request: I/O error, dev mmcblk0, sector > 42002577 op 0x1:(WRITE) flags 0x29800 phys_seg 1 prio class 0 > > [ 285.874006] XFS (mmcblk0p3): log I/O error -5 > > [ 285.878369] XFS (mmcblk0p3): Log I/O Error Detected. Shutting down > filesystem > > [ 285.885489] XFS (mmcblk0p3): Please unmount the filesystem and rectify > the problem(s) > > To recovery from here probably means > unmount the file system > fix it > unbind and rebind the eMMC host controller > > > From the code, it might be called from mmc_blk_mq_issue_rq() à > MMC_ISSUE_SYNC/REQ_OP_FLUSH à mmc_blk_issue_flush() which fails. > > > > Would it make sense to trigger emmc recovery for this path or any > suggestion how to do it? > > Generally the priority would be preventing the cache > flush error. To start with, identify what is causing > it.