Workaround for the crypto-on-lvm-on-crypto disk layout
Resolves: #741655
This commit is contained in:
parent
a762e50cab
commit
0afbbc68db
12
fedora-crypto-lvm-hack
Executable file
12
fedora-crypto-lvm-hack
Executable file
@ -0,0 +1,12 @@
|
|||||||
|
#!/bin/sh
|
||||||
|
#
|
||||||
|
# Test if the given device is an LVM PV. If yes, activate its VG.
|
||||||
|
#
|
||||||
|
# Suggested by Milan Brož in
|
||||||
|
# https://bugzilla.redhat.com/show_bug.cgi?id=741655#c19
|
||||||
|
|
||||||
|
device="$1"
|
||||||
|
[ -b "$device" ] || exit 1
|
||||||
|
|
||||||
|
blkid -t TYPE=LVM2_member "$device" > /dev/null && \
|
||||||
|
vgchange -a y $(pvs --noheadings -o vg_name "$device")
|
23
fedora-crypto-lvm-hack.patch
Normal file
23
fedora-crypto-lvm-hack.patch
Normal file
@ -0,0 +1,23 @@
|
|||||||
|
Fedora workaround for bz741655
|
||||||
|
|
||||||
|
After unlocking a crypto device, give LVM a chance to assemble a VG from it.
|
||||||
|
Needed to make the crypto-on-lvm-on-crypto disk layout work.
|
||||||
|
|
||||||
|
Non-upstream patch. Will be obsoleted as soon as LVM gets the planned
|
||||||
|
'policy daemon which will activate LV according to some system policy'.
|
||||||
|
|
||||||
|
Index: systemd-36/src/cryptsetup-generator.c
|
||||||
|
===================================================================
|
||||||
|
--- systemd-36.orig/src/cryptsetup-generator.c
|
||||||
|
+++ systemd-36/src/cryptsetup-generator.c
|
||||||
|
@@ -132,8 +132,10 @@ static int create_disk(
|
||||||
|
"RemainAfterExit=yes\n"
|
||||||
|
"TimeoutSec=0\n" /* the binary handles timeouts anyway */
|
||||||
|
"ExecStart=" SYSTEMD_CRYPTSETUP_PATH " attach '%s' '%s' '%s' '%s'\n"
|
||||||
|
+ "ExecStartPost=/lib/systemd/fedora-crypto-lvm-hack '/dev/mapper/%s'\n"
|
||||||
|
"ExecStop=" SYSTEMD_CRYPTSETUP_PATH " detach '%s'\n",
|
||||||
|
name, u, strempty(password), strempty(options),
|
||||||
|
+ name,
|
||||||
|
name);
|
||||||
|
|
||||||
|
if (has_option(options, "tmp"))
|
15
systemd.spec
15
systemd.spec
@ -2,7 +2,7 @@ Name: systemd
|
|||||||
Url: http://www.freedesktop.org/wiki/Software/systemd
|
Url: http://www.freedesktop.org/wiki/Software/systemd
|
||||||
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
BuildRoot: %{_tmppath}/%{name}-%{version}-%{release}-root-%(%{__id_u} -n)
|
||||||
Version: 36
|
Version: 36
|
||||||
Release: 3%{?dist}
|
Release: 4%{?dist}
|
||||||
License: GPLv2+
|
License: GPLv2+
|
||||||
Group: System Environment/Base
|
Group: System Environment/Base
|
||||||
Summary: A System and Service Manager
|
Summary: A System and Service Manager
|
||||||
@ -44,8 +44,12 @@ Source1: macros.systemd
|
|||||||
Source2: systemd-sysv-convert
|
Source2: systemd-sysv-convert
|
||||||
# Stop-gap, just to ensure things work out-of-the-box for this driver.
|
# Stop-gap, just to ensure things work out-of-the-box for this driver.
|
||||||
Source3: udlfb.conf
|
Source3: udlfb.conf
|
||||||
|
# Workaround https://bugzilla.redhat.com/show_bug.cgi?id=741655
|
||||||
|
Source4: fedora-crypto-lvm-hack
|
||||||
# We revert this one for https://bugzilla.redhat.com/show_bug.cgi?id=741078
|
# We revert this one for https://bugzilla.redhat.com/show_bug.cgi?id=741078
|
||||||
Patch0: 0001-unit-fix-complementing-of-requirement-deps-with-Afte.patch
|
Patch0: 0001-unit-fix-complementing-of-requirement-deps-with-Afte.patch
|
||||||
|
# Workaround https://bugzilla.redhat.com/show_bug.cgi?id=741655
|
||||||
|
Patch100: fedora-crypto-lvm-hack.patch
|
||||||
|
|
||||||
# For sysvinit tools
|
# For sysvinit tools
|
||||||
Obsoletes: SysVinit < 2.86-24, sysvinit < 2.86-24
|
Obsoletes: SysVinit < 2.86-24, sysvinit < 2.86-24
|
||||||
@ -109,6 +113,7 @@ SysV compatibility tools for systemd
|
|||||||
%prep
|
%prep
|
||||||
%setup -q
|
%setup -q
|
||||||
%patch0 -p1 -R
|
%patch0 -p1 -R
|
||||||
|
%patch100 -p1
|
||||||
|
|
||||||
%build
|
%build
|
||||||
%configure --with-rootdir= --with-distro=fedora --with-rootlibdir=/%{_lib}
|
%configure --with-rootdir= --with-distro=fedora --with-rootlibdir=/%{_lib}
|
||||||
@ -167,6 +172,9 @@ install -m 0755 %{SOURCE2} %{buildroot}%{_bindir}/
|
|||||||
mkdir -p %{buildroot}%{_sysconfdir}/modprobe.d/
|
mkdir -p %{buildroot}%{_sysconfdir}/modprobe.d/
|
||||||
install -m 0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/modprobe.d/
|
install -m 0644 %{SOURCE3} %{buildroot}%{_sysconfdir}/modprobe.d/
|
||||||
|
|
||||||
|
# install the Fedora crypto-LVM hack
|
||||||
|
install -m 0755 %{SOURCE4} %{buildroot}/lib/systemd/
|
||||||
|
|
||||||
%clean
|
%clean
|
||||||
rm -rf $RPM_BUILD_ROOT
|
rm -rf $RPM_BUILD_ROOT
|
||||||
|
|
||||||
@ -260,6 +268,7 @@ fi
|
|||||||
/usr/bin/systemd-stdio-bridge
|
/usr/bin/systemd-stdio-bridge
|
||||||
/usr/bin/systemd-analyze
|
/usr/bin/systemd-analyze
|
||||||
/lib/systemd/systemd-*
|
/lib/systemd/systemd-*
|
||||||
|
/lib/systemd/fedora-crypto-lvm-hack
|
||||||
/lib/udev/rules.d/*.rules
|
/lib/udev/rules.d/*.rules
|
||||||
/lib/systemd/system-generators/systemd-cryptsetup-generator
|
/lib/systemd/system-generators/systemd-cryptsetup-generator
|
||||||
/lib/systemd/system-generators/systemd-getty-generator
|
/lib/systemd/system-generators/systemd-getty-generator
|
||||||
@ -353,6 +362,10 @@ fi
|
|||||||
%{_bindir}/systemd-sysv-convert
|
%{_bindir}/systemd-sysv-convert
|
||||||
|
|
||||||
%changelog
|
%changelog
|
||||||
|
* Thu Sep 29 2011 Michal Schmidt <mschmidt@redhat.com> - 36-4
|
||||||
|
- Workaround for the crypto-on-lvm-on-crypto disk layout
|
||||||
|
- Resolves: #741655
|
||||||
|
|
||||||
* Sun Sep 25 2011 Michal Schmidt <mschmidt@redhat.com> - 36-3
|
* Sun Sep 25 2011 Michal Schmidt <mschmidt@redhat.com> - 36-3
|
||||||
- Revert an upstream patch that caused ordering cycles
|
- Revert an upstream patch that caused ordering cycles
|
||||||
- Resolves: #741078
|
- Resolves: #741078
|
||||||
|
Loading…
Reference in New Issue
Block a user