Re: [PATCH] spi-nor: Verify written data in paranoid mode
From: Richard Weinberger
Date: Wed Apr 16 2025 - 14:42:13 EST
----- Ursprüngliche Mail -----
> Von: "Csókás Bence" <csokas.bence@xxxxxxxxx>
>> I'm not so sure whether it makes sense at all.
>> In it's current form, there is no recovery. So anything non-trivial
>> on top of the MTD will just see an -EIO and has to give up.
>> E.g. a filesystem will remount read-only.
>
> In our case, we use UBIFS on top of UBI, which in this case chooses
> another eraseblock to hold the data instead, then re-tests (erase+write
> cycles) the one which gave -EIO. Since the bus error is only transient,
> it goes away by this time, and thus UBIFS will recover from this cleanly.
Are you sure about that?
I'd expect UBI to go into RO mode via a call path like:
ubi_eba_write_leb() -> ubi_io_write() -> mtd_write()
If mtd_write() returns an EIO, UBI will go into RO mode immediately.
(I'm assuming, your SPI-NOR has no bad block support, so ubi->bad_allowed
is false).
Thanks,
//richard