V Lucemburku byly oznámeny výsledky posledního kola výzev na evropské továrny pro umělou inteligenci neboli AI Factories. Mezi úspěšné žadatele patří i Česká republika, potažmo konsorcium šesti partnerů vedené VŠB – Technickou univerzitou Ostrava. V rámci Czech AI Factory (CZAI), jak se česká AI továrna jmenuje, bude pořízen velmi výkonný superpočítač pro AI výpočty a vznikne balíček služeb poskytovaný odborníky konsorcia. Obojí bude sloužit malým a středním podnikům, průmyslu i institucím veřejného a výzkumného sektoru.
Byla vydána (𝕏) zářijová aktualizace aneb nová verze 1.105 editoru zdrojových kódů Visual Studio Code (Wikipedie). Přehled novinek i s náhledy a videi v poznámkách k vydání. Ve verzi 1.105 vyjde také VSCodium, tj. komunitní sestavení Visual Studia Code bez telemetrie a licenčních podmínek Microsoftu.
Ve Firefoxu bude lepší správa profilů (oddělené nastavení domovské stránky, nastavení lišt, instalace rozšíření, uložení hesla, přidání záložky atd.). Nový grafický správce profilů bude postupně zaváděn od 14.října.
Canonical vydal (email) Ubuntu 25.10 Questing Quokka. Přehled novinek v poznámkách k vydání. Jedná se o průběžné vydání s podporou 9 měsíců, tj. do července 2026.
ClamAV (Wikipedie), tj. multiplatformní antivirový engine s otevřeným zdrojovým kódem pro detekci trojských koní, virů, malwaru a dalších škodlivých hrozeb, byl vydán ve verzi 1.5.0.
Byla vydána nová verze 1.12.0 dynamického programovacího jazyka Julia (Wikipedie) určeného zejména pro vědecké výpočty. Přehled novinek v příspěvku na blogu a v poznámkách k vydání. Aktualizována byla také dokumentace.
V Redisu byla nalezena a v upstreamu již opravena kritická zranitelnost CVE-2025-49844 s CVSS 10.0 (RCE, vzdálené spouštění kódu).
Ministr a vicepremiér pro digitalizaci Marian Jurečka dnes oznámil, že přijme rezignaci ředitele Digitální a informační agentury Martina Mesršmída, a to k 23. říjnu 2025. Mesršmíd nabídl svou funkci během minulého víkendu, kdy se DIA potýkala s problémy eDokladů, které některým občanům znepříjemnily využití možnosti prokázat se digitální občankou u volebních komisí při volbách do Poslanecké sněmovny.
Společnost Meta představila OpenZL. Jedná se o open source framework pro kompresi dat s ohledem na jejich formát. Zdrojové kódy jsou k dispozici na GitHubu.
Google postupně zpřístupňuje českým uživatelům Režim AI (AI Mode), tj. nový režim vyhledávání založený na umělé inteligenci. Režim AI nabízí pokročilé uvažování, multimodalitu a možnost prozkoumat jakékoliv téma do hloubky pomocí dodatečných dotazů a užitečných odkazů na weby.
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...
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ě...