TGViewer
Senior C++ Developer Senior C++ Developer @seniorcpp · 11.6K subscribers
Post #1818 3.15K
sync_file_range()

Вызов sync_file_range() позволяет точно контролировать синхронизацию открытого файла, задаваемого файловым дескриптором fd, с диском.

В offset задаётся начальный байт диапазона файла, который нужно синхронизировать. В nbytes указывается длина синхронизируемого диапазона (в байтах); если nbytes равно нулю, то синхронизируются все байты, начиная с offset и до конца файла. Синхронизация выполняется в единицах размера системной страницы: значение offset округляется к меньшей границе страницы; (offset+nbytes-1) округляется к большей границе страницы.

Данный системный вызов очень опасен и не должен использоваться в переносимых программах. Ни одна из этих операций перезаписи не касается метаданных файла. Поэтому, если приложение строго не выполняет перезаписи уже выделенных дисковых блоков, то нет никаких гарантий, что данные будут будьте доступны после катастрофического отказа.

#для_продвинутых
More from @seniorcpp
  1. Oct 14, 2026Алгоритмы all_of, any_of и none_of Начиная с C ++ 11, в STL C ++ добавляются некоторые нов…
  2. Oct 13, 2026Как написать «Змейку» на C++ в четыре переменные? Пишем классическую «Змейку», как на КДПВ…
  3. Oct 12, 2026Алгоритм set_symmetric_difference Строит отсортированную последовательность из элементов,…
  4. Oct 11, 2026Для чего нужен аллокатор и как создать свой собственный аллокатор? Аллокатор это шаблонный…
  5. Oct 10, 2026Макрос watch Макрос watch — один из самых полезных приёмов. При отладке кода watch(перемен…
  6. Oct 9, 2026init внутри if и switch Эта возможность C++17 мне полюбилась сразу же, как только я узнал…
Threads Profile ViewerView any public Threads profile without an account.Open ThreadLook →Writing with AI? Make it sound human.Metric37 rewrites AI drafts so they read naturally. Free AI detector, 1,500 words free.Try Metric37 →