ext3 journaling modes

Vasilis Vasaitis vvas at hal.csd.auth.gr
Tue Jan 27 15:24:26 EET 2004


On Tue, Jan 27, 2004 at 08:11:47AM +0200, Giannis Stoilis wrote:

> Από όσο γνωρίζω, δεν πάει έτσι, αλλά έτσι:
> 
> 1) ζητάς να γράψεις
> 2) ενημερώνετε το journal ότι πας να γράψεις
> 3) γίνεται πράγματι η εγγραφή
> 4) ενημερώνετε το journal ότι τέλειωσε η εγγραφή.
> 
> Αν διακοπεί η λειτουργία στο 1, απλά δεν σώθηκε αυτό που έγραψες.
> Στο δυο, απλά κάνει rollback στο επόμενο check. δεν σώθηκε αυτό που
> έγραψες. Στο 3 γίνεται rollback πάλι. Πάλι δεν σώθηκε. Μετά το 4
> είσαι οκ. Σε κάθε εγγραφή του journal, γράφονται δεδομένα για
> επαναφορά στο προηγούμενο στάδιο. Κάνω λάθος;

  Εν ολίγοις... ναι. :^)

  Εν πολλοίς, στα journalling συστήματα αρχείων δεν έχεις rollback,
εσύ ουσιαστικά περιγράφεις πώς λειτουργούν τα transactions στις βάσεις
δεδομένων (αλλά και στο επερχόμενο reiser4, σλουρπ). Το 4ο βήμα που
αναφέρεις απλά δεν υπάρχει, και όταν γίνεται έλεγχος του συστήματος
αρχείων μετά από μη ομαλό τερματισμό, γίνεται μια επανάληψη (replay)
των ενεργειών που έχουν καταγραφεί στο journal.

  Έτσι, αν μια εγγραφή είναι μισή στο journal, απλά θα πεταχτεί. Αν
όμως είναι ολόκληρη στο journal, ακόμα κι αν έχει γραφεί μισή στην
πραγματικότητα, αυτό δεν είναι πρόβλημα, γιατί θα επαναληφθεί με βάση
τα στοιχεία στο journal, και ούτε γάτα ούτε ζημιά.

-- 
Vasilis Vasaitis
"A man is well or woe as he thinks himself so."





More information about the Linux-greek-users mailing list