Я пишу немного программного обеспечения, которое использует системный вызов fsync()
для обеспечения сохранения файла на диске.Я делал это раньше, и я знаю о различных "ошибках", о которых вам нужно знать (т. Е. При замене файла вам нужно fsync()
файл, выдать rename()
, затем fsync()
содержащий каталог. Кодирование программного обеспечения, которое непрерывно записывает файлы на диск, - это хорошо.
Тестирование программного обеспечения - это другое дело. Я хочу убедиться, что оно работает правильно, например,перебои с питанием. Мои физические рефлексы довольно хороши, но не достаточно хороши, чтобы отключить кабель питания между двумя инструкциями процессора.
Как мне проверить долговечность программы на Си, которая пишет на диск?
(Как следует из названия, я предполагаю, что вы используете какое-то отладочное программное обеспечение, возможно, использующее ptrace()
, для автоматического уничтожения вашей программы в определенных файлах / строках, как указано в информации об отладке исполняемого файла.)