Chyba cteni disku

Zbyněk Burget zburget at burgnet.cz
Mon Sep 1 21:17:17 CEST 2014


Dne 1. 9. 2014 v 14:22 Dan Lukes napsal(a):
> On 09/01/14 13:30, Miroslav Lachman:
>
> To vim, kdy nemuze necitelny soubor zasahnout. To kdyz mas velikost
> fragmentu vetsi nez jeden sektor (coz neni neobvykle) a poskozeny je
> nektery ze sektoru fragmentu, ktery uz neni pouzity pro ulozeni dat.
>
> Takovy sektor neni volny (protoze nejmensi alokacni jednotkou je
> fragment) a "zaplnenim disku" ho netrefis.
>
> Nemusi ho ale najit ani precteni vsech souboru, protoze tenhle konkretni
> sektor je sice soucasti fragmentu, ktery patri do nejakeho souboru, ale
> neni sektorem ve kterem jsou ulozena nejaka data toho souboru.

No, ale kdyz nad timhle tak nejak premyslim, tak tohle by mi v podstate 
nemelo tak nejak vadit - vadny sektor je v miste, kde nic neni. Az se 
tam neco bude chtit zapsat, tak se "opravi".

Muj vadny sektor musi byt nekde v datech, protoze mi na konzole skacou 
chyby cteni. kdyby byla chyba ve volnem miste, tak by to, predpokladam, 
nic nechtelo cist.

>
> Dale si nejsem jisty, jestli "cteci" metoda spolehlive trefi sektor,
> ktery patri do nejake (drive velke, dnes ale prevazne nepouzivane)
> adresarove struktury (soubor typu 'd'). Ze ho netrefi metoda
> "zaplnovaci" je jasny.

No, to je taky otazka - co kdyz je vadny sektor v adresarove strukture? 
Kdy mi takhle nahlasi chybu cteni?

>
>
> Takze nakonec jsem si napsal vlastni utilitu, ktera cte cely disk po
> relativne velkych blocich (takze pomerne rychle) a kdyz se konkretni
> blok nepovede, tak to pulenim intervalu upresni az na uroven jednoho
> sektoru - a prepise jen ten. Navic za "problem" nepovazuju jen to, ze se
> dany blok nepodarilo precist vubec, ale i to, ze jeho cteni trvalo
> "nejak podezrele dlouho". V takovem pripad predpokladam, ze blok
> obsahuje sektor s "mekkou vadou", ktery sel precist jen zasluhou L2
> samoopravnych mechanismu (ktere ale trvaji dele) - a pro jistotu ho
> prepisu taky (dokud z nej jeste mam kompletni a spravna data). Nic
> horsiho, nez to, ze jsem ho prepsal zbytecne se nestane.

Zeptam se dost netaktne - nedala by se ta utilita nejak nekde najit / 
ziskat / upiratit ;-) ?
Je mozne ji pustit za chodu systemu nebo musi pri jejim behu byt system 
mimo provoz?
Predpokladam, ze se ctenim problem nebude - cist muzu kdykoli cokoli. Co 
se ale stane pri pokusu o zapis?
...a dozvim se pri pouziti tehle utility ktery soubor / adresarova 
struktura byla zasazena?


Mimochodem - porad nejak proste nechapu, ze muze byt takovy problem 
zjistit, ktery sektor patri kteremu souboru. System nema problem s tim, 
ze kdyz chce neco precist nebo neco zapsat, aby spravne sektory nasel a 
prcetl / zapsal a udelal o tom zaznam do alokacnich tabulek...
Kdyz se to neda dopocitat od sektoru k souboru, co kdyby se na to slo 
proste jen naopak? Vzit adresarovou strukturu "/" a jet cely disk 
adresar po adresari, soubor po souboru a cist jen sektory, kde dana 
struktura / soubor lezi. To by mohla byt vicemene celkem rychla operace 
(jasne, v zavislosti na poctu adresaru), cetly by se "jen" alokacni 
tabulky".
A netlucte mne, jsem si vedom toho, ze se mi o tom strasne snadno mluvi, 
kdyz o tom vim tak akorat velky ne prilis vonavy. A stejne si to 
nenaprogramuju. Treba to ale neni uplne debilni napad a nekdo to 
naprogramovat zkusi, protoze se mu to bude hodit.

Zbynek


More information about the Users-l mailing list