The majority of file systems do not support a "costly" data journaling by default, unless you enable it by passing an option (i.e. editing /etc/fstab). ext3 uses metadata journal as default, so do Reiserfs v3, FJS, and XFS. Reiserfs does ofer block journal ("data=journal") but not JFS and XFS. Reserfs V4, however, by default utilize block journal (write data ones) but does not have meta journal -- speed (meta journal) vs. block journal (data journal). ext3 has three mode of operation: 1) ordered which is metadata journaling by pushing data to disk ahead of metadata, 2) writeback which is doing metadata journaling ONLY, 3) and finally, performing both these operations which slows down the overall file system operations.
I am pretty positive that ReiserFS and ext3 support shrinking but not too sure about XFS. If mounting is an issue for the intent of the system, then ReiserFS is usually at the bottom of the numbers (very slow). Nonetheless, when it comes to average file size being large, in majority of operations, XFS outperforms other file systems. ext3 appears to be a "all kind of possible" file system while Reiserfs appears to be work well with "finding" the files. XFS, of course, blazes with large files, i.e. media files, and gears toward large server clusters. JFS, I think is mostly suited for large-scale servers that run database, for instance, and performs a bit faster compare to XFS.
The majority of the benchmarks I've looked into, they tend not to use a realistic scenario and pander to some ad hoc set of operations of i.e. create 10,000 files and re-copy them 5 times, as opposed to say receiving 100,000 mails and recover perhaps a percentage of them while the system is inadvertently running 50 other threads and processes performing other tasks (or even multiple concurrent operation of read and write). Or perhaps they could test the file systems' reliability during the power outage see how fast and comprehensively they can recover the data. Frankly, when I review most of these benchmarks, my head gets dizzy because there are so many discrepancies among various testing environments, parameters, or lack of ascribing specific commands used to run the tests that one cannot possibly make his/her mind as to which file system is more suitable to his/her needs.
"#4 Linux filesystem benchmark 2008/2,"
"#1 Linux filesystem benchmark 2008/1,"
"Filesystems (ext3, reiser, xfs, jfs) comparison on Debian Etch,"
"File system references," a good number of articles with regard to file systems' benchmark, description, and features:
He also has several note worthy benchmarks,
"Benchmarking Filesystems Part II," this is apparently an article that has been commented and referenced by large:
"SOME AMAZING FILESYSTEM BENCHMARKS,"
"Comparaison des systèmes de fichier ReiserFS, Ext3, Jfs et Xfs", (Comparison of file systems ReiserFS, Ext3, JFS and XFS) -- mostly with regard to CPU utilization,
"First benchmarks of the ext4 file system,"
Some of benchmarking suites:
- Bonnie++, http://www.coker.com.au/bonnie++/
- IOZone, http://www.iozone.org/
At this point, I am more gravitated toward either JFS or Reiserfs. The latest Slackware release has a support for V3 (3.6) as I have seen some promising results for Reiserfs v4.