update/bdflush problem

Martin Mares mj na atrey.karlin.mff.cuni.cz
Úterý Červenec 29 16:56:42 CEST 1997


Dobreho dne preji,

> > Napriklad se da navrhnout velice slusny FS, ktery pouziva
> > asynchronni zapis metadat, nicmene udrzuje mezi nekterymi castmi
> > metadat pevne poradi, ...
> 
> Je to nekde popsano? Zajimalo by me, jak se to pevne poradi zapisu
> metadat udrzuje, pokud se nepouzivaji synchronni zapisy. Ne snad, ze
> bych neco takoveho chtel programovat, ale ja porad vidim ten SCSI
> driver, ktery si optimalizuje poradi zapisu a je mu jedno, jsou-li to
> data nebo metadata. Treba se vychazi z toho, ze se to da zakazat, nebo
> se ta vzajemne souvisejici metadata vzdy vmestnaji do jednoho
> fyzickeho zapisu ... Nevim.

   Nikde jsem jeste podobnou vec nevidel implementovanou, nicmene jsem se o to
jiz nekolikrat pokousel. Pokazde ovsem doslo pouze k vymysleni a na implementaci
jiz nezbyl zadny cas. Nu, mozna nekdy.

   Samozrejme na podobnou vec musi byt docela solidni podpora na strane
globalniho cache-mechanismu a rovnez v "prehazujicich" device driverech. Neni
to ani pri nejmensim trivialni, nicmene zda se mi, ze to je jedina _rozumna_
metoda, ktera ma podobne ucinky -- to jest podstatne zvysi bezpecnost zapisu,
aniz se za to plati vyraznym zpomalenim operaci.

   Zakladni idea: Zadna data az na superblok nemaji pevnou posici na disku,
na vsechno tedy existuje nejaky pointer. Pokud prepisuji nejaky blok, nejprve
vyrobim jeho novou verzi na jinem miste a pak teprve presmeruji pointer. Takto
organizovane zapisy nikdy nedaji nekonzistentni data jinde nez v informacich
o volnych blocich, jenze ty je mozno ze zbytku pri fsck trivialne odvodit.

   Tento napad se ovsem da rozsirit i na data zapisovana aplikacemi -- je to
tak trochu obdoba nekterych systemu udrzovani konsistence pameti na multi-
procesorovych strojich se sdilenim pameti (viz UltraSparc): je k dispozici
system call typu "storage bar", kterym se zajisti, ze vse pred timto callem
se zarucene zapise drive nez vse po tomto callu. Lze tim implementovat totez,
co za pomoci synchronnich zapisu, ale s mensim overheadem.

				Have a nice fortnight
-- 
Martin `MJ' Mares   <mj na gts.cz>   http://atrey.karlin.mff.cuni.cz/~mj/
Faculty of Math and Physics, Charles University, Prague, Czech Rep., Earth
"No more taglines available. Try again later."


Další informace o konferenci Linux