Swap na disku s vadnym sektorem - co Vy na to ?
Jirka Kosina
jikos na jikos.cz
Pátek Leden 18 20:47:33 CET 2002
On Fri, 18 Jan 2002, Petr Simek wrote:
> mam takovy dotaz - mam PC v nem disk s vadnym sektorem. Udelal jsem
> partisnu v oblasti s tim sektorem, oznacil ji jako swap. Vyrobil jsem
> swap pomoci 'mkswap -c /dev/..' a vypsalo mi to "one bad page" .
> Ted ve mne vrta cervik pochybnosti - kdyz to napsal, pochopil ze je sektor
> vadny a stranku ktera jej mela obsahovat vynechal a tedy je mozno swap
> pouzivat bez problemu ? Nebo je to jen takove varovani ?
> Verbose mod to nema, zda se mi to takove nejednoznacne ....
Rekl bych, ze pochopil, ze stranka je vadna a nemel by ji pouzivat,
nicmene jak znami, vadne sektory se rady mnozi, a nevim, jestli kernelovy
swapper je, narozdil od mkswap mista vadnych stranek dynamicky detekovat a
oznacovat jako spatna.
Nicmene pohledem do zdrojaku mkswap jsem zjistil jednu vec, ktere zrovna
ted moc nerozumim:
Ve strukture struct swap_header_v1 je unsigned int badpages[1] (nekde
kolem je definovano makro MAX_BADPAGES na neco, co je podle mne vetsi nez
1).
Pole badpages, alespon jak jsem to z toho zdrojaku pochopil, ma slouzt k
indexaci vadnych stranek (ta struktura se uklada do "informacni" oblasti
toho swapu) - tomu take nasvedcuji ruzne konstrukce ve zdrojaku:
static void page_bad(int page) {
/* ... */
if (badpages == MAX_BADPAGES)
die(_("too many bad pages"));
p->badpages[badpages] = page;
badpages++;
}
Tak jsem z toho jelen - proc je to pole velikosti 1, kdyz se evidentne
muze stat, ze se bude indexovat nejakym vetsim indexem?
Ale asi jsem uz unaveny a neco jsem prehledl, diky za pripadne vyvedeni ze
tmy ;)
--
JiKos.
Další informace o konferenci Linux