[FreeBSD] softupdate

Szabolcs Szigeti szigi at ik.bme.hu
2001. Júl. 24., K, 08:58:50 CEST


> Eltudna nekem valaki magyarazni a SoftUpdate mukodeset harom-negy
mondatba?

Elmeletileg ugy az a bajok kiindulo pontja, hogy ha a filerendszer meta
informaciokat (inode, dir bejegyzes, stb.) aszinkorn modon irjuk, akkor
lehalas eseten inkonzisztens lehet a filerendszer.

Namost, a diszekt a rendszer blokkonkent cache-eli, viszont egy blokk pl.
tobb inode/ot, stb. tartalmazhat. Tehat, amikor a diszkre kiir egy blokkot,
akkor regebben ki kellett irni mindent, ami azon a blokon belul volt, akkor
is, ha az attol fuggo, vagy az o fuggoseget okozo info meg nem volt a
diszken. Ez ha leallat a rendszer, akkor azt eredmenyehzette, hogy a diszk
inkonzisztens volt.

A softupdates elemzi, hogy ki kitol fugg, tehat pl. egy inode fugg attol,
hogy mit csinaltal a file-lal. Ha az a helyzet, hogy diszkre kell irni, mert
mondjuk az inode beleeseik abba a blokkba, ami eppen a diszkre kerulne,
akkor tudja, hogy mi van a diszken, es a diszkre irando reszt ugy modositja,
hogy konzisztens maradjon. Igy mas van a memoria cacheben, es mas a diszken,
de mindketto konzisztens magaval. Azaz, nem kell szinkron modon kiirni, es
ez gyorsit.

A rendszer aztan raero idejeben pl. irogatja ki a blokkokat.

En legalabb is ezt szurtem le a softupdates mukodeserol Julian multkori
erdekes eloadasa alapjan.

Szabolcs





További információk a(z) BSD levelezőlistáról