From mboxrd@z Thu Jan 1 00:00:00 1970 Return-Path: Received: from lists.gentoo.org (pigeon.gentoo.org [208.92.234.80]) (using TLSv1.2 with cipher ECDHE-RSA-AES256-GCM-SHA384 (256/256 bits)) (No client certificate requested) by finch.gentoo.org (Postfix) with ESMTPS id ED9CB138335 for ; Wed, 9 Jan 2019 06:31:19 +0000 (UTC) Received: from pigeon.gentoo.org (localhost [127.0.0.1]) by pigeon.gentoo.org (Postfix) with SMTP id A656FE0BB2; Wed, 9 Jan 2019 06:31:18 +0000 (UTC) Received: from smtp.gentoo.org (dev.gentoo.org [IPv6:2001:470:ea4a:1:5054:ff:fec7:86e4]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by pigeon.gentoo.org (Postfix) with ESMTPS id 6808BE0BB2 for ; Wed, 9 Jan 2019 06:31:18 +0000 (UTC) Received: from oystercatcher.gentoo.org (oystercatcher.gentoo.org [148.251.78.52]) (using TLSv1.2 with cipher ECDHE-RSA-AES128-GCM-SHA256 (128/128 bits)) (No client certificate requested) by smtp.gentoo.org (Postfix) with ESMTPS id EC235335C97 for ; Wed, 9 Jan 2019 06:31:15 +0000 (UTC) Received: from localhost.localdomain (localhost [IPv6:::1]) by oystercatcher.gentoo.org (Postfix) with ESMTP id 31DB44FB for ; Wed, 9 Jan 2019 06:31:14 +0000 (UTC) From: "Georgy Yakovlev" To: gentoo-commits@lists.gentoo.org Content-Transfer-Encoding: 8bit Content-type: text/plain; charset=UTF-8 Reply-To: gentoo-dev@lists.gentoo.org, "Georgy Yakovlev" Message-ID: <1547015279.88f9fdae57b9424aabdf32ecca18718681983f33.gyakovlev@gentoo> Subject: [gentoo-commits] repo/gentoo:master commit in: sys-fs/zfs-kmod/files/, sys-fs/zfs-kmod/ X-VCS-Repository: repo/gentoo X-VCS-Files: sys-fs/zfs-kmod/files/zfs-kmod-0.7.12-kernel-4.20-compat.patch sys-fs/zfs-kmod/zfs-kmod-0.7.12-r1.ebuild X-VCS-Directories: sys-fs/zfs-kmod/ sys-fs/zfs-kmod/files/ X-VCS-Committer: gyakovlev X-VCS-Committer-Name: Georgy Yakovlev X-VCS-Revision: 88f9fdae57b9424aabdf32ecca18718681983f33 X-VCS-Branch: master Date: Wed, 9 Jan 2019 06:31:14 +0000 (UTC) Precedence: bulk List-Post: List-Help: List-Unsubscribe: List-Subscribe: List-Id: Gentoo Linux mail X-BeenThere: gentoo-commits@lists.gentoo.org X-Auto-Response-Suppress: DR, RN, NRN, OOF, AutoReply X-Archives-Salt: e657c890-8e55-495a-91f1-fe300fb3587d X-Archives-Hash: 7e2780985050c62266da79a91837a072 commit: 88f9fdae57b9424aabdf32ecca18718681983f33 Author: Georgy Yakovlev gentoo org> AuthorDate: Tue Jan 8 20:00:53 2019 +0000 Commit: Georgy Yakovlev gentoo org> CommitDate: Wed Jan 9 06:27:59 2019 +0000 URL: https://gitweb.gentoo.org/repo/gentoo.git/commit/?id=88f9fdae sys-fs/zfs-kmod: 0.7.12 linux-4.20 compatible backport of current_kernel_time64() fix from 0.7.13-tbr Package-Manager: Portage-2.3.54, Repoman-2.3.12 Signed-off-by: Georgy Yakovlev gentoo.org> .../files/zfs-kmod-0.7.12-kernel-4.20-compat.patch | 31 +++++ sys-fs/zfs-kmod/zfs-kmod-0.7.12-r1.ebuild | 148 +++++++++++++++++++++ 2 files changed, 179 insertions(+) diff --git a/sys-fs/zfs-kmod/files/zfs-kmod-0.7.12-kernel-4.20-compat.patch b/sys-fs/zfs-kmod/files/zfs-kmod-0.7.12-kernel-4.20-compat.patch new file mode 100644 index 00000000000..75ed3c57992 --- /dev/null +++ b/sys-fs/zfs-kmod/files/zfs-kmod-0.7.12-kernel-4.20-compat.patch @@ -0,0 +1,31 @@ +From 4f981f6ab614a908f912f7dc147b248f96b498a2 Mon Sep 17 00:00:00 2001 +From: satmandu +Date: Wed, 26 Dec 2018 12:36:28 -0500 +Subject: [PATCH] Additional fixes for current_kernel_time in 4.20 on 0.7.x + +While https://github.com/zfsonlinux/spl/commit/cd1b28e0cfa923db988611df28958f7b84b53530 fixed the 4.20 current_kernel_time issues in spl as per https://github.com/zfsonlinux/zfs/pull/8074 in .07.x, current_kernel_time is still being used inside zpios-ctl.h in 0.7.x. + +I believe this may fix this issue in 0.7.x to allow it to compile successfully for kernel 4.2.0. +--- + include/zpios-ctl.h | 7 +++++-- + 1 file changed, 5 insertions(+), 2 deletions(-) + +diff --git a/include/zpios-ctl.h b/include/zpios-ctl.h +index f17f1153260..068c9eaf173 100644 +--- a/include/zpios-ctl.h ++++ b/include/zpios-ctl.h +@@ -181,9 +181,12 @@ zpios_timespec_t + zpios_timespec_now(void) + { + zpios_timespec_t zts_now; +- struct timespec ts_now; ++ #if defined(HAVE_INODE_TIMESPEC64_TIMES) ++ inode_timespec_t ts_now = current_kernel_time64(); ++ #else ++ inode_timespec_t ts_now = current_kernel_time(); ++ #endif + +- ts_now = current_kernel_time(); + zts_now.ts_sec = ts_now.tv_sec; + zts_now.ts_nsec = ts_now.tv_nsec; + diff --git a/sys-fs/zfs-kmod/zfs-kmod-0.7.12-r1.ebuild b/sys-fs/zfs-kmod/zfs-kmod-0.7.12-r1.ebuild new file mode 100644 index 00000000000..ad9bf31d87c --- /dev/null +++ b/sys-fs/zfs-kmod/zfs-kmod-0.7.12-r1.ebuild @@ -0,0 +1,148 @@ +# Copyright 1999-2019 Gentoo Authors +# Distributed under the terms of the GNU General Public License v2 + +EAPI="5" + +if [ ${PV} == "9999" ]; then + AUTOTOOLS_AUTORECONF="1" + EGIT_REPO_URI="https://github.com/zfsonlinux/zfs.git" + inherit git-r3 +else + SRC_URI="https://github.com/zfsonlinux/zfs/releases/download/zfs-${PV}/zfs-${PV}.tar.gz" + S="${WORKDIR}/zfs-${PV}" + KEYWORDS="~amd64" +fi + +inherit flag-o-matic linux-info linux-mod toolchain-funcs autotools-utils + +DESCRIPTION="Linux ZFS kernel module for sys-fs/zfs" +HOMEPAGE="https://zfsonlinux.org/" + +LICENSE="CDDL debug? ( GPL-2+ )" +SLOT="0" +IUSE="custom-cflags debug +rootfs" +RESTRICT="debug? ( strip ) test" + +DEPEND=" + =sys-kernel/spl-${PV}* + dev-lang/perl + virtual/awk +" + +RDEPEND="${DEPEND} + !sys-fs/zfs-fuse +" + +AT_M4DIR="config" +AUTOTOOLS_IN_SOURCE_BUILD="1" + +DOCS=( AUTHORS COPYRIGHT DISCLAIMER README.markdown ) + +PATCHES=( "${FILESDIR}/${P}-kernel-4.20-compat.patch" ) + +pkg_setup() { + linux-info_pkg_setup + CONFIG_CHECK=" + !DEBUG_LOCK_ALLOC + EFI_PARTITION + IOSCHED_NOOP + MODULES + !PAX_KERNEXEC_PLUGIN_METHOD_OR + !TRIM_UNUSED_KSYMS + ZLIB_DEFLATE + ZLIB_INFLATE + " + + use debug && CONFIG_CHECK="${CONFIG_CHECK} + FRAME_POINTER + DEBUG_INFO + !DEBUG_INFO_REDUCED + " + + use rootfs && \ + CONFIG_CHECK="${CONFIG_CHECK} + BLK_DEV_INITRD + DEVTMPFS + " + + kernel_is ge 2 6 32 || die "Linux 2.6.32 or newer required" + + [ ${PV} != "9999" ] && \ + { kernel_is le 4 20 || die "Linux 4.20 is the latest supported version."; } + + check_extra_config +} + +src_prepare() { + # Remove GPLv2-licensed ZPIOS unless we are debugging + use debug || sed -e 's/^subdir-m += zpios$//' -i "${S}/module/Makefile.in" + + # Set module revision number + [ ${PV} != "9999" ] && \ + { sed -i "s/\(Release:\)\(.*\)1/\1\2${PR}-gentoo/" "${S}/META" || die "Could not set Gentoo release"; } + + autotools-utils_src_prepare +} + +src_configure() { + local SPL_PATH="$(basename $(echo "${EROOT}usr/src/spl-"*))" + use custom-cflags || strip-flags + filter-ldflags -Wl,* + + set_arch_to_kernel + local myeconfargs=(${myeconfargs} + --bindir="${EPREFIX}/bin" + --sbindir="${EPREFIX}/sbin" + --with-config=kernel + --with-linux="${KV_DIR}" + --with-linux-obj="${KV_OUT_DIR}" + --with-spl="${EROOT}usr/src/${SPL_PATH}" + --with-spl-obj="${EROOT}usr/src/${SPL_PATH}/${KV_FULL}" + $(use_enable debug) + ) + + autotools-utils_src_configure +} + +src_install() { + autotools-utils_src_install INSTALL_MOD_PATH="${INSTALL_MOD_PATH:-$EROOT}" +} + +pkg_postinst() { + linux-mod_pkg_postinst + + # Remove old modules + if [ -d "${EROOT}lib/modules/${KV_FULL}/addon/zfs" ] + then + ewarn "${PN} now installs modules in ${EROOT}lib/modules/${KV_FULL}/extra/zfs" + ewarn "Old modules were detected in ${EROOT}lib/modules/${KV_FULL}/addon/zfs" + ewarn "Automatically removing old modules to avoid problems." + rm -r "${EROOT}lib/modules/${KV_FULL}/addon/zfs" || die "Cannot remove modules" + rmdir --ignore-fail-on-non-empty "${EROOT}lib/modules/${KV_FULL}/addon" + fi + + if use x86 || use arm + then + ewarn "32-bit kernels will likely require increasing vmalloc to" + ewarn "at least 256M and decreasing zfs_arc_max to some value less than that." + fi + + ewarn "This version of ZFSOnLinux includes support for new feature flags" + ewarn "that are incompatible with previous versions. GRUB2 support for" + ewarn "/boot with the new feature flags is not yet available." + ewarn "Do *NOT* upgrade root pools to use the new feature flags." + ewarn "Any new pools will be created with the new feature flags by default" + ewarn "and will not be compatible with older versions of ZFSOnLinux. To" + ewarn "create a newpool that is backward compatible wih GRUB2, use " + ewarn + ewarn "zpool create -d -o feature@async_destroy=enabled " + ewarn " -o feature@empty_bpobj=enabled -o feature@lz4_compress=enabled" + ewarn " -o feature@spacemap_histogram=enabled" + ewarn " -o feature@enabled_txg=enabled " + ewarn " -o feature@extensible_dataset=enabled -o feature@bookmarks=enabled" + ewarn " ..." + ewarn + ewarn "GRUB2 support will be updated as soon as either the GRUB2" + ewarn "developers do a tag or the Gentoo developers find time to backport" + ewarn "support from GRUB2 HEAD." +}