public inbox for gentoo-commits@lists.gentoo.org
 help / color / mirror / Atom feed
From: "Georgy Yakovlev" <gyakovlev@gentoo.org>
To: gentoo-commits@lists.gentoo.org
Subject: [gentoo-commits] repo/gentoo:master commit in: sys-fs/zfs-kmod/files/, sys-fs/zfs-kmod/
Date: Wed,  9 Jan 2019 06:31:14 +0000 (UTC)	[thread overview]
Message-ID: <1547015279.88f9fdae57b9424aabdf32ecca18718681983f33.gyakovlev@gentoo> (raw)

commit:     88f9fdae57b9424aabdf32ecca18718681983f33
Author:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> org>
AuthorDate: Tue Jan  8 20:00:53 2019 +0000
Commit:     Georgy Yakovlev <gyakovlev <AT> gentoo <DOT> 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 <gyakovlev <AT> 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 <satadru@umich.edu>
+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."
+}


             reply	other threads:[~2019-01-09  6:31 UTC|newest]

Thread overview: 15+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2019-01-09  6:31 Georgy Yakovlev [this message]
  -- strict thread matches above, loose matches on Subject: below --
2023-12-28  3:43 [gentoo-commits] repo/gentoo:master commit in: sys-fs/zfs-kmod/files/, sys-fs/zfs-kmod/ Sam James
2023-01-27 19:34 Georgy Yakovlev
2023-01-24 21:04 Georgy Yakovlev
2023-01-13  4:33 Georgy Yakovlev
2022-06-30 10:37 Sam James
2022-06-07 18:47 Georgy Yakovlev
2022-04-22  1:54 Sam James
2021-11-08  6:09 Sam James
2020-11-03 20:07 Georgy Yakovlev
2020-08-26 23:35 Georgy Yakovlev
2019-12-13 23:43 Georgy Yakovlev
2019-06-23  8:00 Georgy Yakovlev
2019-04-26 21:09 Georgy Yakovlev
2015-09-18 12:50 Richard Yao

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=1547015279.88f9fdae57b9424aabdf32ecca18718681983f33.gyakovlev@gentoo \
    --to=gyakovlev@gentoo.org \
    --cc=gentoo-commits@lists.gentoo.org \
    --cc=gentoo-dev@lists.gentoo.org \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox