Apple oznámil, že iPhone a iPad jako první a jediná zařízení pro koncové uživatele splňují požadavky členských států NATO na zabezpečení informací. Díky tomu je možné je používat pro práci s utajovanými informacemi až do stupně „NATO Restricted“, a to bez nutnosti instalovat speciální software nebo měnit nastavení. Žádné jiné běžně dostupné mobilní zařízení tak vysokou úroveň státní certifikace dosud nezískalo.
Americký provozovatel streamovací platformy Netflix odmítl zvýšit nabídku na převzetí filmových studií a streamovací divize konglomerátu Warner Bros. Discovery (WBD). Netflix to ve čtvrtek oznámil v tiskové zprávě. Jeho krok po několikaměsíčním boji o převzetí otevírá dveře k akvizici WBD mediální skupině Paramount Skydance, a to zhruba za 111 miliard dolarů (2,28 bilionu Kč).
Americká společnosti Apple přesune část výroby svého malého stolního počítače Mac mini z Asie do Spojených států. Výroba v závodě v Houstonu by měla začít ještě v letošním roce, uvedla firma na svém webu. Apple také plánuje rozšířit svůj závod v Houstonu o nové školicí centrum pro pokročilou výrobu. V Houstonu by měly vzniknout tisíce nových pracovních míst.
Vědci Biotechnologické společnosti Cortical Labs vytvořili biopočítač nazvaný CL1, který využívá živé lidské mozkové buňky vypěstované z kmenových buněk na čipu. Po úspěchu se hrou PONG se ho nyní snaží naučit hrát DOOM. Neurony přijímají signály podle toho, co se ve hře děje, a jejich reakce jsou převáděny na akce jako pohyb nebo střelba. V tuto chvíli systém hraje velmi špatně, ale dokáže reagovat, trochu se učit a v reálném čase se hrou
… více »Pro testování byl vydán 4. snapshot Ubuntu 26.04 LTS (Resolute Raccoon).
Ben Sturmfels oznámil vydání MediaGoblinu 0.15.0. Přehled novinek v poznámkách k vydání. MediaGoblin (Wikipedie) je svobodná multimediální publikační platforma a decentralizovaná alternativa ke službám jako Flickr, YouTube, SoundCloud atd. Ukázka například na LibrePlanet.
TerminalPhone (png) je skript v Bashi pro push-to-talk hlasovou a textovou komunikaci přes Tor využívající .onion adresy.
Před dvěma lety zavedli operátoři ochranu proti podvrženým hovorům, kdy volající falšuje čísla anebo se vydává za někoho jiného. Nyní v roce 2026 blokují operátoři díky nasazeným technologiím v průměru 3 miliony pokusů o podvodný hovor měsíčně (tzn., že k propojení na zákazníka vůbec nedojde). Ochrana před tzv. spoofingem je pro zákazníky a zákaznice všech tří operátorů zdarma, ať už jde o mobilní čísla nebo pevné linky.
Společnost Meta (Facebook) předává React, React Native a související projekty jako JSX nadaci React Foundation patřící pod Linux Foundation. Zakládajícími členy React Foundation jsou Amazon, Callstack, Expo, Huawei, Meta, Microsoft, Software Mansion a Vercel.
Samsung na akci Galaxy Unpacked February 2026 (YouTube) představil své nové telefony Galaxy S26, S26+ a S26 Ultra a sluchátka Galaxy Buds4 a Buds4 Pro. Telefon Galaxy S26 Ultra má nový typ displeje (Privacy Display) chránící obsah na obrazovce před zvědavými pohledy (YouTube).
mkfs.btrfs /dev/sdb1Přidal druhý disk:
btrfs device add /dev/sdb1 /To proběhlo bez problému, potom balancing:
sudo btrfs fi balance start -mconvert=raid1 -sconvert=raid1 -dconvert=raid1 -f / ERROR: error during balancing '/': Input/output errordmesg:
pou@wolf:~$ sudo dmesg [2112712.190302] BTRFS info (device sda1): relocating block group 10766778368 flags 17 [2112712.527166] BTRFS info (device sda1): relocating block group 9693036544 flags 17 [2112724.780928] BTRFS info (device sda1): found 39295 extents [2112738.949982] BTRFS info (device sda1): found 39288 extents [2112739.921742] BTRFS info (device sda1): relocating block group 4324327424 flags 1 [2112759.323408] BTRFS warning (device sda1): csum failed ino 264 off 404922368 csum 1791219600 expected csum 3524111029 [2112759.324131] BTRFS warning (device sda1): csum failed ino 264 off 404922368 csum 1791219600 expected csum 3524111029První disk má 64G druhý (nově přidaný) má 128G - což myslím, že by vadit nemělo. Prosím o radu. Děkuji
Řešení dotazu:
[2112759.323408] BTRFS warning (device sda1): csum failed ino 264 off 404922368 csum 1791219600 expected csum 3524111029
no tady ti pise ze mu nesedi kontrolni soucet pri cteni z toho originalniho disku....
sudo btrfs check --repair /dev/sda1 enabling repair mode /dev/sda1 is currently mounted. Aborting.Jedná se o server na který mám horší fyzický přístup (proto ten druhý založní disk).
sudo btrfs scrub start /Skontroluj kedy scrub skončí:
sudo btrfs scrub status /V dmesg by sa mali objaviť chybové výpisy aj s názvami súborov. Opraviť súbory (záloha, vymazať...). Spustiť scrub, keď bude bez chyby pokračovať s raid.
A možná taky zkusit ten balance provést v rescue režimu nebo zkrátka v režimu, kdy bude méně programů otravovat se špatným použitím O_DIRECT — pokud by to jinak nešlo. Jak jsem psal níže, tohle opravdu vypadá na chybu, která by s tím mohla souviset.
Identifikace poškozených souborů a jejich mazání je opravdu až to poslední. Dokud je v logu u nějakého souboru warning, nikoliv error, rozhodně to není důvod k jeho smazání!
Myslím si, že vysvětlení by mohlo být tady v kapitole Direct IO and CRCs. Odkazovaný E-mail nabízí podrobnější vysvětlení. Ten log skutečně říká warning, nikoliv error. Třeba nějaká aplikace během toho balancování používala ošklivým způsobem direct IO (O_DIRECT). Jenom mi není jasné, proč celý balance kvůli tomu ohlásil chybu.
Kdy na tom oddíle naposledy proběhl scrub?
Bohužel tohle v odkazovaném návodě úplně chybí. Před každou takovou větší operací, která mění strukturu filesystému, je rozumné nechat proběhnout scrub, čistě pro jistotu. To bych i teď doporučoval jako úplně první věc.
(Následující je jen kontext, který pravděpodobně nesouvisí s tímto konkrétním případem: Kdyby tam byl místo warning error, jmenovalo by se to silent data corruption. Btrfs chrání proti silent data corruption jednoduše tím, že nikdy nevrátí poškozená data. Má checksumy dat i metadat a jakmile checksum nesedí, příslušný blok se nedá přečíst. To je sice na první pohled kruté, ale hned na druhý pohled je to mnohem lepší, než kdyby se poškozená data dál šířila a kopírovala (jako u většiny jiných souborových systémů). U jednodiskového filesystému s jednou replikou dat to znamená, že příslušný blok je ztracený. U dvou replik dat na jednom disku nebo u RAID1/5/6 konfigurace přes více disků se naštěstí blok obvykle dá opravit; buď se načte z druhé repliky, nebo se dopočte z parity — samozřejmě jen pokud checksum u druhé repliky či checksumy u dostatku "paritních" bloků sedí.)
Zpět k tématu: Tady je popsaný příkaz, který umožňuje identifikovat soubor (nebo adresář), který se četl, když ten kontrolní součet neseděl (podle čísla inodu):
sudo btrfs inspect-internal inode-resolve 264 /
Na jednom z mých strojů je pod tímto inodem vedený adresář /dev, na jiném je tam adresář /var. Je to samozřejmě individuální podle toho, jak proběhla instalace toho systému; takhle nízká čísla inodů dostanou obvykle soubory a adresáře vytvořené na filesystému jako jedny z prvních.
Kdyby byl poškozený adresář /dev, jeho smazání a nahrazení (pomocí live média) je celkem triviální záležitost. Kdyby byl ovšem poškozený adresář /var, běhal by mi z toho mráz po zádech.
Jak ovšem naznačuje fakt, že jde o warning, nikoliv error, nemusí tohle nic zásadního znamenat. Doporučuji prostě spustit scrub a pak se uvidí, co a jak.
sudo btrfs inspect-internal inode-resolve 264 /
jsem zjistil, který soubor je poškozen a smazal ho (byly to soubory zálohy logů).
Poté jsem znovu spustil
sudo btrfs scrub start /Stále tam však trčí 5chyb -
sudo btrfs scrub status / scrub status for f214bc43-6382-4157-b80a-54f6f6f7a8af scrub started at Mon May 13 21:06:18 2019 and finished after 00:02:23 total bytes scrubbed: 4.37GiB with 5 errors error details: csum=5 corrected errors: 0, uncorrectable errors: 5, unverified errors: 0
sudo dmesg [2124093.659350] BTRFS warning (device sda1): checksum error at logical 4069195776 on dev /dev/sda1, sector 10061184, root 263, inode 159281, offset 9424896, length 4096, links 1 (path: var/lib/influxdb/wal/_internal/monitor/6/_00001.wal) [2124093.659382] BTRFS error (device sda1): bdev /dev/sda1 errs: wr 0, rd 0, flush 0, corrupt 29, gen 0 [2124093.659404] BTRFS error (device sda1): unable to fixup (regular) error at logical 4069195776 on dev /dev/sda1 [2124093.667186] BTRFS error (device sda1): bdev /dev/sda1 errs: wr 0, rd 0, flush 0, corrupt 30, gen 0 [2124093.667211] BTRFS error (device sda1): unable to fixup (regular) error at logical 4069212160 on dev /dev/sda1 [2124093.668069] BTRFS warning (device sda1): checksum error at logical 4069216256 on dev /dev/sda1, sector 10061224, root 263, inode 160032, offset 0, length 4096, links 1 (path: var/backups/dpkg.status.1.gz) [2124093.668098] BTRFS error (device sda1): bdev /dev/sda1 errs: wr 0, rd 0, flush 0, corrupt 31, gen 0 [2124093.668117] BTRFS error (device sda1): unable to fixup (regular) error at logical 4069216256 on dev /dev/sda1 [2124093.668743] BTRFS warning (device sda1): checksum error at logical 4069220352 on dev /dev/sda1, sector 10061232, root 263, inode 160032, offset 4096, length 4096, links 1 (path: var/backups/dpkg.status.1.gz) [2124093.668759] BTRFS error (device sda1): bdev /dev/sda1 errs: wr 0, rd 0, flush 0, corrupt 32, gen 0 [2124093.668769] BTRFS error (device sda1): unable to fixup (regular) error at logical 4069220352 on dev /dev/sda1 [2124093.669341] BTRFS warning (device sda1): checksum error at logical 4069224448 on dev /dev/sda1, sector 10061240, root 263, inode 160032, offset 8192, length 4096, links 1 (path: var/backups/dpkg.status.1.gz) [2124093.669356] BTRFS error (device sda1): bdev /dev/sda1 errs: wr 0, rd 0, flush 0, corrupt 33, gen 0 [2124093.669367] BTRFS error (device sda1): unable to fixup (regular) error at logical 4069224448 on dev /dev/sda1 [2124293.937484] BTRFS warning (device sda1): checksum error at logical 4069195776 on dev /dev/sda1, sector 10061184, root 263, inode 159281, offset 9424896, length 4096, links 1 (path: var/lib/influxdb/wal/_internal/monitor/6/_00001.wal) [2124293.937516] BTRFS error (device sda1): bdev /dev/sda1 errs: wr 0, rd 0, flush 0, corrupt 34, gen 0 [2124293.937538] BTRFS error (device sda1): unable to fixup (regular) error at logical 4069195776 on dev /dev/sda1 [2124293.945168] BTRFS error (device sda1): bdev /dev/sda1 errs: wr 0, rd 0, flush 0, corrupt 35, gen 0 [2124293.945189] BTRFS error (device sda1): unable to fixup (regular) error at logical 4069212160 on dev /dev/sda1 [2124293.945928] BTRFS warning (device sda1): checksum error at logical 4069216256 on dev /dev/sda1, sector 10061224, root 263, inode 160032, offset 0, length 4096, links 1 (path: var/backups/dpkg.status.1.gz) [2124293.945951] BTRFS error (device sda1): bdev /dev/sda1 errs: wr 0, rd 0, flush 0, corrupt 36, gen 0 [2124293.945966] BTRFS error (device sda1): unable to fixup (regular) error at logical 4069216256 on dev /dev/sda1 [2124293.946667] BTRFS warning (device sda1): checksum error at logical 4069220352 on dev /dev/sda1, sector 10061232, root 263, inode 160032, offset 4096, length 4096, links 1 (path: var/backups/dpkg.status.1.gz) [2124293.946690] BTRFS error (device sda1): bdev /dev/sda1 errs: wr 0, rd 0, flush 0, corrupt 37, gen 0 [2124293.946705] BTRFS error (device sda1): unable to fixup (regular) error at logical 4069220352 on dev /dev/sda1 [2124293.947398] BTRFS warning (device sda1): checksum error at logical 4069224448 on dev /dev/sda1, sector 10061240, root 263, inode 160032, offset 8192, length 4096, links 1 (path: var/backups/dpkg.status.1.gz) [2124293.947420] BTRFS error (device sda1): bdev /dev/sda1 errs: wr 0, rd 0, flush 0, corrupt 38, gen 0 [2124293.947434] BTRFS error (device sda1): unable to fixup (regular) error at logical 4069224448 on dev /dev/sda1Jenže soubor/y neexistuje/í:
sudo btrfs inspect-internal inode-resolve 160032 / ERROR: ino paths ioctl: No such file or directory
sudo ls /var/backups/dpkg.status.1.gz ls: nelze přistoupit k '/var/backups/dpkg.status.1.gz': Adresář nebo soubor neexistujeDíky
Tady se tentokrát objevuje root 263.
Jestli si to dobře pamatuju, tohle číslo by mohlo být ID nějaké subvolume. Ukazuje se číslo 263 někde ve výpisu btrfs subvolume list /?
Jestli jo a jestli příslušná subvolume není přímo přístupná z `/var` (třeba proto, že je k ní úplně jiná cesta; může jít třeba o snapshot namountovaný kdovíkam, jestli vůbec někam), pak by to vysvětlovalo, proč ten soubor v kořenovém souborovém systému není.
U mě například ten výpis subvolume vypadá takto:
ID 259 gen 824284 top level 5 path arch_root ID 260 gen 824317 top level 5 path arch_home ID 261 gen 824317 top level 5 path arch_var ID 262 gen 824210 top level 259 path etc ID 263 gen 29 top level 261 path arch_var/lib/machines ID 891 gen 601725 top level 261 path arch_var/lib/portables
Samozřejmě tam toho bude mnohem víc (ba spousta) u někoho, kdo používá automatické periodické snapshoty a/nebo atomické aktualizace systému pomocí snapshotů.
Chtělo by to podívat se, která subvolume má ID 263 a případně kam je namountovaná. Ono se taky dá takhle do té subvolume přímo explicitně podívat:
mount -o subvolid=263 UUID=f214bc43-6382-4157-b80a-54f6f6f7a8af /mnt
Takhle^^^ se ta příslušná subvolume objeví v /mnt a dá se zkontrolovat, jestli je tam /mnt/var/backups/dpkg.status.1.gz nebo ne (a jestli se dá smazat). No a jestli ne, pak mi nezbývá než konstatovat, že v tomhle případě nechápu, co se děje. 
Ještě k těm cestám k subvolume: Některé systémy jsou nastavené tak, že bootují z jiné subvolume než kořenové. Třeba zrovna já to tak mám. Takže například arch_root je můj kořenový filesystém a subvolume arch_var je namountovaný do /var, což z pohledu kořenové subvolume je /arch_root/var. (Adresáře, kde se mají implicitně objevovat subvolume, se dají určit pomocí btrfs subvolume set-default ... nebo postaru a tradičně (byť méně elegantně) pomocí /etc/fstab a optionů subvol nebo subvolid.
Protože seznam subvolume a (někdy; nejsem si jistý jak přesně to je) i cesty k poškozeným souborům se generují podle toho set-default nastavení, nikoliv podle toho, jak věci uspořádá /etc/fstab, může se hodit nakouknout do kořenové subvolume. To se dá zařídit jednoduše namountováním filesystému (opakovaně), třeba do /mnt:
mount UUID=f214bc43-6382-4157-b80a-54f6f6f7a8af /mnt
Podle toho, co se tam^^^ objeví, můžou pak cesty k subvolume nebo k souborům v dmesg dávat lepší smysl. Například u mě bude po takovém mountu (v souladu se seznamem subvolumes zmíněným výše) vidět toto:
# ls /mnt arch_home arch_root arch_var
pou@wolf:~$ sudo dmesg -c pou@wolf:~$ sudo btrfs scrub start / scrub started on /, fsid f214bc43-6382-4157-b80a-54f6f6f7a8af (pid=6588) pou@wolf:~$ ERROR: there are uncorrectable errors pou@wolf:~$ sudo btrfs scrub status / [sudo] heslo pro pou: scrub status for f214bc43-6382-4157-b80a-54f6f6f7a8af scrub started at Tue May 14 07:04:58 2019 and finished after 00:02:23 total bytes scrubbed: 4.38GiB with 1 errors error details: csum=1 corrected errors: 0, uncorrectable errors: 1, unverified errors: 0 pou@wolf:~$ sudo dmesg [2160221.182631] BTRFS error (device sda1): bdev /dev/sda1 errs: wr 0, rd 0, flush 0, corrupt 41, gen 0 [2160221.182657] BTRFS error (device sda1): unable to fixup (regular) error at logical 4069212160 on dev /dev/sda1 pou@wolf:~$ sudo btrfs scrub status / scrub status for f214bc43-6382-4157-b80a-54f6f6f7a8af scrub started at Tue May 14 07:04:58 2019 and finished after 00:02:23 total bytes scrubbed: 4.38GiB with 1 errors error details: csum=1 corrected errors: 0, uncorrectable errors: 1, unverified errors: 0 pou@wolf:~$
journalctl --output cat | grep '4069212160' | uniq
pou@wolf:~$ sudo journalctl --output cat | grep '4069212160' | uniq BTRFS error (device sda1): unable to fixup (regular) error at logical 4069212160 on dev /dev/sda1 pou@wolf:~$Ještě doplním:
pou@wolf:~$ sudo journalctl --output cat | grep -i btrf |tail -n 30
BTRFS warning (device sda1): checksum error at logical 4069220352 on dev /dev/sda1, sector 10061232, root 263, inode 160032, offset 4096, length 4096, links 1 (path: var/backups/dpkg.status.1.gz)
BTRFS error (device sda1): bdev /dev/sda1 errs: wr 0, rd 0, flush 0, corrupt 37, gen 0
BTRFS error (device sda1): unable to fixup (regular) error at logical 4069220352 on dev /dev/sda1
BTRFS warning (device sda1): checksum error at logical 4069224448 on dev /dev/sda1, sector 10061240, root 263, inode 160032, offset 8192, length 4096, links 1 (path: var/backups/dpkg.status.1.gz)
BTRFS error (device sda1): bdev /dev/sda1 errs: wr 0, rd 0, flush 0, corrupt 38, gen 0
BTRFS error (device sda1): unable to fixup (regular) error at logical 4069224448 on dev /dev/sda1
pou : TTY=pts/1 ; PWD=/home/pou ; USER=root ; COMMAND=/bin/btrfs scrub status /
pou : TTY=pts/1 ; PWD=/home/pou ; USER=root ; COMMAND=/bin/btrfs inspect-internal inode-resolve 160032 /
pou : TTY=pts/1 ; PWD=/home/pou ; USER=root ; COMMAND=/bin/btrfs scrub status /
pou : TTY=pts/1 ; PWD=/home/pou ; USER=root ; COMMAND=/bin/btrfs subvolume list /
pou : TTY=pts/1 ; PWD=/home/pou ; USER=root ; COMMAND=/bin/btrfs device stat /dev/sda
pou : TTY=pts/1 ; PWD=/home/pou ; USER=root ; COMMAND=/bin/btrfs scrub start /
pou : TTY=pts/1 ; PWD=/home/pou ; USER=root ; COMMAND=/bin/btrfs scrub status /
pou : TTY=pts/1 ; PWD=/home/pou ; USER=root ; COMMAND=/bin/btrfs scrub status /
BTRFS error (device sda1): bdev /dev/sda1 errs: wr 0, rd 0, flush 0, corrupt 39, gen 0
BTRFS error (device sda1): unable to fixup (regular) error at logical 4069212160 on dev /dev/sda1
pou : TTY=pts/1 ; PWD=/home/pou ; USER=root ; COMMAND=/bin/btrfs scrub status /
pou : TTY=pts/1 ; PWD=/home/pou ; USER=root ; COMMAND=/bin/btrfs scrub start /
pou : TTY=pts/1 ; PWD=/home/pou ; USER=root ; COMMAND=/bin/btrfs scrub status /
pou : TTY=pts/1 ; PWD=/home/pou ; USER=root ; COMMAND=/bin/btrfs scrub status /
pou : TTY=pts/1 ; PWD=/home/pou ; USER=root ; COMMAND=/bin/btrfs scrub status /
pou : TTY=pts/1 ; PWD=/home/pou ; USER=root ; COMMAND=/bin/btrfs scrub status /
BTRFS error (device sda1): bdev /dev/sda1 errs: wr 0, rd 0, flush 0, corrupt 40, gen 0
BTRFS error (device sda1): unable to fixup (regular) error at logical 4069212160 on dev /dev/sda1
pou : TTY=pts/1 ; PWD=/home/pou ; USER=root ; COMMAND=/bin/btrfs scrub status /
pou : TTY=pts/1 ; PWD=/home/pou ; USER=root ; COMMAND=/bin/btrfs scrub start /
BTRFS error (device sda1): bdev /dev/sda1 errs: wr 0, rd 0, flush 0, corrupt 41, gen 0
BTRFS error (device sda1): unable to fixup (regular) error at logical 4069212160 on dev /dev/sda1
pou : TTY=pts/1 ; PWD=/home/pou ; USER=root ; COMMAND=/bin/btrfs scrub status /
pou : TTY=pts/1 ; PWD=/home/pou ; USER=root ; COMMAND=/bin/btrfs scrub status /
pou@wolf:~$
Tak u toho čísla bloku by se mělo dát zjistit, ze kterého souboru pochází:
btrfs inspect-internal logical-resolve 4069220352 /
Ovšem tohle^^^ má zase ten samý problém kolem hledání cest — zase to vyžaduje implicitní kořenový subvolume. Když se nabootuje z jiného subvolume, říká mi to: ERROR: logical ino ioctl: No such file or directory.
Takže, pokud tomu dobře rozumím, workaround by asi byl:
mount UUID=f214bc43-6382-4157-b80a-54f6f6f7a8af /mnt btrfs inspect-internal logical-resolve 4069220352 /mnt btrfs inspect-internal logical-resolve 4069224448 /mnt btrfs inspect-internal logical-resolve 4069212160 /mnt
Toto^^^ by mělo (snad, možná) říct, kterých souborů se problém týká. No a jestli ani tohle nepřinese kloudný výsledek, já osobně bych pak asi vyzkoušel příkaz btrfs restore .... To už je ale těžké kladivo a musí se to provést na odmountovaném filesystému.
Tento blogpost shrnuje možné postupy v různých situacích (včetně této) a zmiňuje taky btrfs restore .... Možná by se hodilo něco z toho zkusit, ale nikdy jsem podobnou situaci v praxi neviděl, takže nevím, co doporučit.
Tiskni
Sdílej: