У меня есть плата под управлением Linux (RedHat, ядро: 2.4.32). Доска работает уже давно. Однако внезапно в журналах наблюдаются некоторые ошибки, и Compact Flash (присутствует на плате) монтируется как доступный только для чтения.
Вот соответствующие журналы:
1) Из вывода "dmesg":
hda: write_intr error1: nr_sectors=2, stat=0x51
hda: write_intr: status=0x51 { DriveReady SeekComplete Error }
hda: write_intr: error=0x80 { BadSector }, LBAsect=35344, sector=33360
end_request: I/O error, dev 03:01 (hda), sector 33360
journal_bmap: journal block not found at offset 3191 on ide0(3,1)
Aborting journal on device ide0(3,1).
hda: write_intr error1: nr_sectors=2, stat=0x51
hda: write_intr: status=0x51 { DriveReady SeekComplete Error }
hda: write_intr: error=0x80 { BadSector }, LBAsect=2534, sector=550
end_request: I/O error, dev 03:01 (hda), sector 550
ext3_abort called.
EXT3-fs abort (device ide0(3,1)): ext3_journal_start: Detected aborted journal
Remounting filesystem read-only
EXT3-fs error (device ide0(3,1)) in start_transaction: Journal has aborted
2) "mount" подтверждает, что информация CF смонтирована как доступная только для чтения:
/dev/hda1 on /mnt/compactFlash type ext3 (ro,mand,noatime,nodiratime)
Обычно это должно быть чтение-запись (rw).
3) В системном журнале я наблюдаю ошибки, связанные с ошибкой ввода-вывода:
kernel: EXT3-fs unexpected failure: (((jh2bh(jh))->b_state & (1UL << BH_Uptodate)) != 0);
kernel: Possible IO failure.
kernel: EXT3-fs unexpected failure: (((jh2bh(jh))->b_state & (1UL << BH_Uptodate)) != 0);
kernel: Possible IO failure.
Я нашел эту ошибку в google, (Почтовые архивы RedHat) и e2fsck. Итак, я выполнил fsck, однако он попытался исправить множество ошибок, но многие из моих файлов на флеш-памяти оказались потерянными + найденными, и плата не загружалась после следующего перезапуска.
Какие-либо предложения?
Замените карту Compact Flash. Возможно, она сломана.
Приобретите новую карту CompactFlash вместо мертвой карты. Они не длятся вечно, и судя по звуку, срок полезного использования этого почти наверняка истек.
Как говорили другие, замените карту. Compact Flash имеют очень ограниченная жизнь записи. Если вы должны использовать его, убедитесь, что вы используете его только для чтения, если это возможно. Многие системы, использующие компактные флэш-карты, используют ramdisk для энергозависимых данных и записывают на карту только тогда, когда система проходит полное завершение работы, чтобы быть прочитанными и помещенными обратно в ramdisk после перезагрузки.