I finally bought a USB wireless adapter for my laptop so I can now use the Internet at my leisure, in bed. I no longer have to struggle downstairs just to check my mail. Because of this, I’m going to try and get back into the “blogging rhythm” again. (In case you didn’t know, most search engine optimizers (SEO) recommend blog sites add new articles every few days to keep them “fresh” with search engines. The more frequent the activity, the hire the ranking, in general.)
So, with this article, I wanted to continue on with my last post about computer file systems. I was going to talk about some of the Linux file systems but decided it probably isn’t necessary right now. Even though I use Linux at home, most people still use Windows so they probably don’t care about what file systems Linux has available. Plus, most Linux users either already know about their file systems or know enough to find out more if they need to.
So, to make my life easier, I though I’d just discuss a sub-set of file systems: journaling. A journaling file system (hereafter called JFS) writes changes to a log before writing them to the actual file system. This means if something goes wrong during the read/write to the file system, the log retains a record of what was to occur so it can be corrected automatically.
In practice, this means a JFS isn’t as easily corrupted by power failures, hard drive crashes, etc. For example, in Windows 98 if you were doing some work and the computer locked up, you would have force a reboot and then run ScanDisk to verify the integrity of the hard drive. Chances were good that the forced reboot would corrupt a lot of data resulting in lost chains or clusters; very often these lost data bits would be useless to you, even if you saved them.
A JFS would allow you to reboot and then get back up and running without waiting for a disk check. The journal log would have a record of what file system transactions were waiting to be done when the computer locked up, so when you reboot, the computer would go ahead and simply finish the transactions.
The journal log keeps track of everything that’s happening to the file system, so computers tend to boot faster with a JFS. The boot process only has to see that the log file says all transactions have been completed successfully; it doesn’t have to do an actual data verification scan every time.
According to Wikipedia, there are three types of JFS: physical journals (logs verbatim copies of blocks that will be written later), logical journals (logs information about the changes in a special, compact format), and meta-data only journals (a compromise between reliability and performance that stores only changes to file metadata in the journal). Meta-data only journals can still be corrupted due to data mismatch between unjournaled file data and journaled meta-data.
For Windows users, none of the Windows file systems except NTFS offers journaling. So if you’re using a FAT-based file system you won’t be able to have journaling. However, NTFS (to the best of my knowledge) only provides meta-data only journaling, so it’s still susceptible to data corruption.
Also, be aware that a JFS doesn’t save you from data loss. You still have to backup your files and important data. All a JFS will do is speed up some of your drive access and reduce the chance of data corruption.