X-Original-To: alpine-aports@lists.alpinelinux.org Received: from magnesium.8pit.net (magnesium.8pit.net [45.76.88.171]) by lists.alpinelinux.org (Postfix) with ESMTP id 4BE945C4AED; Sat, 10 Jun 2017 10:06:02 +0000 (GMT) Received: from localhost (dslb-092-077-019-181.092.077.pools.vodafone-ip.de [92.77.19.181]) by magnesium.8pit.net (OpenSMTPD) with ESMTPSA id 5bf6b48f (TLSv1.2:ECDHE-RSA-AES256-GCM-SHA384:256:NO); Sat, 10 Jun 2017 12:05:57 +0200 (CEST) From: =?UTF-8?q?S=C3=B6ren=20Tempel?= To: alpine-aports@lists.alpinelinux.org Cc: ncopa@alpinelinux.org Subject: [alpine-aports] [PATCH] main/mkinitfs: backport cryptdiscards patch Date: Sat, 10 Jun 2017 12:05:53 +0200 Message-Id: <20170610100553.3112-1-soeren+git@soeren-tempel.net> X-Mailer: git-send-email 2.13.0 X-Mailinglist: alpine-aports Precedence: list List-Id: Alpine Development List-Unsubscribe: List-Post: List-Help: List-Subscribe: --- ...nit-kopt-for-enabling-discards-with-crypt.patch | 80 ++++++++++++++++++++++ main/mkinitfs/APKBUILD | 6 +- 2 files changed, 84 insertions(+), 2 deletions(-) create mode 100644 main/mkinitfs/0001-initramfs-init-kopt-for-enabling-discards-with-crypt.patch diff --git a/main/mkinitfs/0001-initramfs-init-kopt-for-enabling-discards-with-crypt.patch b/main/mkinitfs/0001-initramfs-init-kopt-for-enabling-discards-with-crypt.patch new file mode 100644 index 0000000000..f380296764 --- /dev/null +++ b/main/mkinitfs/0001-initramfs-init-kopt-for-enabling-discards-with-crypt.patch @@ -0,0 +1,80 @@ +From b74571bef6d579b385b4b3f387e189d89be1d64b Mon Sep 17 00:00:00 2001 +From: =?UTF-8?q?S=C3=B6ren=20Tempel?= +Date: Sat, 10 Jun 2017 10:42:07 +0200 +Subject: [PATCH] initramfs-init: kopt for enabling discards with cryptsetup + +When enabled allows the use of discard (TRIM) requests for the device. +See cryptsetup(1) for more information. +--- + initramfs-init.in | 7 +++++-- + nlplug-findfs.c | 8 +++++++- + 2 files changed, 12 insertions(+), 3 deletions(-) + +diff --git a/initramfs-init.in b/initramfs-init.in +index 8a1c867..bbb37d2 100755 +--- a/initramfs-init.in ++++ b/initramfs-init.in +@@ -261,8 +261,8 @@ setup_nbd() { + set -- $(cat /proc/cmdline) + + myopts="alpine_dev autodetect autoraid chart cryptroot cryptdm cryptheader cryptoffset +- debug_init dma init_args keep_apk_new modules ovl_dev pkgs quiet root_size root +- usbdelay ip alpine_repo apkovl alpine_start splash blacklist ++ cryptdiscards debug_init dma init_args keep_apk_new modules ovl_dev pkgs quiet ++ root_size root usbdelay ip alpine_repo apkovl alpine_start splash blacklist + overlaytmpfs rootfstype rootflags nbd resume" + + for opt; do +@@ -353,6 +353,9 @@ eend 0 + + if [ -n "$KOPT_cryptroot" ]; then + cryptopts="-c ${KOPT_cryptroot}" ++ if [ "$KOPT_cryptdiscards" = "yes" ]; then ++ cryptopts="$cryptopts -D" ++ fi + if [ -n "$KOPT_cryptdm" ]; then + cryptopts="$cryptopts -m ${KOPT_cryptdm}" + fi +diff --git a/nlplug-findfs.c b/nlplug-findfs.c +index f23d0dd..be525cc 100644 +--- a/nlplug-findfs.c ++++ b/nlplug-findfs.c +@@ -22,6 +22,7 @@ + #include + #include + #include ++#include + + #include + #include +@@ -317,6 +318,7 @@ struct cryptconf { + size_t payload_offset; + pthread_t tid; + pthread_mutex_t mutex; ++ uint32_t flags; + }; + + struct ueventconf { +@@ -605,7 +607,8 @@ static void *cryptsetup_thread(void *data) + pthread_mutex_lock(&c->crypt.mutex); + r = crypt_activate_by_passphrase(cd, c->crypt.data.name, + CRYPT_ANY_SLOT, +- pass, strlen(pass), 0); ++ pass, strlen(pass), ++ c->crypt.flags); + pthread_mutex_unlock(&c->crypt.mutex); + memset(pass, 0, sizeof(pass)); /* wipe pass after use */ + +@@ -1240,6 +1243,9 @@ int main(int argc, char *argv[]) + case 'n': + not_found_is_ok = 1; + break; ++ case 'D': ++ conf.crypt.flags |= CRYPT_ACTIVATE_ALLOW_DISCARDS; ++ break; + case 'd': + dodebug = 1; + break; +-- +2.13.0 + diff --git a/main/mkinitfs/APKBUILD b/main/mkinitfs/APKBUILD index ce2bac871c..a82279ec7c 100644 --- a/main/mkinitfs/APKBUILD +++ b/main/mkinitfs/APKBUILD @@ -2,7 +2,7 @@ pkgname=mkinitfs pkgver=3.1.0_rc1 _ver=${pkgver%_git*} -pkgrel=0 +pkgrel=1 pkgdesc="Tool to generate initramfs images for Alpine" url="http://git.alpinelinux.org/cgit/mkinitfs" makedepends_build="" @@ -12,6 +12,7 @@ depends="busybox apk-tools>=2.0 lddtree>=1.25" install="$pkgname.pre-upgrade $pkgname.post-install $pkgname.post-upgrade" triggers="$pkgname.trigger=/usr/share/kernel/*" source="http://dev.alpinelinux.org/archive/$pkgname/$pkgname-$_ver.tar.xz + 0001-initramfs-init-kopt-for-enabling-discards-with-crypt.patch " arch="all" license="GPL2" @@ -27,4 +28,5 @@ package() { make install DESTDIR="$pkgdir" || return 1 } -sha512sums="b1ec1d07bae813d105779112b407e07f4a89b03664ece87e63b1db8060e8f304c0855b64252ade5910b1981d5711612ed96fbce77d33c27909650efbcb7e769a mkinitfs-3.1.0_rc1.tar.xz" +sha512sums="b1ec1d07bae813d105779112b407e07f4a89b03664ece87e63b1db8060e8f304c0855b64252ade5910b1981d5711612ed96fbce77d33c27909650efbcb7e769a mkinitfs-3.1.0_rc1.tar.xz +d418247e5d4c4ea24dcd15c9f32abb0b96fc9ecee0594cce9e95d3f02ee9eb0c1d08f935de57a6acc81b909e5b3dafe2b3916ea3634987f896046973a0061277 0001-initramfs-init-kopt-for-enabling-discards-with-crypt.patch" -- 2.13.0 --- Unsubscribe: alpine-aports+unsubscribe@lists.alpinelinux.org Help: alpine-aports+help@lists.alpinelinux.org ---