Разрешивает ли ext4 частичное обновление неписаных до написанных экстентов в случае O_DIRECTLinux

Ответить
Anonymous
 Разрешивает ли ext4 частичное обновление неписаных до написанных экстентов в случае O_DIRECT

Сообщение Anonymous »

o_direct позволяет записать в файле для выполнения i_rwsem в режиме чтения.
Допустим, я выделил 100 блоков файловой системы (4K) для файла с posix_fallocate () . Теперь это становится неписаной степенью для файла. Теперь многопоточная программа выполняет случайные выровненные записи в этой степени.
Как мы с o_direct , доступ к файлам, сериализуется с помощью i_data_sem .
В многочисленной программе Lets Wants Wants wrops 0-9 (All Threads 0-9 (All Thinfors alfs 0-19 (All Thinfors writes 0-19. 50-60. Запускается io, ожидает завершения. Starts IO, waits to complete.
[*]Now assume thread2 IO completes before thread1, takes i_data_sem, updates 50-60 from unwritten to written.
At this point the extents are like this 0–49 unwritten, 50–60 written, 61–99 unwritten
thread1 wakes up now and looks up for Преобразование.
находит 0–49 Unwritten - конвертируется в написание. /> Что происходит в этом случае, возвращаем ли мы ввода-то, что вводим отказ к пользователю-0-49, который уже преобразуется, остается так, как есть. Это будет частичное преобразование, делает что -то с этим. Если да, это разрешено или согласно стандартам POSIX?

Подробнее здесь: https://stackoverflow.com/questions/797 ... irect-case
Ответить

Быстрый ответ

Изменение регистра текста: 
Смайлики
:) :( :oops: :roll: :wink: :muza: :clever: :sorry: :angel: :read: *x)
Ещё смайлики…
   
К этому ответу прикреплено по крайней мере одно вложение.

Если вы не хотите добавлять вложения, оставьте поля пустыми.

Максимально разрешённый размер вложения: 15 МБ.

Вернуться в «Linux»