[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