The OpenNET Project / Index page

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



Вариант для распечатки  
Пред. тема | След. тема 
Форум Разговоры, обсуждение новостей
Режим отображения отдельной подветви беседы [ Отслеживать ]

Оглавление

Проблемы с потерей данных на Ext4 разделах в тестовой версии..., opennews (??), 12-Мрт-09, (0) [смотреть все]

Сообщения [Сортировка по времени | RSS]


59. "Проблемы с потерей данных на Ext4 разделах в тестовой версии Ubuntu 9.04"  +/
Сообщение от Breg (??), 12-Мрт-09, 20:44 
Бок ext4 только в том, что она сразу делает truncate (точнее в журнале записывает, что он уже сделан) и только через t<=60сек записывает новые данные.
Вот это и должно быть исправлено.

По поводу fsync - из-за него много тормозов возникает, особенно во время загрузки системы. Поэтому, с целью ускорения загрузки и отзывчивости программ, от него избавляются где могут.
Вот например исправили такой баг: "Firefox 3 fsync excessively and ui freezes"
Описание:
"I think you can see where this is going: if there's a lot of data waiting to be written to disk, and Firefox's (sqlite's) request to flush the data for one file actually sends all that data out, we could be waiting for a while. Worse, all the other applications that are writing data may end up waiting for it to complete as well. In artificial, but not entirely impossible, test conditions, those delays can be 30 seconds or more. That experience, to coin a phrase, kinda sucks. Does it suck as much as file corruption wiping out your bookmarks after your computer (not Firefox) crashes? As you might imagine, opinions vary."

Резюме: если какое-то приложение делает fsync для большого объемы данных, то оно само в этот момент не отвечает, да еще и другим не дает записать данные, из-за чего и они не отвечают.

Ответить | Правка | Наверх | Cообщить модератору

155. "Проблемы с потерей данных на Ext4 разделах в тестовой версии..."  +/
Сообщение от nuclight (ok), 27-Мрт-09, 12:42 
Это опять таки проблемы реализации некоторых линуксовых fs, а не приложения. На нормальных fs будет fsync только конкретного файла, он не поставит всю систему раком в ожидании. В POSIX всё-таки 2 разных системных вызова - fsync() для одного файла и sync() для всей системы.
Ответить | Правка | Наверх | Cообщить модератору

Архив | Удалить

Рекомендовать для помещения в FAQ | Индекс форумов | Темы | Пред. тема | След. тема




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

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