EXT4 Deprecates Its Journaled "data=journal" Mode

9 days ago by SocialistVibes01 to c/linux

The EXT4 file-system today deprecated its journaled mode of the "data=journal" mount option. Following its deprecation, this mode is planned for removal in the year 2028.

The data=journal mode for EXT4 is where all file data and metadata is written to the file-system's journal before being committed to the main file-system. In the event of a crash or power loss, the journal can then be replayed to recover the data.

The EXT4 data=journal mode is great for those very concerned about data integrity and safety but comes with significant hits to the write performance compared to the default ordered (data=ordered) mode or data=writeback. Using the journaled mode also disables delayed allocation and Direct I/O support.

EXT4 journal deprecated

Per today's Git merge for Linux 7.3, the EXT4 data=journal feature is deprecated and support for it will be removed in early 2028 following the 2027 Linux LTS kernel version.

tiptoes 10 points 9 days ago

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.

path: 0 26238309, hotness: undefined, score: 10, children: 0
thenextguy 10 points 9 days ago

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.

path: 0 26246485, hotness: undefined, score: 10, children: 1
LodeMike 1 point 7 days ago

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.

path: 0 26246485 26268830, hotness: undefined, score: 1, children: 0
MonkderVierte 7 points 9 days ago

Okay, but no mention of alternative modes of operation for "those very concerned about data integrity and safety"?

path: 0 26244051, hotness: undefined, score: 7, children: 0
ms_lane 7 points 9 days ago

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)

path: 0 26243519, hotness: undefined, score: 7, children: 4
thenextguy 4 points 9 days ago

They are not removing the journal.

path: 0 26243519 26246435, hotness: undefined, score: 4, children: 3
Kangae_Hishiryo -8 points 9 days ago

Ahem...

Per today's Git merge for Linux 7.3, the EXT4 data=journal feature is deprecated and support for it will be removed in early 2028 following the 2027 Linux LTS kernel version.

path: 0 26243519 26246435 26246815, hotness: undefined, score: -8, children: 2
thenextguy 9 points 9 days ago

data=journal is just one mode of journaling. Not the entire feature.

Journaling all of the data is very expensive and slow and no one was using it.

Metadata journaling as always the main feature and is still present.

path: 0 26243519 26246435 26246815 26246848, hotness: undefined, score: 9, children: 1
Kangae_Hishiryo -4 points 9 days ago

Some people was using it, you're being dishonest.

Anyway, yeah, I misread, not all journaling is data=journal.

path: 0 26243519 26246435 26246815 26246848 26247104, hotness: undefined, score: -4, children: 0
TrollAccount69 3 points 7 days ago

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.

path: 0 26265485, hotness: undefined, score: 3, children: 0
Guiorgy 3 points 9 days ago

Wasn't the journal the main selling point in the transition from EXT2 to EXT3? This seems kinda backwards, what even is the rational?

path: 0 26243890, hotness: undefined, score: 3, children: 8
thenextguy 7 points 9 days ago

The metadata journal is still there. Most people are not journaling their data, it's too slow.

path: 0 26243890 26246430, hotness: undefined, score: 7, children: 7
Guiorgy 1 point 8 days ago

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?

path: 0 26243890 26246430 26250942, hotness: undefined, score: 1, children: 6
thenextguy 3 points 8 days ago

Maintenance is not free? They still have to test it at the very least.

path: 0 26243890 26246430 26250942 26251642, hotness: undefined, score: 3, children: 5
Guiorgy 2 points 8 days ago

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

path: 0 26243890 26246430 26250942 26251642 26252431, hotness: undefined, score: 2, children: 4
Kangae_Hishiryo 2 points 9 days ago

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.

path: 0 26246794, hotness: undefined, score: 2, children: 4
nyan 7 points 8 days ago

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).

path: 0 26246794 26251814, hotness: undefined, score: 7, children: 2
Kangae_Hishiryo 1 point 8 days ago

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).

path: 0 26246794 26251814 26253332, hotness: undefined, score: 1, children: 1
nyan 2 points 8 days ago

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.

path: 0 26246794 26251814 26253332 26264389, hotness: undefined, score: 2, children: 0
eldavi 3 points 9 days ago

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.

path: 0 26246794 26248152, hotness: undefined, score: 3, children: 0
linux
linux

@lemmy.ml

login for more options
68121
9465
5670

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.

Rules

  • Posts must be relevant to operating systems running the Linux kernel. GNU/Linux or otherwise.
  • No misinformation
  • No NSFW content
  • No hate speech, bigotry, etc

Related Communities

Community icon by Alpár-Etele Méder, licensed under CC BY 3.0

go to feed...