You can improve the performance of journaling file
systems by taking the time to tune them. There has been
considerable effort placed in the designs to make the file systems
scalable and fast without significant expertise. Just twisting a
few knobs — mount options and placing
the journal on an external device — can make the journaling
file systems run significantly faster.
Linux’s venerable ‘read-write-execute’ file permissions scheme works well when access rights align with the users and groups on the system. But if you want to grant access rights, say, to multiple users who are not in the same group, or want to grant access rights to multiple groups, the system fails miserably. Access control lists (ACLs) are much more flexible. Here’s how to use ACLs — a much better way to grant permissions.
Before releasing any amount of code, developers usually test their work to tune performance and prove that the software works as intended. But often, validation is quite difficult, even if the application is simple.
Dynamic memory allocation seems straightforward enough: you allocate memory on demand — using malloc() or one of its variants — and free memory when it’s no longer needed. Indeed, memory management would be that easy — if only we programmers never made mistakes. Alas, we do make mistakes (from time to time) and memory management problems do occur.
Have a Linux machine and a few terabytes of data to store? Tired of running fsck for hours? Perhaps it’s time to consider a journaling file system. Linux has four to choose from: Ext3, XFS, JFS, and ReiserFS. Learn how journaling file systems work, how easy it is to adopt one, and discover just how large a petabyte really is.