FS#47196 - [lvm2] Both stable and testing versions of LVM now include faulty logic that prevent boot on cacheLV

Attached to Project: Arch Linux
Opened by Michael J Evans (mjevans) - Thursday, 26 November 2015, 21:50 GMT
Last edited by Bartłomiej Piotrowski (Barthalion) - Tuesday, 01 December 2015, 19:58 GMT
Task Type Bug Report
Category Upstream Bugs
Status Closed
Assigned To Eric Belanger (Snowman)
Thomas Bächler (brain0)
Bartłomiej Piotrowski (Barthalion)
Architecture All
Severity Critical
Priority Normal
Reported Version
Due in Version Undecided
Due Date Undecided
Percent Complete 100%
Votes 0
Private No

Details

At least I, but possibly others, who created lvm cachepools, particularly on system boot devices, shortly after their availability in Arch Linux (or other distributions) have lvm volumes that are 'sparsely keyed'. Newer versions of LVM create, and assume that all valid volumes contain, all of the configuration keys.

It is that assumption which is broken, and reportedly worked around by an upstream patch which is still not present in the stable or testing versions of the LVM package.


I was only able to boot my desktop because an older initramfs still has a version of LVM inside of it that is 'broken' in the old way.

https://bugzilla.redhat.com/show_bug.cgi?id=1282188


Commit that create the patch file

http://pkgs.fedoraproject.org/cgit/lvm2.git/commit/?h=f23&id=14e6b66edc770f8788f6ae4db958f6f4e2aa8377

This task depends upon

Closed by  Bartłomiej Piotrowski (Barthalion)
Tuesday, 01 December 2015, 19:58 GMT
Reason for closing:  Fixed
Additional comments about closing:  lvm2 2.02.136-1
Comment by Michael J Evans (mjevans) - Friday, 27 November 2015, 03:49 GMT
Back from holiday meal... I extracted the lvm binary from the initramfs that was working.

./lvm version
LVM version: 2.02.125(2) (2015-07-07)
Library version: 1.02.110 (2015-11-09)
Driver version: 4.31.0


The bug is has an upstream patch already, but for completion, here is the metadata from comment 2 in the redhat bug.

http://pastebin.archlinux.fr/1740701
http://pastebin.archlinux.fr/1740742

With the old, working, LVM I believe the following command will provide a workaround by forcing the configuration to be written.

./lvm lvchange --cachepolicy mq spin0/root

Reading back with the current testing version 2.02.134 shows no error messages now that I've set the prior default and formerly missing parameters.

lvs -o+cache_policy,cache_settings spin0/root

I am hesitant to switch to the new smq version, as I /know/ it wasn't settable with the old LVM command.

Loading...