No, the journal is not deprecated. Only data journaling is.
Metadata is still journaled and is what most people have been using all this time.
From Wikipedia, the free encyclopedia
Linux is a family of open source Unix-like operating systems based on the Linux kernel, an operating system kernel first released on September 17, 1991 by Linus Torvalds. Linux is typically packaged in a Linux distribution (or distro for short).
Distributions include the Linux kernel and supporting system software and libraries, many of which are provided by the GNU Project. Many Linux distributions use the word "Linux" in their name, but the Free Software Foundation uses the name GNU/Linux to emphasize the importance of GNU software, causing some controversy.
Community icon by Alpár-Etele Méder, licensed under CC BY 3.0
No, the journal is not deprecated. Only data journaling is.
Metadata is still journaled and is what most people have been using all this time.
The vast majority of sensitive operations use atomic inode swaps instead of writing to the original file so the metadata is all that's needed.
That’s too bad. It was great for use as a root fs on VMware when you had an unreliable NFS storage. Kept every VM from needing an FSCK on recovery.
What reason is there to use EXT4 if not for the journal?
Just use F2FS or BTRFS at that point. (or ZFS if you're fine with out-of-tree)
They are not removing the journal.
Okay, but no mention of alternative modes of operation for "those very concerned about data integrity and safety"?
Wasn't the journal the main selling point in the transition from EXT2 to EXT3? This seems kinda backwards, what even is the rational?
The metadata journal is still there. Most people are not journaling their data, it's too slow.
Ah, I see! From googling "data=ordered" is the default and does what you said. Still, why not leave it for those that want it?
Maintenance is not free? They still have to test it at the very least.
Yeah, but I thought the philosophy was not to break userspace. I'm fine with the removal if absolutely nobody uses it, but some have commented here being users of the feature
Hmm, I don't really think this counts as user space. This is a kernel configuration parameter. User facing for sure, so a bit of gray area perhaps.
I think its userspace too. But I don't know how this is defined anyway. Otherwise removing any drivers in the Kernel would count as breaking userspace too, and they do it all the time.
The removed drivers are usually those that are really old and not used by anybody (using the latest kernel), so it's a bit different.
Sure, but I think the point is that most people don't even use data=journal option with EXT4. If I understand it right. But I get it, EXT4 is a common and stable and important part of Linux. Removing any feature, even if it not that many uses them, sounds wrong to me too. My previous point was actually trying to define if this falls into breaking userspace, and I just took a random example that affects userspace too. Because Linus doesn't say "we are only allowed to break userspace, if just a few people use it", he does not want do it at all. My point was, a driver in Kernel doesn't fall under userspace.
If you are using data=journal, as I was, the move to ordered requires that you have a battery backup that communicates with the system(s) it backs up.
Apc makes them and the apc kernel module works with them and is very well documented.
Two years to purchase and implement power failover and shutdown is plenty of time.
But why they need to remove it? Maybe just left it as a non-recommended option or just create an alternative. A great amount of people, like me for example, have a volatile enviroment that makes this a need.
Although I do prefer Btrfs for that task, I understand why some people need it in Ext4.
But why they need to remove it?
Most likely maintainers are looking to reduce the maintenance burden produced by a feature that had very low uptake (assuming, as others are saying, that it's only data journalling and not metadata journalling that's being removed).
Yeah, it might be that and that sounds fair, but still they could just make something like an external extension or module or something like that, or outright looking for someone who could make a more modern, maintenable, fast, lightweight and efficient alternative (using, i.e. io_uring).
I don't think there's anything preventing someone from forking it into an out-of-tree patchset or alternative module, if they're enthusiastic about the feature. But I'm pretty sure that searching for someone to rewrite a non-core function that most people don't care about is way outside what Linus and the various core maintainers want to do with their time. Normally open source is about people scratching their own itches.
Although I do prefer Btrfs for that task, I understand why some people need it in Ext4.
i was going to say something along these lines -- we switched at a previous last shop to something more reliable and it got rid of our problems, but our fleet was probably newer and smaller than yours; around 5k debian 8/9 bare iron servers back around 2017.