порядок записи между различными страницами в файле mmaped (в linux) - PullRequest
1 голос
/ 02 мая 2019

Какие гарантии предоставляет система подкачки linux в отношении порядка записи в файловую систему между различными страницами?

В частности, я "сериализую" некоторые записи в файл через mmap. Любая отдельная запись / элемент данных может занимать несколько страниц. Теперь скажем, машина вылетает. После восстановления, как мне удалить частично записанные записи?

а) Если я добавлю к каждой записи длину и завершу ее разделителем «конец». Могу ли я предположить наличие разделителя «конец», чтобы указать, что была записана вся запись? Даже если длина и «конец» могут быть на разных страницах? Гарантирует ли подсистема подкачки linux порядок записи грязных страниц?

б) Что если я отследю завершение записи записи через другой файл? Существуют ли какие-либо гарантии «происходит раньше» между файлами при записи в них через mmapped регионов?

...