Odpovídáte na názor ke článku Jak zakázat explicitní fsync (v Ubuntu).
No, a já s tím nesouhlasím a tvrdím že aplikace by tuto možnost (vynutit zápis na médium) mít měly. Samozřejmě to neznamená že to potřebuje dělat každá aplikace - to určitě ne. Ale např. ACID-compliant transakční systémy jsou typ aplikace která toto vyžaduje.
Pokud se bavíme o tom že toto prováději i aplikace které to jinak nepotřebují a že se s tím některé filesystémy neumí rozumně vyrovnat, tak to bohužel pláčete na nesprávném hrobě. To prostě není relevantní důvod sebrat aplikacím možnost provádět fsync.
A prostě není pravda že zavolání fsync nezaručí zápis na médium. Jistě, consumer-level SATA disky lžou, ale 100% SAS disků (tj. standardní serverové) nebo i kvalitnější SSD disky tímto neduhem netrpí. Takže tvrzení že "tenhle nárok není možné zaručit" je jednoduše nepravda - standardní hw to zajistit umí.
Nechápu argumentaci že fsync by měl zajišťovat jenom pořadí - k tomu jsou barriers, účelem fsync je zajistit zapsání dat na médium pokud to aplikace potřebuje.
To že OS může zápisy při nahromadění optimalizovat, o tom není sporu a aplikace které zapisují větší množství dat do jednoho souboru toho samozřejmě využívají - pokud potřebují zajistit propsání až na médium tak prostě zavolají fsync až na konci a OS ať si to seřadí dle libosti. Pokud aplikace volá fsync průběžně tak k tomu asi má nějaký důvod ...
Intenzivně se zabývám programováním zejména v jazyce C++. Vyvíjím vlastní knihovny, vzory, techniky, používám šablony, to vše proto, aby se mi usnadnil život při návrhu aplikací. Pracoval jsem jako programátor ve společnosti Seznam.cz. Nyní jsem se usadil v jednom startupu, kde vyvíjím serverové komponenty a informační systémy v C++
Přečteno 57 613×
Přečteno 27 724×
Přečteno 26 404×
Přečteno 24 368×
Přečteno 22 865×