Odpověď na názor

Odpovídáte na názor ke článku Jak zakázat explicitní fsync (v Ubuntu).

  • 14. 6. 2012 21:51

    popelář (neregistrovaný)

    [11] Člověk s baterkou zakázaný fsync() přežije, ale mnoho počítačů baterku/UPS nemá. A mnoho počítačů je má, ale nechtějí riskovat selhání baterky/UPSky.

    Výpadek proudu před ani po fsync() nevadí. Zapisovaná data se samozřejmě ztratí, ale software ví, která data nejsou zapsaná, resp. jsou zapsaná částečně, a může se tedy zotavit. (Ano, průměrný program takové zotavování neimplementuje, ale databáze ano, zejmnéna u balíčkovačů.)

    Připomínám že fsync() a spol nezapíší data ihned - v informatice nelze udělat něco ihned u ničeho. Volání fsync() způsobí, že po návratu budou data zapsaná, ale to volání může trvat klidně sekundy.

    Možná mají aplikace volat jinou synchronizační operaci, možná mají používat transakce (ale i tam bývá potřeba čekat na dokončení). Možná má být dokumentace fsync() lepší. Některé aplikace používají fsync() příliš nebo zbytečně.

    [21] O write cache se postará kernel, za běžného provozu se bude používat.