On 05 Sep 2001 20:18:02 +0300, Tarhon-Onu Victor wrote:
>
> Ba nu. Scrierea sincrona iti garanteaza asta. daca ar fi sa-ti
> garanteze scrierea datelor ar trebui sa le commita instant... ceea ce tot
> un fel de scriere sincrona e (ma rog, nu e, dar e comparabila).
Stai asa, ca are dreptate. M-am interesat cum e la XFS, si cica jurnalul
e un fel de buffer prin care trece tot ce se scrie pe disc (doar
metadate, evident). Iar buffer-ul asta e _sincron_. :-)
Cind crapa sistemul, se face ceva ce seamana cu "replay log" de la
bazele de date. Ce a apucat sa intre in log ("jurnal") e facut la loc
bine-mersi (se da replay). Ce nu, nu.
De fapt, de asta se si foloseste expresia "(meta)data logging" pentru
jurnalizarea (meta)datelor.
Intelegi? Asta e smecheria, si aici greseam si eu si tu: jurnalul ala
contine si informatiile respective, nu doar ce s-a facut cu ele.
In cazul lui Ext3, e aceeasi smecherie, doar ca e si pentru date si
pentru metadate.
Singura diferenta intre full journalising si -o sync este ca in cazul
lui -o sync toata informatia ajunge direct in locul ei final. In cazul
jurnalizarii complete ajunge in prealabil in jurnal, in mod sincron; in
caz de crash, se face replay la jurnal.
Asadar, jurnalizarea completa s-ar putea sa fie mai rapida decit
scrierea complet sincrona, din cauza ca jurnalul e o chestie optimizata,
nu e imprastiat prin toate platanele. De altfel, s-a si vazut asta in
testul de care zicea Petru.
Din cauza ca jurnalul e relativ bine organizat, probabil ca elevatorul
are mult mai putin de munca - de aici si viteza neasteptat de mare a
FS-urilor jurnalizate (te-ai astepta abia sa se tiriie).
kudos to ppetru ;-)
--
Florin Andrei
"Our kernel does have source control: its name is
Linus Torvalds, CVS with a brain." - Nicholas Knight
---
Send e-mail to '[EMAIL PROTECTED]' with 'unsubscribe rlug' to
unsubscribe from this list.