Odpovídáte na názor ke článku Jak zakázat explicitní fsync (v Ubuntu).
Ohánět se tím, že na vlastním desktopu nemám (to bych chtěl opravdu vidět), programy, které nepotřebují mít konzistentní zápis na disk, není argument. A to, že jsi ještě nepřišel o data na fsyncless systému považuj za štestí. Možná přišel, jen o tom ještě nevíš (silent data corruption).
Každý program, který pracuje s daty, fsync nutně potřebuje. Ať jsou to databáze (kterých mohou být na desktopu desítky, vždyť jen kolik jich má takové Chrome nebo FF), nebo třeba i takový obyčejný maildir.
Jsou programy, které NUTNĚ vyžadují zápis na disk, protože jsou na tom závislé další kroky, které nemusejí být na daném počítači (takže ani seřazené operace nepomohou). Synchronizované replikace databází. Databáze samotná na jednom hostu musí vrátit potvrzení commitu klientovi až po úspěsném zapsání dat na disk.
Jak už tu psalo mnoho lidí předemnou. To že existuje fsync neznamená, že jej všechny app musejí povinně používat. Existuje jako možnost. Stejně tak, jako volby otevření souboru. Je pouze na programátorovi, jakou si vybere.
Ad šílený argument s magnetofonovou páskou. Ano, OS musí skutečně zapsat data na médium, přesně to app po něm vyžaduje a přesně tak je navržena. A jestli administrátor daného HW připojil pásku jako blokové zařízení, tak nejspíše ví co dělá a je to přesně to, co chce.
S HW, který cíleně lže o zápisu na medium, se snad ani nemá smysl bavit. Na takovém nemůže být konzistentní nic, nebo by musela být detekce posledního konzistetního stavu.
Píšeš, že OS ví, které zápisy lze pozdržet a grupovat. Ale to OS už hodně dlouho dělá. IO Schedulery (elevator; lze si vybrat) se přesně o tohle snaží, grupovat požadavky k sobě tak, aby se co nejefektivněji zapsaly na dané medium s minimem latence).
Btrfs je stále ve vývoji a o pomalém fsync se ví. Je jisté, že to bude předmětem optimalizací. I na straně programů.
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×