On Windows World NTFS is the king, but in the UNIX World there are many choices today: HFS+, ext3, ext4, zfs (maybe), reiserfs, reiser4, etc.
What do you recommend, why and which are your remarks about this?
For Linux, I use ext3 on top of LVM. Use of LVM makes it easy to extend a partition later if I need more space. There are more choices, but my needs have never been extreme enough for me to have to performance test to see what was best for my circumstances.
Part of my reasoning for sticking with ext3 is that -- as the default filesystem for many varieties of Linux -- it will be one of the most thoroughly tested in a variety of different situations.
Someone with special needs -- a high performance server for example, or a filesystem that needs to hold an unusually large number of files or mostly very tiny files or mostly huge files -- should try a couple different filesystems to see what serves their needs better.
If you use a UPS and are very confident that there will be no sudden losses of power or other conditions forcing the computer to hard-shutdown I would recommend XFS in many situations. It is fast for most uses, though it has some weaknesses in handling many small files at once. However, it tends to lose data in the event of an uncontrolled shutdown. This filesystem is available in Linux and IRIX.
Ext3 is the most 'stable' choice, having been in Linux for many years and having had virtually no bugs for an extended period of time. It does suffer some performance and space-efficiency penalties, mainly due to being block- rather than extent-based. This filesystem is available in Linux.
ReiserFS (3) is what I personally use, as it is quite stable in the event of uncontrolled shutdowns (which my laptop sees a lot of), as well as being space-efficient and fast. However, if it does run into issues, the contents of multiple files may end up intermingled - a possible security problem. (XFS, by comparison, zeroes out corrupted files. This makes recovery harder, but is more secure). This filesystem is available in Linux.
I recommend avoiding Reiser4. While it is fast, it is unstable (and has become more so), partially due to being rejected from the official kernel and being maintained out-of-tree.
ZFS is the new kid on the block. It is performant and feature-rich, but is relatively untested. It does have many useful aspects, one of the largest being snapsotting. This can be used to take a snapshot of the file system, which remains consistent while, say, a backup program archives its data. This filesystem is available in Solaris and (to a degree) NetBSD.
Also, while it isn't a file system, for any Linux-based servers I would recommend layering any file systems on top of LVM, the logical volume manager. It makes disk administration much easier. EVMS (which uses LVM internally) is also an option, and is somewhat easier to use, but has been mostly unmaintained for some time now.
On Solaris, if zfs is available, it is the clear winner.
On Linux, if xfs is not easily available (e.g. RedHat Enterprise / CentOS), ext3 is the clear winner.
On Linux, if xfs is available, it is the clear winner.
Reiserfs was never mature enough for serious use, and now never will be. The only filesystem under development that attempts to come close to its functionality is btrfs.
Really, I would go with ext3 for the moment, it's "fine" for near everything, and when fine isn't good enough you would probablty want to do more detailed research centered around your specific need.
Anyway, in a nutshell:
The problem with ext4, xfs and others is around how they do commit data to the drive and when they "flush" (actually commit the data as opposed to caching the commit doing it later). You can read up more about it, but the general gist is that they are arguably less safe with your data but faster for it. This of course can all be configured etc.
What is the planned use (and operating system? For a boot drive or for file storage?
For example, If running a Mac, you'll need to use HFS+ or UFS for a bootable drive.
ZFS gives you a performance hit but increases the integrity of data, offers RAID like features and allows you to create a single volume over different sized disks.
Just stay away from XFS unless you've got a UPS. I've had many, many files corrupted due to power cuts or forced reboots, if the file is still open it will often end up corrupted. A real pain in the ass if it's a critical system config file.
I'd generally go with EXT3 for Linux and HFS for Mac.
If you want enterprise grade and am not on Linux, zfs and vxfs have been absolutely rock solid for me.
For Linux, I would say ext3 or xfs. As always, you should test for your workload and requirements.
Professionally, I use VxFS (Veritas Filesystem) as it is native with HP-UX, as is LVM. Using VxVM offers some advantages and a different set of capabilities, but it too is good.
My bias in Linux is to go with XFS or ext3 and possibly LVM. I say possibly because since home and personal systems are smaller than servers, there's no need to not use the entire disk - nor to partition the drive into a dozen partitions. LVM offers nothing in such an environment. If you have terabyte drives though, it might be useful.
If using Solaris, ZFS can't be beat: it is arguably the most advanced filesystem of our time. If only it was available on other systems....
As others have said, ZFS is quite nice. If you're not interesting in using a version of Solaris, there are several alternatives: