FreeBSD 6 panic s FAT32

Dan Lukes dan at obluda.cz
Sat Sep 10 10:36:00 CEST 2005


Miroslav Lachman wrote:

> Zkusil jsem fsck_msdosfs jak ve FreeBSD 6, tak ve FreeBSD 5.4. V 5.4 
> nenajde zadny problem, v 6 najde toto:
> *** Phase 1. Read and Compare FATs
> FAT starts with odd byte sequence (f8fffffffffffff7)
> Correct? no [dam yes, aby to opravil]
> Pokud znovu spustim fsck_msdosfs, opet to najde tu samou chybu - a tak 
> porad dokola.
> Kdyz fsck_msdosfs spustim jeste pred pokusem o mount, tak se chyba 
> neobjevi, jakmile vsak oddil primountuji a odmountuji, zase to zahlasi 
> tuhle chybu. 

	To s problemem nesouvisi. Zminena hodnota na zacatku FAT slouzi (u 
FAT16 a FAT32, u FAT12 ne) jako znacka "dirty". Aby system poznal, 
jestli pri poslednim pouzivani byla partition korektne odmountovana (a 
mela by tedy byt v poradku) nebo ne a je vhodne uvazovat o FSCK.

	Jenze, kod zajistujici tohle je trochu nejasne napsany (tedy, kdyz jsem 
se do nej naposled dival, coz je asi sest nedel) a v nekterych situacich 
hodnotu flagu nenastavuje dobre a partition zustane oznacena jako 
"dirty" i v situaci, kdy to neni na miste. (ja vedel o situaci kdy RW 
partition premountuju na RO, je ale mozne, ze se to deje i v jinych 
situacich).

	No a ta hlaska FSCK by mohla byt zvolena vhodneji ...

> primountovani FAT32 oddilu a pokusu o cteni z nej (staci treba i jen 
> vypis souboru prikazem `ls`) zpanikari. Dela mi to ve vsech mnou 
> testovanych verzich FreeBSD 6 (zkousel jsem Beta 1, 3, 4).

> Jakmile zkusim cist z disku - panic:
> panic: wrong dirclust

	Tenhle neznam. Ja znam jiny, souvisejici s mountovanim jakehokolvi FAT 
oddilu za pritomnosti geom_label modulu v jadre. (nebo obracene, 
aktivaci tohoto modulu v systemu, kde jsou MSDOS disky).

	Cast chyby byla nedavno opravena, nicmene, relevantni kod geom_label je 
stale napsany jak od prasete (a ja takovehle vyrazy pouzivam malokdy). 
Oprava zalepila jen nejhnusnejsi chyby na ktere zrovna nekdo upozornil a 
vsechno ostatni ponechala v puvodnim stavu, ackoliv je jasne, ze je jen 
otazka kombinace hardwaru, nez kod spadne i tam.

	Jestli je ale tohle nejaky dalsi projev kvality tohoto kodu, nebo jde o 
neco uplne jineho nelze takhle jednoduse posoudit.

> nebo je mozne, ze by jeste i v bete 4 byl nejaky schovany bug?

	Jak by mohl. Bug ? Ve FreeBSD ? Nesmysl ... ;-)

							Dan




More information about the Users-l mailing list