Multimediální server a user space API PipeWire (Wikipedie) poskytující PulseAudio, JACK, ALSA a GStreamer rozhraní byl vydán ve verzi 1.6.0 (Bluesky). Přehled novinek na GitLabu.
UBports, nadace a komunita kolem Ubuntu pro telefony a tablety Ubuntu Touch, vydala Ubuntu Touch 24.04-1.2 a 20.04 OTA-12.
Byla vydána (Mastodon, 𝕏) nová stabilní verze 2.0 otevřeného operačního systému pro chytré hodinky AsteroidOS (Wikipedie). Přehled novinek v oznámení o vydání a na YouTube.
WoWee je open-source klient pro MMORPG hru World of Warcraft, kompatibilní se základní verzí a rozšířeními The Burning Crusade a Wrath of the Lich King. Klient je napsaný v C++ a využívá vlastní OpenGL renderer, pro provoz vyžaduje modely, grafiku, hudbu, zvuky a další assety z originální kopie hry od Blizzardu. Zdrojový kód je na GitHubu, dostupný pod licencí MIT.
Byl představen ICT Supply Chain Security Toolbox, společný nezávazný rámec EU pro posuzování a snižování kybernetických bezpečnostních rizik v ICT dodavatelských řetězcích. Toolbox identifikuje možné rizikové scénáře ovlivňující ICT dodavatelské řetězce a na jejich podkladě nabízí koordinovaná doporučení k hodnocení a mitigaci rizik. Doporučení se dotýkají mj. podpory multi-vendor strategií a snižování závislostí na vysoce
… více »Nizozemský ministr obrany Gijs Tuinman prohlásil, že je možné stíhací letouny F-35 'jailbreaknout stejně jako iPhony', tedy upravit jejich software bez souhlasu USA nebo spolupráce s výrobcem Lockheed Martin. Tento výrok zazněl v rozhovoru na BNR Nieuwsradio, kde Tuinman naznačil, že evropské země by mohly potřebovat větší nezávislost na americké technologii. Jak by bylo jailbreak možné technicky provést pan ministr nijak nespecifikoval, nicméně je známé, že izraelské letectvo ve svých modifikovaných stíhačkách F-35 používá vlastní software.
Nové číslo časopisu Raspberry Pi zdarma ke čtení: Raspberry Pi Official Magazine 162 (pdf).
Sdružení CZ.NIC, správce české národní domény, zveřejnilo Domain Report za rok 2025 s klíčovými daty o vývoji domény .CZ. Na konci roku 2025 bylo v registru české národní domény celkem 1 515 860 s koncovkou .CZ. Průměrně bylo měsíčně zaregistrováno 16 222 domén, přičemž nejvíce registrací proběhlo v lednu (18 722) a nejméně pak v červnu (14 559). Podíl domén zabezpečených pomocí technologie DNSSEC se po několika letech stagnace výrazně
… více »Google představil telefon Pixel 10a. S funkci Satelitní SOS, která vás spojí se záchrannými složkami i v místech bez signálu Wi-Fi nebo mobilní sítě. Cena telefonu je od 13 290 Kč.
Byl publikován přehled dění a novinek z vývoje Asahi Linuxu, tj. Linuxu pro Apple Silicon. Fedora 43 Asahi Remix s KDE Plasma už funguje na M3. Zatím ale bez GPU akcelerace. Vývojáře lze podpořit na Open Collective a GitHub Sponsors.
Josef Bacik oznamuje, že výchozím souborovým systémem pro Fedoru 16 nakonec zůstane ext4 a plánovaný přechod na btrfs se odkládá. Důvodem je nesplnění předsevzatých kritérií v termínu pro vydání Alpha, především co se týká fungujícího fsck. Z Josefovy zprávy je zjevné, jak ho otravují nejapné narážky, které lidé připisují do bugreportů o btrfs.
Tiskni
Sdílej:
vývojáři si ale stojí za tím že oni implementovali fsync správně a moc lepší už to být nemůže.Lepší to být může a snad i bude. K tomu napsal Josef Bacik:
Fsync _sucks_ for btrfs currently, and it has historically not been a well optimized piece of code. I'm working on fixing this, but it requires VFS level changes that are currently sitting in Al's queue. I suspect they will go into 3.1 and so we can move ahead with our work, but for now, it sucks. [...]
u vícero souborůTen problém ale je i jen u jednoho souboru. Tam opravdu nevidím důvod, proč by nešlo udělat API tak, aby program mohl vytvořit nový soubor a atomickou operací jím nahradit obsah staré verze souboru. Databáze jsou na tohle skutečně overkill...
btrfs by tohle mělo zajištovat by default. Buď je tam konzistentní stará verze (starý poslední zápis), nebo nová. Jenže když do jednoho souboru udělám 3x zápis (které spolu souvisejí) na ruzná místa, tak můžu stále získat nekonzistentní soubor.
Já jen upozorním, že toto všecho se týká stavu po špinavém odpojení fs (pád systému / výpadek napájení). Myslím si, že by se především mělo řešit tohle nečisté odpojení, pak zálohy a až někdy bude čas, tak se hádat o tom, co má přesně zůstat na FS poté, co se všechno pokazí. POSIX tohle neobsahuje.
Jde. fsync.fsync je overkill.
Prosím uložte nám data na disk bezpečně tak, aby jste na disk nic nezapsali a přežilo to výpadek napájení.
Pokud chcete data na disku, musite je tam zapsat. Pokud je tam chcete zapsat, musí k tomu být všechny souvislosti (metadata). Této operaci se říká fsync.
Ano, fsync je pomalý, protože je pomalý disk pod tím.
Já bych jen rád upozornil na to, že pokud někdo nechce čekat na fsync, ale chce ho provést, tak ta data může zapisovat v jiném vlákně. Asynchronní přístup, tuto brutální novinku lidstvo vymyslelo už dávno.
Já bych jen rád upozornil na to, že pokud někdo nechce čekat na fsync, ale chce ho provést, tak ta data může zapisovat v jiném vlákně. Asynchronní přístup,Jenze ten fsync nezpomaluje pouze ten cekajici program, ale system celkove (tim ze vytvari zbytecne pozadavky na diskovy subsystem), zvlaste pak na implementacich, ktere implementuji fsync() vicemene stejne jako sync() (AFAIK pripad ext3/4). Proto je reseni s fsync() v pripadech, kdy neni pozadovano, aby data byla skutecne zapsana na disk, ale je pozadovano jen vhodne relativni usporadani operaci, nevhodny overkill.
Mícháte dva požadavky dohromady: uspořádání za běhu a po resetu. Na první je fsync opravdu zbytečný, protože viditelnost změn pro uživatelský prostor zaručuje dokončení systémového volání. Pokud jde o reset, tak tam si jinak než skutečným zápisem, tedy fsync(), nepomůžete.
Vyvozovat z nějaké implementace, že fsync je pomalý, je celé trapné. Od toho ostatně máme konkurenční souborové systémy. Třeba btrfs, který je ještě pomalejší :)
Vyvozovat z nějaké implementace, že fsync je pomalý, je celé trapné.No, pokud nekdo programuje pro hypoteticky obecny POSIXovy system, pak mu to mozna je jedno, ale to je asi stejne smysluplna cinnost jako programovani pro genericky turinguv stroj. To, jak efektivne program pobezi v realnych podminkach je proste dulezity parametr.
opravdu skutecny zapis nepotrebuji, akorat staci, aby si FS zapamatoval
Pravda. FS to nemusí zapisovat, stačí, když si to zapamatuje.
Toto zajištuje žurnálování. Některé FS (ty "pomalejší" - proč asi) umí ordered (nebo dokonce žurnálování dat). Tam je zajištěno pořadí. Opakuji jen některé a jen při konkrétním nastavení.
Aneb proč řešit věci jednoduše, když to jde složitě, že. Buď si ten zápis, který nutný je, obstrarám sám, nebo (zcela v UNIXovém duchu) o to požádám nějakou knihovnu, která je na to specializovaná.
Jenže souborový systém nemůže čmuchat, které operace to jsou. To ví jen aplikace. A proto tu máme fsync(), kterým aplikace řekne, že aktuální stav daného souboru je onen konzistentní stav.
Ano, máte pravdu, že by jej stačilo považovat za bariéru (na daném i-uzlu) a zápis odložit na později. Jenže problém je, že tím stále nemáte řešenou synchronizaci mezi více (fsyncnutými) soubory. To by se vyřešilo zachováním pořadí fsync() bariér, nicméně to pak rovnou můžeme nasadit UFS (kdyby Linux na něj uměl zapisovat). Jinak problém je to zajímavý a postupné zaváděníní volání f*() a *_at() ukazuje, že o transakce je zájem.
Jenže souborový systém nemůže čmuchat, které operace to jsou. To ví jen aplikace. A proto tu máme fsync(), kterým aplikace řekne, že aktuální stav daného souboru je onen konzistentní stav.Jenze hlavni problem fsync() je v tom, ze dela mnohem vic nez jenom tohle - fsync v prve rade rika, ze se maji flushnout modifikovana data a metadata na disk, coz je principielne draha operace a neco, cemu by se jak uzivatele tak programatori radi vyhnuli. Resenim by bylo zavedenim nejake vyrazne slabsiho volani (nazveme ho treba fbarrier()), ktere by melo vyznam (vhodne definovane) bariery, aniz by vynucovalo vcasnou synchronizaci. No a soucasna situace v Linuxu je zda se takova, ze neni moc zajem zavadet nove syscally (nebot stavajici programy se moc nenamahaji je nasadit) a spis tyhle situace vyresit zavedenim vhodnych idiomu (ktere uz stavajici aplikace vice-mene vyuzivaji), kterym by rozumelo stejne jak jadro tak programy.
Resenim by bylo zavedenim nejake vyrazne slabsiho volani (nazveme ho treba fbarrier()), ktere by melo vyznam (vhodne definovane) bariery, aniz by vynucovalo vcasnou synchronizaci.
Řešením by bylo, kdyby se pro daný problém používaly věci pro to určené na místo změny věcí, které by měly být stabilní. Řešení existuje. Chtít změnit jádro pro případ, který si userspace aplikace může velice dobře a levně ošetřit sama či s pomocí dobře známých knihoven, není nejlepší způsob řešení.
Zkrátka chcete po souborovém systému něco, na co nebyl navržen.Ano a to je špatně, protože potřeba požadavek na atomické přepsání souboru novým obsahem je tak elementární záležitostí, že by na to prostě nějaké API existovat mělo.
Reagoval jsem na:
aby program mohl vytvořit nový soubor a atomickou operací jím nahradit obsah staré verze souboru
A to rename() splňuje z definice. Pokud tomu tak není, pak se nejedná o posixový souborový systém a je to problém uživatele (asi jako by použil VFAT a divil se, že nemá symlinky).
Pokud se řeší obsah po resetu, tak stačí zavolat fsync(), protože ten (alespoň na Linuxu) zaručuje zápis i metadat (rozdíl proti fdatasync()).
Jinak řečeno se nejedná o shodu náhod
, ale o jasně definovanou vlastnost.
Co se řešilo v ext*, bylo, že někdo raději rychlejší systém, a tak výše uvedenou definici ignoroval (distributor vypnul ordered režim), což mělo za následek, že se ozvali lidi, kterým tato „optimalize“ rozbila systém, a tak se hledal kompromis, což vyústilo v heuristiku při neordered režimu.
echo "content" > file.tmp mv file.tmp file # *crash*
will most likely give you a zero-length "file".pak je něco špatně...