Journaling
A journaling file system is a file system that maintain a log of commits that have not been written to disk. This is a practice developed to enable crash recovery during power failure or system crash.Updates are continuously written to maintain data integrity.
It maintains a journal.txt
file, which stores all the successful OS calls. In case of a system crash, this file remains persistent and all the commands can be re run to bring back the system to the original state where it was.
It is important to note that the incomplete system calls will be ignored as they can corrupt the filesystem. So that last incomplete action will not be recorded. This allows a robust functioning of the filesystem.