Merge ~paelzer/ubuntu/+source/lvm2:fix-1657646-thin-provisioning-tools-MIR-1828887-complete into ubuntu/+source/lvm2:ubuntu/eoan-devel

Proposed by Christian Ehrhardt 
Status: Merged
Approved by: Christian Ehrhardt 
Approved revision: 4d20b23c9af7252aec97b7b4509b1f35e607be52
Merge reported by: Christian Ehrhardt 
Merged at revision: 4d20b23c9af7252aec97b7b4509b1f35e607be52
Proposed branch: ~paelzer/ubuntu/+source/lvm2:fix-1657646-thin-provisioning-tools-MIR-1828887-complete
Merge into: ubuntu/+source/lvm2:ubuntu/eoan-devel
Diff against target: 392 lines (+338/-2)
6 files modified
debian/changelog (+12/-0)
debian/control (+3/-2)
debian/patches/lp-1842436-make-generate-example-config.patch (+37/-0)
debian/patches/lp-1842436-restrict-PVs-with-mixed-block-size.patch (+215/-0)
debian/patches/lp-1842436-tests-allow-mixed-block-sizes.patch (+68/-0)
debian/patches/series (+3/-0)
Reviewer Review Type Date Requested Status
Dimitri John Ledkov (community) Approve
Canonical Server packageset reviewers Pending
Canonical Server Pending
git-ubuntu developers Pending
Review via email: mp+372393@code.launchpad.net
To post a comment you must log in.
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

IMHO no FF violation as it already was a dependency before.
But we could sort out the promotion in Eoan which would be great (some 20.04 work done already).

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

To ensure this is not a crazy to fix late gcc9/glibc build issue I have a PPA at
https://launchpad.net/~paelzer/+archive/ubuntu/eoan-test-build-lvm2

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

@Reviewer - the change is minimal please sponsor right away once (if) you approve

Revision history for this message
Dimitri John Ledkov (xnox) wrote :

This is all good, but i would also want to take in a cherrypick from upstream to fix this: https://bugs.launchpad.net/ubuntu/+source/lvm2/+bug/1842436

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Thank Dimitri, ack to the extra fix that should go on top.
I'll add that somewhen later today.

903e636... by Christian Ehrhardt 

