Проблема повреждения данных при чтении с диска с libaio

Я сталкиваюсь с проблемой повреждения данных при использовании libaio для чтения данных с диска iscsi.

Выполненные шаги:

  • Выделите буфер (1 МБ), используя posix_memalign с 4K Allignemnt.
  • Заполните буфер 9 перед отправкой io.
  • Откройте диск iscsi с флагом O_DIRECT.
  • Отправить запросы на чтение, используя io_submit из libaio
  • Параллельно выполняем vfork ()
  • Вызови io_getevents и дождись завершения io
  • Проверьте crc буфера, полученного в io_getevents, чтобы убедиться, что данные согласованы или нет.

Соответствие CRC не выполнено для некоторого смещения.

Проверка CRC не выполняется в течение некоторого времени. Перед отправкой io-запроса я заполняю буфер шаблоном, скажем «9», и я проанализировал поврежденный буфер и обнаружил, что некоторая часть данных в буфере остается неизменной, то есть те же 9 находятся в некоторой части буфера.
Буфер выделяется с помощью 4K с выравниванием с использованием posix_memalign ().

Кто-то тоже сталкивался с подобной проблемой? Если есть какие-либо известные ограничения, пожалуйста, поделитесь со мной.

1

Решение

Задача ещё не решена.

Другие решения

Других решений пока нет …

По вопросам рекламы [email protected]