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