d/p/lp-1842436-restrict-PVs-with-mixed-block-size.patch: Avoid creation of mixed-blocksize PV on LVM volume groups (LP: #1842436)

Signed-off-by: Christian Ehrhardt <email address hidden>

94beead... by Christian Ehrhardt 

changelog: Avoid creation of mixed-blocksize PV on LVM volume groups (LP: #1842436)

Signed-off-by: Christian Ehrhardt <email address hidden>

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Preliminary changes for these extra changes are in the MP now and building in the PPA.
Need to test it later on ...

6ee59e1... by Christian Ehrhardt 

d/p/lp-1842436-restrict-PVs-with-mixed-block-size.patch: backporting changes

Signed-off-by: Christian Ehrhardt <email address hidden>

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Needs to use the older dev_get_block_size, WIP and iterating on builds.

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Functionally this works, I'd love to see a man page or default conf entry for it.
Will take a look for it tomorrow.

405b29b... by Christian Ehrhardt 

d/p/lp-1842436-*: add self tests

Signed-off-by: Christian Ehrhardt <email address hidden>

5aef8fa... by Christian Ehrhardt 

d/p/lp-1842436-*: add example config entry

Signed-off-by: Christian Ehrhardt <email address hidden>

139f961... by Christian Ehrhardt 

changelog: extend 1842436 fix to multiple patches

Signed-off-by: Christian Ehrhardt <email address hidden>

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Upstream generates these config snippets - lets take the respective snippet from 08396b4bce45fb8311979250623f04ec0ddb628c
Tests are in cd8a0133fa28a0dff2714c80f822e8c665fe6237 and while I don't see them running (in general) it might be safer to add this as well.

On install I see the (expected) conffile prompt and the example I want in the config
        # Configuration option devices/allow_mixed_block_sizes.
        # Allow PVs in the same VG with different logical block sizes.
        # When allowed, the user is responsible to ensure that an LV is
        # using PVs with matching block sizes when necessary.
        allow_mixed_block_sizes = 0

e0ff7df... by Christian Ehrhardt 

d/control: add thin-provisioning-tools build-dep as configure wants it around for some checks

Signed-off-by: Christian Ehrhardt <email address hidden>

4d20b23... by Christian Ehrhardt 

changelog: mention thin-provisioning-tools build-dep addition

Signed-off-by: Christian Ehrhardt <email address hidden>

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Finally there were plenty of warnings (working fine eventually, but could easily become more required) from the configure about thin-provisioning-tools.
Since we now properly enable it lets add it as build dep as well, as configure would like to check some detaily (paths, version, ...) about it.

This gets the warnings down by 19 which won't hurt to find actual issues.

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

Ok, all new changes pushed.
Ready for review and sponsoring.

Revision history for this message
Dimitri John Ledkov (xnox) :
review: Approve
Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

This is on the bring, but I think it needs no FFe as it is really much more a fix than a feature.
Thanks for the review xnox!

Tagged and uploaded to Eoan.

Revision history for this message
Christian Ehrhardt  (paelzer) wrote :

This migrated, closing forgotten MP

Preview Diff

[H/L] Next/Prev Comment, [J/K] Next/Prev File, [N/P] Next/Prev Hunk
diff --git a/debian/changelog b/debian/changelog
index ff71edc..c22d661 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,15 @@
1lvm2 (2.03.02-2ubuntu6) eoan; urgency=medium
2
3 * d/control: stop dropping thin-provisioning-tools to Suggests as it
4 is ready to be promoted via MIR LP 1828887. Fixes usability issues
5 of thin-provisioning-tools not being installed by default (LP: #1657646).
6 - d/control: also add thin-provisioning-tools build-dep as configure
7 wants it around for some checks at build time.
8 * d/p/lp-1842436-*: Avoid creation of mixed-blocksize PV on LVM
9 volume groups as it can cause FS corruption (LP: #1842436)
10
11 -- Christian Ehrhardt <christian.ehrhardt@canonical.com> Fri, 06 Sep 2019 08:23:10 +0200
12
1lvm2 (2.03.02-2ubuntu5) eoan; urgency=medium13lvm2 (2.03.02-2ubuntu5) eoan; urgency=medium
214
3 * Detect systemd in udev rule at runtime.15 * Detect systemd in udev rule at runtime.
diff --git a/debian/control b/debian/control
index 3d0ef7f..8dd64a8 100644
--- a/debian/control
+++ b/debian/control
@@ -25,7 +25,8 @@ Build-Depends:
25 python3-dbus,25 python3-dbus,
26 python3-pyudev,26 python3-pyudev,
27 pkg-config,27 pkg-config,
28 systemd28 systemd,
29 thin-provisioning-tools
29Standards-Version: 4.1.130Standards-Version: 4.1.1
30Homepage: http://sources.redhat.com/lvm2/31Homepage: http://sources.redhat.com/lvm2/
31Vcs-Git: https://salsa.debian.org/lvm-team/lvm2.git32Vcs-Git: https://salsa.debian.org/lvm-team/lvm2.git
@@ -34,7 +35,7 @@ Vcs-Browser: https://salsa.debian.org/lvm-team/lvm2
34Package: lvm235Package: lvm2
35Architecture: linux-any36Architecture: linux-any
36Depends: ${shlibs:Depends}, ${misc:Depends}, lsb-base, dmsetup (>= 1.02.145-2~), dmeventd37Depends: ${shlibs:Depends}, ${misc:Depends}, lsb-base, dmsetup (>= 1.02.145-2~), dmeventd
37Suggests: thin-provisioning-tools38Recommends: thin-provisioning-tools
38Conflicts: clvm39Conflicts: clvm
39Multi-Arch: foreign40Multi-Arch: foreign
40Description: Linux Logical Volume Manager41Description: Linux Logical Volume Manager
diff --git a/debian/patches/lp-1842436-make-generate-example-config.patch b/debian/patches/lp-1842436-make-generate-example-config.patch
41new file mode 10064442new file mode 100644
index 0000000..b814788
--- /dev/null
+++ b/debian/patches/lp-1842436-make-generate-example-config.patch
@@ -0,0 +1,37 @@
1From 08396b4bce45fb8311979250623f04ec0ddb628c Mon Sep 17 00:00:00 2001
2From: Zdenek Kabelac <zkabelac@redhat.com>
3Date: Fri, 9 Aug 2019 12:56:28 +0200
4Subject: [PATCH] make: generate
5
6Run make generate.
7
8Backport-Note: only take the snippet related to allow_mixed_block_sizes
9Origin: backport, https://sourceware.org/git/?p=lvm2.git;a=commit;h=08396b4bce45fb8311979250623f04ec0ddb628c
10Bug-Ubuntu: https://bugs.launchpad.net/bugs/1842436
11Last-Update: 2019-09-10
12
13---
14 conf/example.conf.in | 18 ++++++-----
15 man/lvconvert.8_pregen | 70 +++++++++++++++++++++++-------------------
16 2 files changed, 48 insertions(+), 40 deletions(-)
17
18diff --git a/conf/example.conf.in b/conf/example.conf.in
19index 154f621bc..91ce5bec6 100644
20--- a/conf/example.conf.in
21+++ b/conf/example.conf.in
22@@ -347,6 +347,12 @@ devices {
23 # Enabling this setting allows the VG to be used as usual even with
24 # uncertain devices.
25 allow_changes_with_duplicate_pvs = 0
26+
27+ # Configuration option devices/allow_mixed_block_sizes.
28+ # Allow PVs in the same VG with different logical block sizes.
29+ # When allowed, the user is responsible to ensure that an LV is
30+ # using PVs with matching block sizes when necessary.
31+ allow_mixed_block_sizes = 0
32 }
33
34 # Configuration section allocation.
35--
362.23.0
37
diff --git a/debian/patches/lp-1842436-restrict-PVs-with-mixed-block-size.patch b/debian/patches/lp-1842436-restrict-PVs-with-mixed-block-size.patch
0new file mode 10064438new file mode 100644
index 0000000..06fd1ae
--- /dev/null
+++ b/debian/patches/lp-1842436-restrict-PVs-with-mixed-block-size.patch
@@ -0,0 +1,215 @@
1From 0404539edb25e4a9d3456bb3e6b402aa2767af6b Mon Sep 17 00:00:00 2001
2From: David Teigland <teigland@redhat.com>
3Date: Thu, 1 Aug 2019 10:06:47 -0500
4Subject: [PATCH] vgcreate/vgextend: restrict PVs with mixed block sizes
5
6Avoid having PVs with different logical block sizes in the same VG.
7This prevents LVs from having mixed block sizes, which can produce
8file system errors.
9
10The new config setting devices/allow_mixed_block_sizes (default 0)
11can be changed to 1 to return to the unrestricted mode.
12
13Backport-Notes:
14- tools/lvmcmdline.c misses the context of the new change
15- dev_get_direct_block_sizes didn't exist, use dev_get_block_size
16
17Origin: backport, https://sourceware.org/git/?p=lvm2.git;a=commit;h=0404539edb25e4a9d3456bb3e6b402aa2767af6b
18Bug-Ubuntu: https://bugs.launchpad.net/bugs/1842436
19Last-Update: 2019-09-09
20
21---
22 lib/commands/toolcontext.h | 1 +
23 lib/config/config_settings.h | 5 ++++
24 lib/metadata/metadata-exported.h | 1 +
25 lib/metadata/metadata.c | 44 ++++++++++++++++++++++++++++++
26 tools/lvmcmdline.c | 2 ++
27 tools/toollib.c | 47 ++++++++++++++++++++++++++++++++
28 tools/vgcreate.c | 2 ++
29 7 files changed, 102 insertions(+)
30
31--- a/lib/commands/toolcontext.h
32+++ b/lib/commands/toolcontext.h
33@@ -153,6 +153,7 @@ struct cmd_context {
34 unsigned include_shared_vgs:1; /* report/display cmds can reveal lockd VGs */
35 unsigned include_active_foreign_vgs:1; /* cmd should process foreign VGs with active LVs */
36 unsigned vg_read_print_access_error:1; /* print access errors from vg_read */
37+ unsigned allow_mixed_block_sizes:1;
38 unsigned force_access_clustered:1;
39 unsigned lockd_gl_disable:1;
40 unsigned lockd_vg_disable:1;
41--- a/lib/config/config_settings.h
42+++ b/lib/config/config_settings.h
43@@ -448,6 +448,11 @@ cfg(devices_allow_changes_with_duplicate
44 "Enabling this setting allows the VG to be used as usual even with\n"
45 "uncertain devices.\n")
46
47+cfg(devices_allow_mixed_block_sizes_CFG, "allow_mixed_block_sizes", devices_CFG_SECTION, 0, CFG_TYPE_BOOL, 0, vsn(2, 3, 6), NULL, 0, NULL,
48+ "Allow PVs in the same VG with different logical block sizes.\n"
49+ "When allowed, the user is responsible to ensure that an LV is\n"
50+ "using PVs with matching block sizes when necessary.\n")
51+
52 cfg_array(allocation_cling_tag_list_CFG, "cling_tag_list", allocation_CFG_SECTION, CFG_DEFAULT_UNDEFINED, CFG_TYPE_STRING, NULL, vsn(2, 2, 77), NULL, 0, NULL,
53 "Advise LVM which PVs to use when searching for new space.\n"
54 "When searching for free space to extend an LV, the 'cling' allocation\n"
55--- a/lib/metadata/metadata-exported.h
56+++ b/lib/metadata/metadata-exported.h
57@@ -608,6 +608,7 @@ struct pvcreate_params {
58 unsigned is_remove : 1; /* is removing PVs, not creating */
59 unsigned preserve_existing : 1;
60 unsigned check_failed : 1;
61+ unsigned check_consistent_block_size : 1;
62 };
63
64 struct lvresize_params {
65--- a/lib/metadata/metadata.c
66+++ b/lib/metadata/metadata.c
67@@ -669,12 +669,40 @@ int vg_extend_each_pv(struct volume_grou
68 {
69 struct pv_list *pvl;
70 unsigned int max_phys_block_size = 0;
71+ unsigned int physical_block_size, logical_block_size;
72+ unsigned int prev_lbs = 0;
73+ int inconsistent_existing_lbs = 0;
74
75 log_debug_metadata("Adding PVs to VG %s.", vg->name);
76
77 if (vg_bad_status_bits(vg, RESIZEABLE_VG))
78 return_0;
79
80+ /*
81+ * Check if existing PVs have inconsistent block sizes.
82+ * If so, do not enforce new devices to be consistent.
83+ */
84+ dm_list_iterate_items(pvl, &vg->pvs) {
85+ logical_block_size = 0;
86+ physical_block_size = 0;
87+
88+ if (!dev_get_block_size(pvl->pv->dev, &physical_block_size, &logical_block_size))
89+ continue;
90+
91+ if (!logical_block_size)
92+ continue;
93+
94+ if (!prev_lbs) {
95+ prev_lbs = logical_block_size;
96+ continue;
97+ }
98+
99+ if (prev_lbs != logical_block_size) {
100+ inconsistent_existing_lbs = 1;
101+ break;
102+ }
103+ }
104+
105 dm_list_iterate_items(pvl, &pp->pvs) {
106 log_debug_metadata("Adding PV %s to VG %s.", pv_dev_name(pvl->pv), vg->name);
107
108@@ -685,6 +713,22 @@ int vg_extend_each_pv(struct volume_grou
109 return 0;
110 }
111
112+ logical_block_size = 0;
113+ physical_block_size = 0;
114+
115+ if (!dev_get_block_size(pvl->pv->dev, &physical_block_size, &logical_block_size))
116+ log_warn("WARNING: PV %s has unknown block size.", pv_dev_name(pvl->pv));
117+
118+ else if (prev_lbs && logical_block_size && (logical_block_size != prev_lbs)) {
119+ if (vg->cmd->allow_mixed_block_sizes || inconsistent_existing_lbs)
120+ log_debug("Devices have inconsistent block sizes (%u and %u)", prev_lbs, logical_block_size);
121+ else {
122+ log_error("Devices have inconsistent logical block sizes (%u and %u).",
123+ prev_lbs, logical_block_size);
124+ return 0;
125+ }
126+ }
127+
128 if (!add_pv_to_vg(vg, pv_dev_name(pvl->pv), pvl->pv, 0)) {
129 log_error("PV %s cannot be added to VG %s.",
130 pv_dev_name(pvl->pv), vg->name);
131--- a/tools/lvmcmdline.c
132+++ b/tools/lvmcmdline.c
133@@ -2312,6 +2312,8 @@ static int _get_current_settings(struct
134 if (cmd->cname->flags & CAN_USE_ONE_SCAN)
135 cmd->can_use_one_scan = 1;
136
137+ cmd->allow_mixed_block_sizes = find_config_tree_bool(cmd, devices_allow_mixed_block_sizes_CFG, NULL);
138+
139 cmd->partial_activation = 0;
140 cmd->degraded_activation = 0;
141 activation_mode = find_config_tree_str(cmd, activation_mode_CFG, NULL);
142--- a/tools/toollib.c
143+++ b/tools/toollib.c
144@@ -5363,6 +5363,8 @@ int pvcreate_each_device(struct cmd_cont
145 struct pv_list *vgpvl;
146 struct device_list *devl;
147 const char *pv_name;
148+ unsigned int physical_block_size, logical_block_size;
149+ unsigned int prev_pbs = 0, prev_lbs = 0;
150 int must_use_all = (cmd->cname->flags & MUST_USE_ALL_ARGS);
151 int found;
152 unsigned i;
153@@ -5415,6 +5417,51 @@ int pvcreate_each_device(struct cmd_cont
154 pd->dev = dev_cache_get(cmd, pd->name, cmd->filter);
155
156 /*
157+ * Check for consistent block sizes.
158+ */
159+ if (pp->check_consistent_block_size) {
160+ dm_list_iterate_items(pd, &pp->arg_devices) {
161+ if (!pd->dev)
162+ continue;
163+
164+ logical_block_size = 0;
165+ physical_block_size = 0;
166+
167+ if (!dev_get_block_size(pd->dev, &physical_block_size, &logical_block_size)) {
168+ log_warn("WARNING: Unknown block size for device %s.", dev_name(pd->dev));
169+ continue;
170+ }
171+
172+ if (!logical_block_size) {
173+ log_warn("WARNING: Unknown logical_block_size for device %s.", dev_name(pd->dev));
174+ continue;
175+ }
176+
177+ if (!prev_lbs) {
178+ prev_lbs = logical_block_size;
179+ prev_pbs = physical_block_size;
180+ continue;
181+ }
182+
183+ if (prev_lbs == logical_block_size) {
184+ /* Require lbs to match, just warn about unmatching pbs. */
185+ if (!cmd->allow_mixed_block_sizes && prev_pbs && physical_block_size &&
186+ (prev_pbs != physical_block_size))
187+ log_warn("WARNING: Devices have inconsistent physical block sizes (%u and %u).",
188+ prev_pbs, physical_block_size);
189+ continue;
190+ }
191+
192+ if (!cmd->allow_mixed_block_sizes) {
193+ log_error("Devices have inconsistent logical block sizes (%u and %u).",
194+ prev_lbs, logical_block_size);
195+ log_print("See lvm.conf allow_mixed_block_sizes.");
196+ return 0;
197+ }
198+ }
199+ }
200+
201+ /*
202 * Use process_each_pv to search all existing PVs and devices.
203 *
204 * This is a slightly different way to use process_each_pv, because the
205--- a/tools/vgcreate.c
206+++ b/tools/vgcreate.c
207@@ -47,6 +47,8 @@ int vgcreate(struct cmd_context *cmd, in
208 /* Don't create a new PV on top of an existing PV like pvcreate does. */
209 pp.preserve_existing = 1;
210
211+ pp.check_consistent_block_size = 1;
212+
213 if (!vgcreate_params_set_defaults(cmd, &vp_def, NULL))
214 return EINVALID_CMD_LINE;
215 vp_def.vg_name = vg_name;
diff --git a/debian/patches/lp-1842436-tests-allow-mixed-block-sizes.patch b/debian/patches/lp-1842436-tests-allow-mixed-block-sizes.patch
0new file mode 100644216new file mode 100644
index 0000000..5494984
--- /dev/null
+++ b/debian/patches/lp-1842436-tests-allow-mixed-block-sizes.patch
@@ -0,0 +1,68 @@
1From cd8a0133fa28a0dff2714c80f822e8c665fe6237 Mon Sep 17 00:00:00 2001
2From: David Teigland <teigland@redhat.com>
3Date: Thu, 1 Aug 2019 10:13:41 -0500
4Subject: [PATCH] tests: allow-mixed-block-sizes
5
6
7Origin: upstream, https://sourceware.org/git/?p=lvm2.git;a=commit;h=cd8a0133fa28a0dff2714c80f822e8c665fe6237
8Bug-Ubuntu: https://bugs.launchpad.net/bugs/1842436
9Last-Update: 2019-09-10
10
11---
12 test/shell/allow-mixed-block-sizes.sh | 44 +++++++++++++++++++++++++++
13 1 file changed, 44 insertions(+)
14 create mode 100644 test/shell/allow-mixed-block-sizes.sh
15
16diff --git a/test/shell/allow-mixed-block-sizes.sh b/test/shell/allow-mixed-block-sizes.sh
17new file mode 100644
18index 000000000..18032561f
19--- /dev/null
20+++ b/test/shell/allow-mixed-block-sizes.sh
21@@ -0,0 +1,44 @@
22+#!/usr/bin/env bash
23+
24+# Copyright (C) 2019 Red Hat, Inc. All rights reserved.
25+#
26+# This copyrighted material is made available to anyone wishing to use,
27+# modify, copy, or redistribute it subject to the terms and conditions
28+# of the GNU General Public License v.2.
29+#
30+# You should have received a copy of the GNU General Public License
31+# along with this program; if not, write to the Free Software Foundation,
32+# Inc., 51 Franklin Street, Fifth Floor, Boston, MA 02110-1301 USA
33+
34+SKIP_WITH_LVMPOLLD=1
35+
36+. lib/inittest
37+
38+dd if=/dev/zero of=loopa bs=$((1024*1024)) count=2 2> /dev/null
39+dd if=/dev/zero of=loopb bs=$((1024*1024)) count=2 2> /dev/null
40+LOOP1=$(losetup -f loopa --sector-size 4096 --show)
41+LOOP2=$(losetup -f loopb --show)
42+
43+echo $LOOP1
44+echo $LOOP2
45+
46+aux extend_filter "a|$LOOP1|"
47+aux extend_filter "a|$LOOP2|"
48+
49+not vgcreate --config 'devices {allow_mixed_block_sizes=0 scan="/dev"}' $vg $LOOP1 $LOOP2
50+vgcreate --config 'devices {allow_mixed_block_sizes=1 scan="/dev"}' $vg $LOOP1 $LOOP2
51+vgs --config 'devices {allow_mixed_block_sizes=1 scan="/dev"}' $vg
52+
53+wipefs -a $LOOP1
54+wipefs -a $LOOP2
55+
56+vgcreate --config 'devices {allow_mixed_block_sizes=1 scan="/dev"}' $vg $LOOP1
57+vgs --config 'devices {allow_mixed_block_sizes=1 scan="/dev"}' $vg
58+not vgextend --config 'devices {allow_mixed_block_sizes=0 scan="/dev"}' $vg $LOOP2
59+vgextend --config 'devices {allow_mixed_block_sizes=1 scan="/dev"}' $vg $LOOP2
60+
61+losetup -d $LOOP1
62+losetup -d $LOOP2
63+rm loopa
64+rm loopb
65+
66--
672.23.0
68
diff --git a/debian/patches/series b/debian/patches/series
index b8eaedc..ce362dc 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -13,3 +13,6 @@ blkdeactivate-use-usr-bin-sort.patch
130010-make-generate-config-update.patch130010-make-generate-config-update.patch
14fix-systemd-run-location.patch14fix-systemd-run-location.patch
15Detect-systemd-at-run-time-in-69-dm-lvm-metad.rules.patch15Detect-systemd-at-run-time-in-69-dm-lvm-metad.rules.patch
16lp-1842436-restrict-PVs-with-mixed-block-size.patch
17lp-1842436-tests-allow-mixed-block-sizes.patch
18lp-1842436-make-generate-example-config.patch

Subscribers

People subscribed via source and target branches