PDA

Просмотр полной версии : Контроль работоспособности OwenArchiver



okochurov
19.08.2020, 14:50
Здравствуйте!

Использую OwenArchiver для записи данных на SD-карту. Запись осуществляется нормально. Для контроля работоспособности архиватора связал свою переменную с "Кодом последней ошибки". По замыслу, если переменная будет отлична от нуля, загорится красная лампочка.

Проблема в том, что при извлечении карты код последней ошибки остается равен нулю, буфер записи не заполняется, а размер архива продолжает расти. То есть по всем признакам запись продолжается, а значит контроль работоспособности сам не работает. С USB-флешкой такой проблемы нет. При отключении флешки индицируется ошибка, ошибка пропадает при подключении флешки.

Вопрос. Почему так происходит и как в реальном времени проконтролировать работоспособность архиватора?

capzap
19.08.2020, 15:04
это скорее всего происходи из-за особенностей монтирования (https://ru.wikipedia.org/wiki/%D0%9C%D0%BE%D0%BD%D1%82%D0%B8%D1%80%D0%BE%D0%B2%D 0%B0%D0%BD%D0%B8%D0%B5_%D1%84%D0%B0%D0%B9%D0%BB%D0 %BE%D0%B2%D0%BE%D0%B9_%D1%81%D0%B8%D1%81%D1%82%D0% B5%D0%BC%D1%8B) внешних носителей в линуксе. Любой диск отображается в какой либо папке ОС и не факт что после извлечения накопителя папка пропадет, следовательно архиватору нет препятствий писать данные дальше, но уже на диск самого устройства

Скорее всего надо мониторить команду df на предмет подключеных накопителей

Евгений Кислов
20.08.2020, 06:51
Здравствуйте!

Использую OwenArchiver для записи данных на SD-карту. Запись осуществляется нормально. Для контроля работоспособности архиватора связал свою переменную с "Кодом последней ошибки". По замыслу, если переменная будет отлична от нуля, загорится красная лампочка.

Проблема в том, что при извлечении карты код последней ошибки остается равен нулю, буфер записи не заполняется, а размер архива продолжает расти. То есть по всем признакам запись продолжается, а значит контроль работоспособности сам не работает. С USB-флешкой такой проблемы нет. При отключении флешки индицируется ошибка, ошибка пропадает при подключении флешки.

Вопрос. Почему так происходит и как в реальном времени проконтролировать работоспособность архиватора?

Добрый день.

Правильная методика извлечения накопителя:

1. Остановить доступ к его файлам (в вашем случае - остановить архиватор через канал Запустить архиватор)
2. Размонтировать накопитель (узел Drives, канал Unmount)
3. Убедиться, что накопитель успешно размонтирован (канал Unmount Done принял значение TRUE, канал Mount принял значение FALSE)

При извлечении накопителя "на горячую" я не вижу простых способов это детектировать.

okochurov
20.08.2020, 09:08
Спасибо за ответы.

Согласен, извлекать "на горячую" нельзя. Обязательно нужна кнопка размонтирования и соответствующая инструкция для пользователя. Но нельзя исключать человеческий фактор. Должен быть способ проконтролировать идет запись или нет.

Теперь важное дополнение. Выяснилось, что проблема с контролем работоспособности проявляется на одной панели из трех. После перепрошивки той же версией проблема исчезла и на ней. Теперь при горячем отключении карты фиксируется ошибка "Ошибка записи в архив". Что это было и как избежать в будущем - непонятно.