abclinuxu.cz AbcLinuxu.cz itbiz.cz ITBiz.cz HDmag.cz HDmag.cz abcprace.cz AbcPráce.cz
Inzerujte na AbcPráce.cz od 950 Kč
Rozšířené hledání
×
    včera 19:00 | Zajímavý projekt

    Na crowdsourcingové platformě Crowd Supply byla spuštěna kampaň na podporu open source biometrického monitoru ve tvaru hodinek HealthyPi Move. Cena je 249 dolarů a plánovaný termín dodání listopad letošního roku.

    Ladislav Hagara | Komentářů: 3
    24.5. 22:22 | Upozornění Ladislav Hagara | Komentářů: 9
    24.5. 17:44 | Nová verze

    Firma Murena představila /e/OS verze 2.0. Jde o  alternativní sestavení Androidu bez aplikací Google. Mezi novinkami je podrobnější nastavení ochrany soukromí před sledováním aplikacemi. Murena prodává několik smartphonů s předinstalovaným /e/OS (Fairphone, repasovaný Google Pixel 5).

    Fluttershy, yay! | Komentářů: 0
    24.5. 14:33 | Zajímavý software

    Do 30. května lze v rámci akce Warhammer Skulls 2024 získat na Steamu zdarma hru Warhammer 40,000: Gladius - Relics of War.

    Ladislav Hagara | Komentářů: 1
    24.5. 13:33 | Nová verze

    HelenOS (Wikipedie), tj. svobodný operační systém českého původu založený na architektuře mikrojádra, byl vydán ve verzi 0.14.1. Přehled novinek v poznámkách k vydání. Vypíchnou lze nabídku Start. Videopředstavení na YouTube.

    Ladislav Hagara | Komentářů: 2
    23.5. 23:22 | Zajímavý software

    BreadboardOS je firmware pro Raspberry Pi Pico (RP2040) umožňující s tímto MCU komunikovat pomocí řádkového rozhraní (CLI). Využívá FreeRTOS a Microshell.

    Ladislav Hagara | Komentářů: 0
    23.5. 16:55 | Nová verze

    Vývojáři KDE oznámili vydání balíku aplikací KDE Gear 24.05. Přehled novinek i s náhledy a videi v oficiálním oznámení. Do balíku se dostalo 5 nových aplikací: Audex, Accessibility Inspector, Francis, Kalm a Skladnik.

    Ladislav Hagara | Komentářů: 12
    23.5. 12:55 | Nová verze

    Byla vydána (𝕏) nová verze 18.0.0 open source webového aplikačního frameworku Angular (Wikipedie). Přehled novinek v příspěvku na blogu.

    Ladislav Hagara | Komentářů: 0
    22.5. 23:44 | Pozvánky

    V neděli 26. května lze navštívit Maker Faire Rychnov nad Kněžnou, festival plný workshopů, interaktivních činností a především nadšených a zvídavých lidí.

    Ladislav Hagara | Komentářů: 0
    22.5. 16:33 | Nová verze

    Byla vydána nová stabilní verze 3.20.0, tj. první z nové řady 3.20, minimalistické linuxové distribuce zaměřené na bezpečnost Alpine Linux (Wikipedie) postavené na standardní knihovně jazyka C musl libc a BusyBoxu. Z novinek lze vypíchnou počáteční podporu 64bitové architektury RISC-V.

    Ladislav Hagara | Komentářů: 0
    Podle hypotézy Mrtvý Internet mj. tvoří většinu online interakcí boti.
     (86%)
     (3%)
     (5%)
     (5%)
    Celkem 710 hlasů
     Komentářů: 16, poslední 14.5. 11:05
    Rozcestník

    Dotaz: btrfs mount failed: No space left on device

    11.5.2020 14:03 Jiří Lisický | skóre: 31 | blog: JIL_blog | Olomouc
    btrfs mount failed: No space left on device
    Přečteno: 514×

    Ahoj, na mém telefonu Jolla začala chcípat baterka. Párkrát to lehlo natvrdo a teď nenastartuje vůbec. Dostal jsem se do recovery modu, je nějak nakopnutý btrfs. Překopíroval jsem device na kterém je filesystém na normální PC - Centos 7 (zkoušel jsem to i na live Fedora 31). Btrfs na PC nepoužívám, takže se tím prokousávám. Pomocí btrfs restore jde data vykopírovat. Ale zatím jsem nedokázal ten fs opravit.

    Tady jsou mé, zatím marné pokusy. Příkazem btrfs zero-log jsem se trochu posunul, už to jde namoutovat, ale pouze RO. Chtěl jsem tedy přidat nějaký prostor, ale to mi zas píše, že je jen pro čtení.

    ~ # losetup --find --show /home/jirka/tmp/jolla.img
    /dev/loop0
    
    ~ # btrfs fi show
    Label: 'sailfish'  uuid: 86180ca0-d351-4551-b262-22b49e1adf47
    	 Total devices 1 FS bytes used 4.73GiB
    	 devid    1 size 13.75GiB used 13.75GiB path /dev/loop0
    
    ~ # mount -t btrfs /dev/loop0 ~/mnt
    mount: /dev/loop0: can't read superblock
    
    ~ # mount -t btrfs -o usebackuproot /dev/loop0 ~/mnt
    mount: /dev/loop0: can't read superblock
    
    ~ # btrfs rescue super-recover /dev/loop0
    All supers are valid, no need to recover
    
    / # btrfs check /dev/loop0
    Checking filesystem on /dev/mmcblk0p28
    UUID: 86180ca0-d351-4551-b262-22b49e1adf47
    checking extents
    checking free space cache
    checking fs roots
    checking csums
    checking root refs
    checking quota groups
    Counts for qgroup id: 264 are different
    our:            referenced 876449792 referenced compressed 876449792
    disk:           referenced 876449792 referenced compressed 876449792
    our:            exclusive 872464384 exclusive compressed 872464384
    disk:           exclusive 4096 exclusive compressed 4096
    diff:           exclusive 872460288 exclusive compressed 872460288
    Counts for qgroup id: 265 are different
    our:            referenced 73646080 referenced compressed 73646080
    disk:           referenced 73646080 referenced compressed 73646080
    our:            exclusive 15380480 exclusive compressed 15380480
    disk:           exclusive 4096 exclusive compressed 4096
    diff:           exclusive 15376384 exclusive compressed 15376384
    found 2841431300 bytes used err is 0
    total csum bytes: 4715584
    total tree bytes: 235204608
    total fs tree bytes: 214499328
    total extent tree bytes: 12795904
    btree space waste bytes: 70058462
    file data blocks allocated: 4970160128
     referenced 4793737216
    
    ~ # btrfs rescue zero-log /dev/loop0
    parent transid verify failed on 94920704 wanted 2727500 found 2727499
    parent transid verify failed on 94920704 wanted 2727500 found 2727499
    parent transid verify failed on 94920704 wanted 2727500 found 2727499
    parent transid verify failed on 94920704 wanted 2727500 found 2727499
    Ignoring transid failure
    Clearing log on /dev/loop0, previous log_root 94920704, level 0
    
    ~ # btrfs rescue zero-log /dev/loop0
    Clearing log on /dev/loop0, previous log_root 0, level 0
    
    ~ # mount -t btrfs /dev/loop0 ~/mnt
    mount: mount /dev/loop0 on /root/mnt failed: No space left on device
    
    ~ # mount -t btrfs -o ro /dev/loop0 ~/mnt
    
    ~ # btrfs fi df ~/mnt
    Data, single: total=13.08GiB, used=4.51GiB
    System, DUP: total=8.00MiB, used=4.00KiB
    System, single: total=4.00MiB, used=0.00B
    Metadata, DUP: total=330.00MiB, used=224.30MiB
    Metadata, single: total=8.00MiB, used=0.00B
    GlobalReserve, single: total=512.00MiB, used=406.37MiB
    
    ~ # truncate --size=2GB ~/tmp/space
    ~ # losetup --find --show ~/tmp/space
    /dev/loop1
    
    ~ # btrfs device add /dev/loop1 ~/mnt/
    Performing full device TRIM /dev/loop1 (1.86GiB) ...
    ERROR: error adding device '/dev/loop1': Read-only file system
    
    Za veškeré rady přede díky.

    Odpovědi

    Josef Kufner avatar 11.5.2020 15:36 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: btrfs mount failed: No space left on device
    Opravit nejde. Je to vlastnost btrfs. Pokud se o opravu pokusíš, tak se ten filesystém rozpadne úplně.

    Vyrob nový filesystém, data překopíruj, starý zahoď a nový nahrej do telefonu.
    Hello world ! Segmentation fault (core dumped)
    13.5.2020 09:54 drnest | skóre: 13 | blog: Dřinu nechte strojům
    Rozbalit Rozbalit vše Re: btrfs mount failed: No space left on device
    Drsný. Než se do toho pustím, našel by se ještě někdo, kdo by to mohl potvrdit? Že to jinak nejde vyřešit? Díky.
    13.5.2020 10:45 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: btrfs mount failed: No space left on device
    Psal jsem ti na to odpověď už v pondělí, ale měli jsme problém se switchem, tak to neodešlo a pak už jsem se k tomu nedostal.

    Pokud tomu dobře rozumím, udělal sis zálohu disku z toho telefonu, kterou ses pokusil mountnout přes loop.

    1, pokoušel bych se to mountovat nikoliv rovnou přes loop zařízení, ale přes label nebu uuid

    2, Option usebackuproot jsem nikdy nepoužil, používal jsem jen recovery, které tím bylo nahrazeno až od jádra 4.5 Nevím co máš za jádro.

    Pak jsi dělal nějaké opičky, které mi dost dobře nejsou jasné. Nicméně ti t o napsalo, že je vše ok.

    Potom jsi vynuloval log, a podařilo se ti to konečně namountovat v režimu readonly. Jenomže do readonly systému těžko přidáš nové zařízení.

    Zkusil jsi alespoň vylistovat, co tam je? A co udělat remount na rw?
    13.5.2020 13:38 drnest | skóre: 13 | blog: Dřinu nechte strojům
    Rozbalit Rozbalit vše Re: btrfs mount failed: No space left on device

    1, no zkoušel jsem mount -t btrfs LABEL=sailfish mnt, ale to nejde. Ty labely jde použít jen na bloková zařízení, ne? V nějakém souboru, to jádro přece samo od sebe nemůže vidět.

    2, na Centosu7 je 3.10 a ne Fedoře31 je 5.6.6. Jo to, že je to nahrazeno jsem četl na wiki btrfs.

    Psalo to, že nemůže přečíst superblock, tak jsem tam dal příkaz, který zas říká, že superblock je v pořádku. Nedělal jsem check --repair, protože někde psali, že je to až poslední možnost. Zero-log to trošku někam posunulo, protože do té doby nešel mount vůbec. Jenže teď jde jen readonly.

    Vylistovat to jde, rw jsem zkoušel a nešlo mi to taky. Teď jsem to zkusil znova a ta chyba mi připadne divná:

    /home/jirka/tmp # mount -t btrfs -o remount,rw mnt
    mount: cannot remount /dev/loop0 read-write, is write-protected

    13.5.2020 14:15 drnest | skóre: 13 | blog: Dřinu nechte strojům
    Rozbalit Rozbalit vše Re: btrfs mount failed: No space left on device

    Teda abych byl přesný, ten check --repair jsem taky zkoušel. Mám to přece jako kopii image, tak můžu experimentovat. Proběhlo to, opravilo ty dva problémy s qgroup. Teď jsem si to ověřoval a vidím tohle:

    btrfs check /dev/loop0
    Checking filesystem on /dev/loop0
    UUID: 86180ca0-d351-4551-b262-22b49e1adf47
    checking extents
    checking free space cache
    block group 144703488 has wrong amount of free space
    failed to load free space cache for block group 144703488
    checking fs roots
    checking csums
    checking root refs
    checking quota groups
    found 5075169280 bytes used err is 0
    total csum bytes: 4715584
    total tree bytes: 235204608
    total fs tree bytes: 214499328
    total extent tree bytes: 12795904
    btree space waste bytes: 70058774
    file data blocks allocated: 4970029056
     referenced 4793606144
    

    A když zkouším ten mount, tak v logu najdu:

    BTRFS info (device loop0): disk space caching is enabled
    BTRFS info (device loop0): creating UUID tree
    BTRFS warning (device loop0): block group 144703488 has wrong amount of free space
    BTRFS warning (device loop0): failed to load free space cache for block group 144703488, rebuilding it now
    BTRFS warning (device loop0): failed to create the UUID tree: -28
    BTRFS: open_ctree failed
    13.5.2020 15:00 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: btrfs mount failed: No space left on device
    Tady někdo řešil podobný problém. A vyřešil to tak, že to překlopil na větší disk. Tedy vlastně to co jsem ti už napsal, pouze s tím rozdílem, že nepoužil send-receive, ale restore.
    Josef Kufner avatar 13.5.2020 17:08 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: btrfs mount failed: No space left on device
    Pokud pomůže větší disk, nemohlo by stačit přidat další disk (tj. RAID0)? Třeba jen malou flashku, nebo zahozený swapovací oddíl – cokoliv, co je zrovna po ruce, aby se to opravilo a byla příležitost něco smazat.
    Hello world ! Segmentation fault (core dumped)
    13.5.2020 17:45 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: btrfs mount failed: No space left on device
    To zkoušel hned na začátku. Viz původní text.
    13.5.2020 14:52 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: btrfs mount failed: No space left on device
    Ta cesta asi není v pořádku. Existoval mountpoint /home/jirka/tmp/mnt ?

    A není náhodou nějakým způsobem blokovaný ten soubor jolla.img? Sice to mountuješ jako root přes loop, ale nebrání tomu nějaká věc? Co vypíše df? Je to zaplácnuté, nebo ukazuje, že tam je nějaké místo?

    Osobně bych to zkopíroval raději z uživatelského adresáře jinam. A na tu kopii zkusil aplikovat ten truncate, abych tomu Btrfs dal prostor. Zkusil bych to taky namountovat s volbou clear_cache a případně i nodatacow, aby se nepokoušel ty data převalovat.

    Pokud to lze číst, tak by to mělo jít vyexportovat do jiného Btrfs filesystému. Takže bych si udělal nový image o trochu větší velikosti, namountoval přes loop, naformátoval na Btrfs, namountoval a pak to do něj pustil přes send-receive.
    13.5.2020 11:20 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: btrfs mount failed: No space left on device
    Mimochodem, příkaz truncate lze použít i na soubor s daty. Takže si můžeš zvětšit rovnou ten "disk" a udělat resize toho btrfs, aniž bys přidával další virtuální disk.
    13.5.2020 13:45 drnest | skóre: 13 | blog: Dřinu nechte strojům
    Rozbalit Rozbalit vše Re: btrfs mount failed: No space left on device
    To mě nenapadlo. Ale já jsem zatím nepřišel na způsob, jak to přimountovat jinak než RO. A jestli to mu správně rozumím, tak dokud to nenamountuju RW, tak s tím moc neudělám :-(
    Josef Kufner avatar 13.5.2020 12:25 Josef Kufner | skóre: 70
    Rozbalit Rozbalit vše Re: btrfs mount failed: No space left on device
    Na těch pár GB, které v telefonu máš, bych to vůbec neřešil a překopíroval to. Ale pokud se ti to povede opravit, tak se těším na podrobnosti pro případ až se mi rozpadne ten můj FS s terabajtem fotek ;-)
    Hello world ! Segmentation fault (core dumped)
    13.5.2020 12:49 Aleš Kapica | skóre: 51 | blog: kenyho_stesky | Ostrava
    Rozbalit Rozbalit vše Re: btrfs mount failed: No space left on device
    Podle toho co popisuje, bych tipoval, že to crashlo ve chvíli, kdy se zapisoval nějaký soubor. FAQ a mountovací volby btrfs nabízí přehršel možných řešení vzniklé situace. Jenže tyhle dohady bez přístupu k tomu obrazu disku, se kterým má problém jsou o ničem.

    Z toho výpisu je zřejmé, že ten FS byl nejspíš na nějaké MicroSD kartě. Třeba už začala jít do kopru a odešel na ní kus, kde byl nějaký důležitý soubor. S tím nic nenadělá ani kdyby to kropil svěcenou vodou, ale data z toho vykopírovat půjdou, pokud taky zrovna nebyly v místech co se už nedaly přečíst.
    13.5.2020 14:25 drnest | skóre: 13 | blog: Dřinu nechte strojům
    Rozbalit Rozbalit vše Re: btrfs mount failed: No space left on device
    Jo ten crash vidím stejně. Ty stránky jsem našel a zkoušel - netvrdím, že všechno.

    Není to na SD kartě, je to interní paměť telefonu.

    Založit nové vláknoNahoru

    Tiskni Sdílej: Linkuj Jaggni to Vybrali.sme.sk Google Del.icio.us Facebook

    ISSN 1214-1267   www.czech-server.cz
    © 1999-2015 Nitemedia s. r. o. Všechna práva vyhrazena.