172 похожих чатов

Использую файл из токио с .write(true).create(true). Делаю write_all. Локально —

данные записываются в файл. На "сервере" — файл пустой (ось при этом одна и та же, arch linux). Как такое может быть?

file.sync_data().await?; вроде спасает положение, но как-то неожиданно что оно нужно...

11 ответов

4 просмотра

io_uring ещё не завезли?

вафля'- Автор вопроса
Shagit Ziganshin
io_uring ещё не завезли?

Ну отдельным крейтом только (и afaic по другому только через миллион лет в tokio 2.0 т.к. у уринга другой интерфейс)

вафля'- Автор вопроса
Shagit Ziganshin
io_uring ещё не завезли?

Но причём тут это вообще?

Ну sync_data это не fsync?

вафля'
Ну отдельным крейтом только (и afaic по другому то...

Был же tokio_uring который делал ещё одну вариацию File, хотя он вроде умер

вафля'- Автор вопроса
Shagit Ziganshin
Был же tokio_uring который делал ещё одну вариацию...

> Ну отдельным крейтом только Я про него и говорю

вафля'- Автор вопроса
Shagit Ziganshin
Ну sync_data это не fsync?

хз, мне лень копаться

почитай описание man 2 fsync, оно про сброс данных из кеша на диск. фактически создание файла и запись в файл - две разных операции. при этом "локально" у тебя данные могут быть записаны как есть, а до fsync у тебя данные на "сервере" могут отличаться. почитай про O_DIRECT и O_SYNC флаги в man 2 open, там тоже немного про это рассказывается. ну и спроси у человека выше, почему O_DIRECT не работает и откуда в постгрес много боли. потом спроси почему fsync может иногда не работать. потом пострадай и прими как данность. io_uring может улучшить ситуацию, но я пока еще не видел норм крейтов. может и отстал от жизни.

Roman
почитай описание man 2 fsync, оно про сброс данных...

Можешь пожалуйста подсказать где про неработающий O_DIRECT почитать? В некоторых ситуациях его использование вполне оправдано (во всяком случае по тому что мне попадалось)

Dmitry Rodionov
Можешь пожалуйста подсказать где про неработающий ...

спасибо. погуглил, лет 10 назад вопросы про поддержу O_DIRECT стали исчезать. остались артефакты в выдаче, но ничего интересного.

Roman
спасибо. погуглил, лет 10 назад вопросы про поддер...

Это хорошо :) Из нового мне попалась хорошая статья от автора Glommio/ бывшего разработчика ScyllaDB. Кмк достаточно хорошо описывает текущее положение вещей и есть полезные ссылки: https://itnext.io/direct-i-o-writes-the-best-way-to-improve-your-credit-score-bd6c19cdfe46

Похожие вопросы

Обсуждают сегодня

@MrMiscipitlick А можешь макрос написать, который будет вычислять смещение относительно переданных меток? Просто .label1-.label2, и вернуть значение.
КТ315
35
я не магистр хаскеля, но разве не может лейзи тип конвертнуться в не-лейзи запросив вычисление содержимого прям при инициализации?
deadgnom32 λ madao
100
А еще в перле можно уже @arr1 + @arr2?
Sergei Zhmylove
53
Заметил в ghci 9.4.8: > :t (<*>) @((->)_) (<*>) @((->)_) :: (w -> (a -> b)) -> (w -> a) -> w -> b Разве не должно (w -> (a -> b)) быть записано как (w -> a -> b)? Это баг, ил...
Михаил
13
Привет всем. появился вопрос. Разрабатываю сайт, в данный момент он запущен. Хостинг beget. Добавляю на сайт яндекс метрику с помощью полей client-settings (взято отсюда http...
Andrew
2
Подобного рода ;Следующие три строки это директивы ассемблера, ;которые можно не задавать, т.к.работаем в Visual Studio. ;Символ ";" - это начало однострочного комментария ...
Егор Анелькин
3
Any electron dev here?
Sayanth Tezro
12
Подскажите, где смотреть результат выполнения программы? Код: ;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, станда...
Егор Анелькин
5
так это может кто что знает или использует что-то как макбук только не макбук? на 13…14 дюймов
Michael
9
;.686 ;Система команд процессора 686 ;.MODEL FLAT,stdcall ;Модель памяти плоская, стандартный ;вызов процедуры ;option casemap:no...
Егор Анелькин
1
Карта сайта