Among the joys of Free and Open Source software is the mattter of choice.  Your choice can be to defer having to choose to someone else, or to a group or corporation, but when it comes to making a decision, a mixture of hard facts is often tempered with the humanity of experience, often in ways that cannot adequately be explained.  In the early 90s, an IT engineer with whom I used to work, Tunji, had a principle that when installing a significant system, you should leave it to "bed in", as he used to say, for a day or two before making final adjustments, and definitely before going live.  Now this makes no sense at all.  A computer system is supposed to be an electro-mechanical device that is absolute in its adherence to binary conditions, yet experience says that Tunji was right, that in the first 24 or 48 hours after a big installation, all kinds of oddities occur which, thereafter, don't.  It's not explainable, but I know that companies for which I have worked have had a smoother ride by my adherence to "Tunji's Law".

One choice, in the Linux world, is what file system to use.  There are a number of file systems for Linux, the most closely associated being the extended filesystem series, ext2, ext3 and ext4.  Ext4, in particular, is the one to choose when you can't or don't want to, make a choice.  The latest file system that's getting people abuzz is btrfs, which has some astonishing capabilities and looks to be becoming the number one choice for the future.  Along the way, there are others such as reiserfs, xfs and jfs.  Reiserfs was developed by Hans Reiser, and was, I think, a favourite when it was made open source, at version 3.  Xfs was developed at Silcon Graphisc for their workstations, while jfs was developed at IBM, originally for their AIX unix systems, and later for the unfortunate operating system, OS/2.

I have used all of these in anger, except for btrfs.  That scares me at the moment, and the reason is that I have lost data with all except one of the other file systems, and btrfs, although declared stable, still has too many horror stories associated with it.  This will change, I have no doubt.  For example, xfs is now a well trusted file system, but who remembers the period when  it would fill a file with @ signs after some glitch, yet that was what happened for quite a while, and I have the corporate scars to prove it.  The EXT series, especially the journalled EXT4 are fast and the tools are very well developed. Reiserfs looked at one point as though it was going places, but then the developer was dramatically imprisoned for very serious violent offences, and not unnaturally, it seems that development by others associated with the file system is not as good as it once was.

The one file system with which I have never lost data is the venerable old IBM offering, jfs.  When used with removable disks, if not unmounted properly, it may complain, but a filesystem check utility always and quickly sorts out the unclean mount status.

There was a very famous document written around 2003 based on Debian, where the researcher compared file systems avilable at that time, under various workloads.  The two file systems that continually topped the scores were xfs and jfs.  If anything, jfs had the edge on xfs. Yet the researcher ended up by recommending xfs.  This must have been an example of personal preference.  Many of the comments to that research were based around people's experience or personal preferences, but it was useful to have a formal benchmark against which file systems could be compared.

It is, of course, possible to come up with particular work cases where one or two file systems are especially suited for the task, such as very large files being stored, which favours xfs, or very many very small files, which favours (or used to favour) reiserfs.  There is reason to believe that running rhe Postgresql database on a jfs file system is expecially suitable, particularly with the deadline scheduler.  But to be honest, it is often a case of personal preference and support from the Linux distribution of choice.

The reason that the Linux distribution is important is because some distributions favour some file systems, or show less attention to others.  And example is OpenSUSE, which actively promotes the use of btrfs, but which also does not make it easy to install a root file system on jfs.  Debian and its derivatives still gives jfs favoured status, and the scale of system on which I mostly work makes the choice of Debian on jfs for server operations pretty much automatic. I find this quite unbelievably resilient, and in the last 6 years have seen some astonishing abuse of such systems which bounce right back, for example, a lightning strike resulting in immediate and uncontrolled power failure.

So it may seem a little old fashioned, but my experience and preference is for good old jfs. If only IBM would be so generous as to release jfs2 for Linux and Free software...