Linux 5.1.5 released with IMPORTANT Fix for Users of Encrypted LVM volumes on SSDs

From LinuxReviews
Jump to navigationJump to search

It could appear that Linux 5.1 got a bit too eager when it comes to file-system trimming after a simplification of the code which decides what to discard. This could lead to data-loss on certain setups. Linux 5.1.5 has a patch which makes fstrim obey max_io_len_target_boundary again.

The joys of compiling a brand new git kernel

There's also other new kernel versions available in the stable 5.0.19, 4.19.46, 4.14.122 and 4.9.179. Thees version do contain bug-fixes but none of them relate to anything as serious as the too-eager-to-trim problem fixed in 5.1.5. That particular problem was introduced in kernel version 5.1 so only 5.1.x kernels were affected.

Reports[1] indicate that the fstrim-issue only manifested itself in specific setups with dm-crypt encrypted LVM volumes running on a SSD. This is what you get if you simply click [x] encrypt during installation of Fedora and Ubuntu so it is not that uncommon.

Kernel 5.1.5 changelog[2] has this to say about the patch:

"Commit 61697a6abd24 ("dm: eliminate 'split_discard_bios' flag from DM target interface") incorrectly removed code from __send_changing_extent_only() that is required to impose a per-target IO boundary on IO that exceeds max_io_len_target_boundary(). Otherwise "special" IO (e.g. DISCARD, WRITE SAME, WRITE ZEROES) can write beyond where allowed.

Fix this by restoring the max_io_len_target_boundary() limit in __send_changing_extent_only()"

kernel 5.1.5 changelog

You should upgrade to 5.1.5 if you are using a 5.1-series kernel on such a setup. You're fine if you are using a 5.0.x or earlier kernel. The bug is fixed in the linus.git master kernel[3] but it is not in kernel 5.2rc1.