The OpenNET Project / Index page

[ новости /+++ | форум | теги | ]



Индекс форумов
Составление сообщения

Исходное сообщение
"Переход Fedora 16 по умолчанию на файловую систему Btrfs отм..."
Отправлено all_glory_to_the_hypnotoad, 09-Авг-11 21:46 
> Файловая система всегда знает что в файле есть (или должно быть) в данный момент.

только в вашей фантазии. А в реальности у ФС есть куча кешей в волатильной памяти над которыми она не имеет контроля. Есть обстоятельства не подконтрольные ФС в виде форсмажоров. Т.е. знать то она может, но легко это забывает.

> Пока что я вижу дичайшие костыли - тем кому надо *надежно* писать в файлы почему-то зверски извращаются с воркэраундами: запись в темповый файл нового файла, удаление старого файла, ренейм темпа в старого файла.

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

Для обеспечения консистентности используют совершенно другие приёмы - принудительные fsync() и т.п.

Т.е. я вам гарантирую на % 99.9, что при любой позикс ФС такие приложения будут делать ровно тоже самое. И это связано с журналированием данных и CoW только на второстепенных планах.

> Потому что если там просто писать файл и в этот момент все накроется, файл будет наполовину перезаписан.

В любой ФС с позикс интерфейсом он будет именно так недозаписан.

> СУБД сами во многом файловые системы напоминают, особенно в части журналирования.

Скорее наоборот, фс со своими зачаточными журналами и CoW напоминают ACID СУБД.

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

ещё раз попробую донести очевидную мысль - позиксная ФС  _не_ может предложить приложению достаточный функционал журналирования.

Бывают не позиксные специальные ФС с таким функционалом.

 

Ваше сообщение
Имя*:
EMail:
Для отправки ответов на email укажите знак ! перед адресом, например, !user@host.ru (!! - не показывать email).
Более тонкая настройка отправки ответов производится в профиле зарегистрированного участника форума.
Заголовок*:
Сообщение*:
 
При общении не допускается: неуважительное отношение к собеседнику, хамство, унизительное обращение, ненормативная лексика, переход на личности, агрессивное поведение, обесценивание собеседника, провоцирование флейма голословными и заведомо ложными заявлениями. Не отвечайте на сообщения, явно нарушающие правила - удаляются не только сами нарушения, но и все ответы на них. Лог модерирования.



Партнёры:
PostgresPro
Inferno Solutions
Hosting by Hoster.ru
Хостинг:

Закладки на сайте
Проследить за страницей
Created 1996-2024 by Maxim Chirkov
Добавить, Поддержать, Вебмастеру