У меня есть специальное флэш-устройство, где каждая запись в физический блок должна быть проверена (хотя я не обращаюсь к нему как mtd). Потому что физический блок всегда мигает, но запись данных не всегда работает.
Так что это означает, что если я выполню простую непроверенную копию следующим образом:

dd if=backup of=/dev/sdb1

У меня будет меньшинство блоков, где запись была бы успешной, и большинство, где было бы успешным только мигание (что означает, что некоторые блоки остались заполненными 0xFF).
Простая повторная попытка выполнения команды не работает, потому что dd также переписывает успешные блоки, что означает, что некоторые предыдущие записи будут преобразованы в неудачные записи (блок с ранее действительными данными будет мигать, но запись не удастся, что приведет к заполнению 0xFF).

Таким образом, мое блочное устройство должно обрабатываться с проверенной копией: после каждого доступа к записи блок должен сравниваться с to be copied data и запись данных в такой блок должна повторяться до успешного завершения для обработки следующего блока.

0