Github messages for voidlinux
 help / color / mirror / Atom feed
* [PR PATCH] zfs: update to 0.8.4.
@ 2020-05-12 19:48 ahesford
  2020-05-12 20:03 ` [PR PATCH] [Updated] " ahesford
                   ` (2 more replies)
  0 siblings, 3 replies; 4+ messages in thread
From: ahesford @ 2020-05-12 19:48 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 304 bytes --]

There is a new pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages zfs
https://github.com/void-linux/void-packages/pull/21888

zfs: update to 0.8.4.


A patch file from https://github.com/void-linux/void-packages/pull/21888.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-zfs-21888.patch --]
[-- Type: text/x-diff, Size: 21775 bytes --]

From 07038c3ffb2e25e43f25cf75a17237c3dec0abbb Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Tue, 12 May 2020 15:48:24 -0400
Subject: [PATCH] zfs: update to 0.8.4.

---
 srcpkgs/zfs/patches/dkms.patch    |  44 ---
 srcpkgs/zfs/patches/linux56.patch | 531 ------------------------------
 srcpkgs/zfs/template              |   6 +-
 3 files changed, 3 insertions(+), 578 deletions(-)
 delete mode 100644 srcpkgs/zfs/patches/dkms.patch
 delete mode 100644 srcpkgs/zfs/patches/linux56.patch

diff --git a/srcpkgs/zfs/patches/dkms.patch b/srcpkgs/zfs/patches/dkms.patch
deleted file mode 100644
index aea843fbc81..00000000000
--- a/srcpkgs/zfs/patches/dkms.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-# Patch from https://aur.archlinux.org/packages/zfs-dkms/
-# Avoids recompiling ZFS userland utilities with DKMS rebuilds
-# Also short-circuits a useless test for Debian in the DKMS source
-
-diff --git a/scripts/dkms.mkconf b/scripts/dkms.mkconf
-index 88c289383..5a859a0e0 100755
---- scripts/dkms.mkconf
-+++ scripts/dkms.mkconf
-@@ -25,22 +25,7 @@ PACKAGE_CONFIG="${pkgcfg}"
- PRE_BUILD="configure
-   --prefix=/usr
-   --with-config=kernel
--  --with-linux=\$(
--    case \`lsb_release -is\` in
--      (Debian|Devuan)
--        if [[ -e \${kernel_source_dir/%build/source} ]]
--        then
--          echo \${kernel_source_dir/%build/source}
--        else
--          # A kpkg exception for Proxmox 2.0
--          echo \${kernel_source_dir}
--        fi
--      ;;
--      (*)
--        echo \${kernel_source_dir}
--      ;;
--    esac
--  )
-+  --with-linux=\${kernel_source_dir}
-   --with-linux-obj=\${kernel_source_dir}
-   --with-spl=\${source_tree}/spl-\${PACKAGE_VERSION}
-   --with-spl-obj=\${dkms_tree}/spl/\${PACKAGE_VERSION}/\${kernelver}/\${arch}
-@@ -78,7 +63,7 @@ POST_BUILD="scripts/dkms.postbuild
- BUILD_DEPENDS[0]="spl"
- AUTOINSTALL="yes"
- REMAKE_INITRD="no"
--MAKE[0]="make"
-+MAKE[0]="make -C module/"
- STRIP[0]="\$(
-   [[ -r \${PACKAGE_CONFIG} ]] \\
-   && source \${PACKAGE_CONFIG} \\
--- 
-2.19.1
-
diff --git a/srcpkgs/zfs/patches/linux56.patch b/srcpkgs/zfs/patches/linux56.patch
deleted file mode 100644
index 8f67ef5ec3d..00000000000
--- a/srcpkgs/zfs/patches/linux56.patch
+++ /dev/null
@@ -1,531 +0,0 @@
-# Patch from https://gist.github.com/satmandu/67cbae9c4d461be0e64428a1707aef1c
-# Upstream issue: https://github.com/openzfs/zfs/pull/9961
-# Early delivery of Linux 5.6 fixes pending official ZoL release
-
-diff -Npaur a/config/kernel-inode-times.m4 b/config/kernel-inode-times.m4
---- config/kernel-inode-times.m4	2020-01-22 16:49:01.000000000 -0500
-+++ config/kernel-inode-times.m4	2020-02-27 12:40:52.273139053 -0500
-@@ -1,8 +1,22 @@
--dnl #
--dnl # 4.18 API change
--dnl # i_atime, i_mtime, and i_ctime changed from timespec to timespec64.
--dnl #
- AC_DEFUN([ZFS_AC_KERNEL_SRC_INODE_TIMES], [
-+
-+	dnl #
-+	dnl # 5.6 API change
-+	dnl # timespec64_trunc() replaced by timestamp_truncate() interface.
-+	dnl #
-+	ZFS_LINUX_TEST_SRC([timestamp_truncate], [
-+		#include <linux/fs.h>
-+	],[
-+		struct timespec64 ts;
-+		struct inode ip;
-+
-+		ts = timestamp_truncate(ts, &ip);
-+	])
-+
-+	dnl #
-+	dnl # 4.18 API change
-+	dnl # i_atime, i_mtime, and i_ctime changed from timespec to timespec64.
-+	dnl #
- 	ZFS_LINUX_TEST_SRC([inode_times], [
- 		#include <linux/fs.h>
- 	],[
-@@ -15,6 +29,15 @@ AC_DEFUN([ZFS_AC_KERNEL_SRC_INODE_TIMES]
- ])
- 
- AC_DEFUN([ZFS_AC_KERNEL_INODE_TIMES], [
-+	AC_MSG_CHECKING([whether timestamp_truncate() exists])
-+	ZFS_LINUX_TEST_RESULT([timestamp_truncate], [
-+		AC_MSG_RESULT(yes)
-+		AC_DEFINE(HAVE_INODE_TIMESTAMP_TRUNCATE, 1,
-+		    [timestamp_truncate() exists])
-+	],[
-+		AC_MSG_RESULT(no)
-+	])
-+
- 	AC_MSG_CHECKING([whether inode->i_*time's are timespec64])
- 	ZFS_LINUX_TEST_RESULT([inode_times], [
- 		AC_MSG_RESULT(no)
-diff -Npaur a/config/kernel-ktime_get_coarse_real_ts64.m4 b/config/kernel-ktime_get_coarse_real_ts64.m4
---- config/kernel-ktime_get_coarse_real_ts64.m4	2020-01-22 16:49:01.000000000 -0500
-+++ config/kernel-ktime_get_coarse_real_ts64.m4	1969-12-31 19:00:00.000000000 -0500
-@@ -1,23 +0,0 @@
--dnl #
--dnl # 4.18: ktime_get_coarse_real_ts64() added.  Use it in place of
--dnl # current_kernel_time64().
--dnl #
--AC_DEFUN([ZFS_AC_KERNEL_SRC_KTIME_GET_COARSE_REAL_TS64], [
--	ZFS_LINUX_TEST_SRC([ktime_get_coarse_real_ts64], [
--		#include <linux/mm.h>
--	], [
--		struct timespec64 ts;
--		ktime_get_coarse_real_ts64(&ts);
--	])
--])
--
--AC_DEFUN([ZFS_AC_KERNEL_KTIME_GET_COARSE_REAL_TS64], [
--	AC_MSG_CHECKING([whether ktime_get_coarse_real_ts64() exists])
--	ZFS_LINUX_TEST_RESULT([ktime_get_coarse_real_ts64], [
--		AC_MSG_RESULT(yes)
--		AC_DEFINE(HAVE_KTIME_GET_COARSE_REAL_TS64, 1,
--		    [ktime_get_coarse_real_ts64() exists])
--	], [
--		AC_MSG_RESULT(no)
--	])
--])
-diff -Npaur a/config/kernel-ktime.m4 b/config/kernel-ktime.m4
---- config/kernel-ktime.m4	1969-12-31 19:00:00.000000000 -0500
-+++ config/kernel-ktime.m4	2020-02-27 12:40:52.273139053 -0500
-@@ -0,0 +1,55 @@
-+dnl #
-+dnl # 4.18: ktime_get_coarse_real_ts64() replaces current_kernel_time64().
-+dnl #
-+AC_DEFUN([ZFS_AC_KERNEL_SRC_KTIME_GET_COARSE_REAL_TS64], [
-+	ZFS_LINUX_TEST_SRC([ktime_get_coarse_real_ts64], [
-+		#include <linux/mm.h>
-+	], [
-+		struct timespec64 ts;
-+		ktime_get_coarse_real_ts64(&ts);
-+	])
-+])
-+
-+AC_DEFUN([ZFS_AC_KERNEL_KTIME_GET_COARSE_REAL_TS64], [
-+	AC_MSG_CHECKING([whether ktime_get_coarse_real_ts64() exists])
-+	ZFS_LINUX_TEST_RESULT([ktime_get_coarse_real_ts64], [
-+		AC_MSG_RESULT(yes)
-+		AC_DEFINE(HAVE_KTIME_GET_COARSE_REAL_TS64, 1,
-+		    [ktime_get_coarse_real_ts64() exists])
-+	], [
-+		AC_MSG_RESULT(no)
-+	])
-+])
-+
-+dnl #
-+dnl # 4.18: ktime_get_raw_ts64() replaces getrawmonotonic64().
-+dnl #
-+AC_DEFUN([ZFS_AC_KERNEL_SRC_KTIME_GET_RAW_TS64], [
-+	ZFS_LINUX_TEST_SRC([ktime_get_raw_ts64], [
-+		#include <linux/mm.h>
-+	], [
-+		struct timespec64 ts;
-+		ktime_get_raw_ts64(&ts);
-+	])
-+])
-+
-+AC_DEFUN([ZFS_AC_KERNEL_KTIME_GET_RAW_TS64], [
-+	AC_MSG_CHECKING([whether ktime_get_raw_ts64() exists])
-+	ZFS_LINUX_TEST_RESULT([ktime_get_raw_ts64], [
-+		AC_MSG_RESULT(yes)
-+		AC_DEFINE(HAVE_KTIME_GET_RAW_TS64, 1,
-+		    [ktime_get_raw_ts64() exists])
-+	], [
-+		AC_MSG_RESULT(no)
-+	])
-+])
-+
-+AC_DEFUN([ZFS_AC_KERNEL_SRC_KTIME], [
-+	ZFS_AC_KERNEL_SRC_KTIME_GET_COARSE_REAL_TS64
-+	ZFS_AC_KERNEL_SRC_KTIME_GET_RAW_TS64
-+])
-+
-+AC_DEFUN([ZFS_AC_KERNEL_KTIME], [
-+	ZFS_AC_KERNEL_KTIME_GET_COARSE_REAL_TS64
-+	ZFS_AC_KERNEL_KTIME_GET_RAW_TS64
-+])
-diff -Npaur a/config/kernel.m4 b/config/kernel.m4
---- config/kernel.m4	2020-01-22 16:49:04.000000000 -0500
-+++ config/kernel.m4	2020-02-27 12:42:32.805701403 -0500
-@@ -54,6 +54,7 @@ AC_DEFUN([ZFS_AC_KERNEL_TEST_SRC], [
- 	ZFS_AC_KERNEL_SRC_CURRENT_BIO_TAIL
- 	ZFS_AC_KERNEL_SRC_SUPER_USER_NS
- 	ZFS_AC_KERNEL_SRC_SUBMIT_BIO
-+	ZFS_AC_KERNEL_SRC_PROC_OPERATIONS
- 	ZFS_AC_KERNEL_SRC_BLOCK_DEVICE_OPERATIONS
- 	ZFS_AC_KERNEL_SRC_BLKDEV_GET_BY_PATH
- 	ZFS_AC_KERNEL_SRC_BLKDEV_REREAD_PART
-@@ -136,7 +137,7 @@ AC_DEFUN([ZFS_AC_KERNEL_TEST_SRC], [
- 	ZFS_AC_KERNEL_SRC_CURRENT_TIME
- 	ZFS_AC_KERNEL_SRC_USERNS_CAPABILITIES
- 	ZFS_AC_KERNEL_SRC_IN_COMPAT_SYSCALL
--	ZFS_AC_KERNEL_SRC_KTIME_GET_COARSE_REAL_TS64
-+	ZFS_AC_KERNEL_SRC_KTIME
- 	ZFS_AC_KERNEL_SRC_TOTALRAM_PAGES_FUNC
- 	ZFS_AC_KERNEL_SRC_TOTALHIGH_PAGES
- 	ZFS_AC_KERNEL_SRC_KSTRTOUL
-@@ -169,6 +170,7 @@ AC_DEFUN([ZFS_AC_KERNEL_TEST_RESULT], [
- 	ZFS_AC_KERNEL_TIMER_SETUP
- 	ZFS_AC_KERNEL_CURRENT_BIO_TAIL
- 	ZFS_AC_KERNEL_SUPER_USER_NS
-+	ZFS_AC_KERNEL_PROC_OPERATIONS
- 	ZFS_AC_KERNEL_SUBMIT_BIO
- 	ZFS_AC_KERNEL_BLOCK_DEVICE_OPERATIONS
- 	ZFS_AC_KERNEL_BLKDEV_GET_BY_PATH
-@@ -252,7 +254,7 @@ AC_DEFUN([ZFS_AC_KERNEL_TEST_RESULT], [
- 	ZFS_AC_KERNEL_CURRENT_TIME
- 	ZFS_AC_KERNEL_USERNS_CAPABILITIES
- 	ZFS_AC_KERNEL_IN_COMPAT_SYSCALL
--	ZFS_AC_KERNEL_KTIME_GET_COARSE_REAL_TS64
-+	ZFS_AC_KERNEL_KTIME
- 	ZFS_AC_KERNEL_TOTALRAM_PAGES_FUNC
- 	ZFS_AC_KERNEL_TOTALHIGH_PAGES
- 	ZFS_AC_KERNEL_KSTRTOUL
-diff -Npaur a/config/kernel-proc-operations.m4 b/config/kernel-proc-operations.m4
---- config/kernel-proc-operations.m4	1969-12-31 19:00:00.000000000 -0500
-+++ config/kernel-proc-operations.m4	2020-02-27 12:40:52.273139053 -0500
-@@ -0,0 +1,41 @@
-+dnl #
-+dnl # 5.6 API Change
-+dnl # The proc_ops structure was introduced to replace the use of
-+dnl # of the file_operations structure when registering proc handlers.
-+dnl #
-+AC_DEFUN([ZFS_AC_KERNEL_SRC_PROC_OPERATIONS], [
-+	ZFS_LINUX_TEST_SRC([proc_ops_struct], [
-+		#include <linux/proc_fs.h>
-+
-+		int test_open(struct inode *ip, struct file *fp) { return 0; }
-+		ssize_t test_read(struct file *fp, char __user *ptr,
-+		    size_t size, loff_t *offp) { return 0; }
-+		ssize_t test_write(struct file *fp, const char __user *ptr,
-+		    size_t size, loff_t *offp) { return 0; }
-+		loff_t test_lseek(struct file *fp, loff_t off, int flag)
-+		    { return 0; }
-+		int test_release(struct inode *ip, struct file *fp)
-+		    { return 0; }
-+
-+		const struct proc_ops test_ops __attribute__ ((unused)) = {
-+			.proc_open      = test_open,
-+			.proc_read      = test_read,
-+			.proc_write	= test_write,
-+			.proc_lseek     = test_lseek,
-+			.proc_release   = test_release,
-+		};
-+	], [
-+		struct proc_dir_entry *entry __attribute__ ((unused)) =
-+		    proc_create_data("test", 0444, NULL, &test_ops, NULL);
-+	])
-+])
-+
-+AC_DEFUN([ZFS_AC_KERNEL_PROC_OPERATIONS], [
-+	AC_MSG_CHECKING([whether proc_ops structure exists])
-+	ZFS_LINUX_TEST_RESULT([proc_ops_struct], [
-+		AC_MSG_RESULT(yes)
-+		AC_DEFINE(HAVE_PROC_OPS_STRUCT, 1, [proc_ops structure exists])
-+	], [
-+		AC_MSG_RESULT(no)
-+	])
-+])
-diff -Npaur a/include/spl/sys/kstat.h b/include/spl/sys/kstat.h
---- include/spl/sys/kstat.h	2020-01-13 17:17:11.000000000 -0500
-+++ include/spl/sys/kstat.h	2020-02-27 12:40:52.273139053 -0500
-@@ -152,6 +152,12 @@ typedef struct kstat_named_s {
- #define	KSTAT_NAMED_STR_PTR(knptr) ((knptr)->value.string.addr.ptr)
- #define	KSTAT_NAMED_STR_BUFLEN(knptr) ((knptr)->value.string.len)
- 
-+#ifdef HAVE_PROC_OPS_STRUCT
-+typedef struct proc_ops kstat_proc_op_t;
-+#else
-+typedef struct file_operations kstat_proc_op_t;
-+#endif
-+
- typedef struct kstat_intr {
- 	uint_t intrs[KSTAT_NUM_INTRS];
- } kstat_intr_t;
-@@ -197,7 +203,7 @@ extern void kstat_proc_entry_init(kstat_
-     const char *module, const char *name);
- extern void kstat_proc_entry_delete(kstat_proc_entry_t *kpep);
- extern void kstat_proc_entry_install(kstat_proc_entry_t *kpep, mode_t mode,
--    const struct file_operations *file_ops, void *data);
-+    const kstat_proc_op_t *file_ops, void *data);
- 
- extern void __kstat_install(kstat_t *ksp);
- extern void __kstat_delete(kstat_t *ksp);
-diff -Npaur a/include/spl/sys/time.h b/include/spl/sys/time.h
---- include/spl/sys/time.h	2020-01-13 17:17:11.000000000 -0500
-+++ include/spl/sys/time.h	2020-02-27 12:40:52.277139075 -0500
-@@ -85,7 +85,7 @@ gethrestime(inode_timespec_t *ts)
- #endif
- }
- 
--static inline time_t
-+static inline uint64_t
- gethrestime_sec(void)
- {
- #if defined(HAVE_INODE_TIMESPEC64_TIMES)
-@@ -105,8 +105,13 @@ gethrestime_sec(void)
- static inline hrtime_t
- gethrtime(void)
- {
-+#if defined(HAVE_KTIME_GET_RAW_TS64)
-+	struct timespec64 ts;
-+	ktime_get_raw_ts64(&ts);
-+#else
- 	struct timespec ts;
- 	getrawmonotonic(&ts);
-+#endif
- 	return (((hrtime_t)ts.tv_sec * NSEC_PER_SEC) + ts.tv_nsec);
- }
- 
-diff -Npaur a/include/sys/vdev_impl.h b/include/sys/vdev_impl.h
---- include/sys/vdev_impl.h	2020-01-13 17:17:11.000000000 -0500
-+++ include/sys/vdev_impl.h	2020-02-27 12:40:52.277139075 -0500
-@@ -274,7 +274,7 @@ struct vdev {
- 	range_tree_t	*vdev_initialize_tree;	/* valid while initializing */
- 	uint64_t	vdev_initialize_bytes_est;
- 	uint64_t	vdev_initialize_bytes_done;
--	time_t		vdev_initialize_action_time;	/* start and end time */
-+	uint64_t	vdev_initialize_action_time;	/* start and end time */
- 
- 	/* TRIM related */
- 	boolean_t	vdev_trim_exit_wanted;
-@@ -295,7 +295,7 @@ struct vdev {
- 	uint64_t	vdev_trim_rate;		/* requested rate (bytes/sec) */
- 	uint64_t	vdev_trim_partial;	/* requested partial TRIM */
- 	uint64_t	vdev_trim_secure;	/* requested secure TRIM */
--	time_t		vdev_trim_action_time;	/* start and end time */
-+	uint64_t	vdev_trim_action_time;	/* start and end time */
- 
- 	/* for limiting outstanding I/Os (initialize and TRIM) */
- 	kmutex_t	vdev_initialize_io_lock;
-diff -Npaur a/include/sys/zpl.h b/include/sys/zpl.h
---- include/sys/zpl.h	2020-01-13 17:17:11.000000000 -0500
-+++ include/sys/zpl.h	2020-02-27 12:40:52.277139075 -0500
-@@ -188,13 +188,14 @@ zpl_dir_emit_dots(struct file *file, zpl
- }
- #endif /* HAVE_VFS_ITERATE */
- 
--/*
-- * Linux 4.18, inode times converted from timespec to timespec64.
-- */
--#if defined(HAVE_INODE_TIMESPEC64_TIMES)
--#define	zpl_inode_timespec_trunc(ts, gran)	timespec64_trunc(ts, gran)
-+#if defined(HAVE_INODE_TIMESTAMP_TRUNCATE)
-+#define	zpl_inode_timestamp_truncate(ts, ip)	timestamp_truncate(ts, ip)
-+#elif defined(HAVE_INODE_TIMESPEC64_TIMES)
-+#define	zpl_inode_timestamp_truncate(ts, ip)	\
-+	timespec64_trunc(ts, (ip)->i_sb->s_time_gran)
- #else
--#define	zpl_inode_timespec_trunc(ts, gran)	timespec_trunc(ts, gran)
-+#define	zpl_inode_timestamp_truncate(ts, ip)	\
-+	timespec_trunc(ts, (ip)->i_sb->s_time_gran)
- #endif
- 
- #endif	/* _SYS_ZPL_H */
-diff -Npaur a/META b/META
---- META	2020-02-26 08:50:05.000000000 -0500
-+++ META	2020-02-27 12:40:52.277139075 -0500
-@@ -6,5 +6,5 @@ Release:      1ubuntu5
- Release-Tags:  relext
- License:       CDDL
- Author:        OpenZFS on Linux
--Linux-Maximum: 5.4
-+Linux-Maximum: 5.6
- Linux-Minimum: 2.6.32
-diff -Npaur a/module/spl/spl-kstat.c b/module/spl/spl-kstat.c
---- module/spl/spl-kstat.c	2020-02-26 08:50:05.000000000 -0500
-+++ module/spl/spl-kstat.c	2020-02-27 12:40:52.277139075 -0500
-@@ -507,12 +507,20 @@ proc_kstat_write(struct file *filp, cons
- 	return (len);
- }
- 
--static struct file_operations proc_kstat_operations = {
-+static const kstat_proc_op_t proc_kstat_operations = {
-+#ifdef HAVE_PROC_OPS_STRUCT
-+	.proc_open	= proc_kstat_open,
-+	.proc_write	= proc_kstat_write,
-+	.proc_read	= seq_read,
-+	.proc_lseek	= seq_lseek,
-+	.proc_release	= seq_release,
-+#else
- 	.open		= proc_kstat_open,
- 	.write		= proc_kstat_write,
- 	.read		= seq_read,
- 	.llseek		= seq_lseek,
- 	.release	= seq_release,
-+#endif
- };
- 
- void
-@@ -656,7 +664,7 @@ kstat_detect_collision(kstat_proc_entry_
-  */
- void
- kstat_proc_entry_install(kstat_proc_entry_t *kpep, mode_t mode,
--    const struct file_operations *file_ops, void *data)
-+    const kstat_proc_op_t *proc_ops, void *data)
- {
- 	kstat_module_t *module;
- 	kstat_proc_entry_t *tmp = NULL;
-@@ -690,7 +698,7 @@ kstat_proc_entry_install(kstat_proc_entr
- 
- 	kpep->kpe_owner = module;
- 	kpep->kpe_proc = proc_create_data(kpep->kpe_name, mode,
--	    module->ksm_proc, file_ops, data);
-+	    module->ksm_proc, proc_ops, data);
- 	if (kpep->kpe_proc == NULL) {
- 		list_del_init(&kpep->kpe_list);
- 		if (list_empty(&module->ksm_kstat_list))
-diff -Npaur a/module/spl/spl-proc.c b/module/spl/spl-proc.c
---- module/spl/spl-proc.c	2020-02-26 08:50:05.000000000 -0500
-+++ module/spl/spl-proc.c	2020-02-27 12:40:52.277139075 -0500
-@@ -532,11 +532,18 @@ proc_slab_open(struct inode *inode, stru
- 	return (seq_open(filp, &slab_seq_ops));
- }
- 
--static struct file_operations proc_slab_operations = {
--	.open	   = proc_slab_open,
--	.read	   = seq_read,
--	.llseek	 = seq_lseek,
-+static const kstat_proc_op_t proc_slab_operations = {
-+#ifdef HAVE_PROC_OPS_STRUCT
-+	.proc_open	= proc_slab_open,
-+	.proc_read	= seq_read,
-+	.proc_lseek	= seq_lseek,
-+	.proc_release	= seq_release,
-+#else
-+	.open		= proc_slab_open,
-+	.read		= seq_read,
-+	.llseek		= seq_lseek,
- 	.release	= seq_release,
-+#endif
- };
- 
- static void
-@@ -571,18 +578,32 @@ proc_taskq_open(struct inode *inode, str
- 	return (seq_open(filp, &taskq_seq_ops));
- }
- 
--static struct file_operations proc_taskq_all_operations = {
-+static const kstat_proc_op_t proc_taskq_all_operations = {
-+#ifdef HAVE_PROC_OPS_STRUCT
-+	.proc_open	= proc_taskq_all_open,
-+	.proc_read	= seq_read,
-+	.proc_lseek	= seq_lseek,
-+	.proc_release	= seq_release,
-+#else
- 	.open		= proc_taskq_all_open,
- 	.read		= seq_read,
- 	.llseek		= seq_lseek,
- 	.release	= seq_release,
-+#endif
- };
- 
--static struct file_operations proc_taskq_operations = {
-+static const kstat_proc_op_t proc_taskq_operations = {
-+#ifdef HAVE_PROC_OPS_STRUCT
-+	.proc_open	= proc_taskq_open,
-+	.proc_read	= seq_read,
-+	.proc_lseek	= seq_lseek,
-+	.proc_release	= seq_release,
-+#else
- 	.open		= proc_taskq_open,
- 	.read		= seq_read,
- 	.llseek		= seq_lseek,
- 	.release	= seq_release,
-+#endif
- };
- 
- static struct ctl_table spl_kmem_table[] = {
-diff -Npaur a/module/spl/spl-procfs-list.c b/module/spl/spl-procfs-list.c
---- module/spl/spl-procfs-list.c	2020-02-26 08:50:05.000000000 -0500
-+++ module/spl/spl-procfs-list.c	2020-02-27 12:40:52.277139075 -0500
-@@ -185,13 +185,20 @@ procfs_list_write(struct file *filp, con
- 	return (len);
- }
- 
--static struct file_operations procfs_list_operations = {
--	.owner		= THIS_MODULE,
-+static const kstat_proc_op_t procfs_list_operations = {
-+#ifdef HAVE_PROC_OPS_STRUCT
-+	.proc_open	= procfs_list_open,
-+	.proc_write	= procfs_list_write,
-+	.proc_read	= seq_read,
-+	.proc_lseek	= seq_lseek,
-+	.proc_release	= seq_release_private,
-+#else
- 	.open		= procfs_list_open,
- 	.write		= procfs_list_write,
- 	.read		= seq_read,
- 	.llseek		= seq_lseek,
- 	.release	= seq_release_private,
-+#endif
- };
- 
- /*
-diff -Npaur a/module/zfs/vdev_initialize.c b/module/zfs/vdev_initialize.c
---- module/zfs/vdev_initialize.c	2020-02-26 08:50:05.000000000 -0500
-+++ module/zfs/vdev_initialize.c	2020-02-27 12:40:52.277139075 -0500
-@@ -700,7 +700,7 @@ vdev_initialize_restart(vdev_t *vd)
- 		    vd->vdev_leaf_zap, VDEV_LEAF_ZAP_INITIALIZE_ACTION_TIME,
- 		    sizeof (timestamp), 1, &timestamp);
- 		ASSERT(err == 0 || err == ENOENT);
--		vd->vdev_initialize_action_time = (time_t)timestamp;
-+		vd->vdev_initialize_action_time = timestamp;
- 
- 		if (vd->vdev_initialize_state == VDEV_INITIALIZE_SUSPENDED ||
- 		    vd->vdev_offline) {
-diff -Npaur a/module/zfs/vdev_trim.c b/module/zfs/vdev_trim.c
---- module/zfs/vdev_trim.c	2020-02-26 08:50:05.000000000 -0500
-+++ module/zfs/vdev_trim.c	2020-02-27 12:40:52.277139075 -0500
-@@ -1046,7 +1046,7 @@ vdev_trim_restart(vdev_t *vd)
- 		    vd->vdev_leaf_zap, VDEV_LEAF_ZAP_TRIM_ACTION_TIME,
- 		    sizeof (timestamp), 1, &timestamp);
- 		ASSERT(err == 0 || err == ENOENT);
--		vd->vdev_trim_action_time = (time_t)timestamp;
-+		vd->vdev_trim_action_time = timestamp;
- 
- 		if (vd->vdev_trim_state == VDEV_TRIM_SUSPENDED ||
- 		    vd->vdev_offline) {
-diff -Npaur a/module/zfs/zfs_debug.c b/module/zfs/zfs_debug.c
---- module/zfs/zfs_debug.c	2020-02-26 08:50:05.000000000 -0500
-+++ module/zfs/zfs_debug.c	2020-02-27 12:40:52.277139075 -0500
-@@ -27,7 +27,7 @@
- 
- typedef struct zfs_dbgmsg {
- 	procfs_list_node_t	zdm_node;
--	time_t			zdm_timestamp;
-+	uint64_t		zdm_timestamp;
- 	int			zdm_size;
- 	char			zdm_msg[1]; /* variable length allocation */
- } zfs_dbgmsg_t;
-diff -Npaur a/module/zfs/zfs_vnops.c b/module/zfs/zfs_vnops.c
---- module/zfs/zfs_vnops.c	2020-02-26 08:50:05.000000000 -0500
-+++ module/zfs/zfs_vnops.c	2020-02-27 12:40:52.277139075 -0500
-@@ -3415,8 +3415,8 @@ top:
- 
- 	if (mask & (ATTR_MTIME | ATTR_SIZE)) {
- 		ZFS_TIME_ENCODE(&vap->va_mtime, mtime);
--		ZTOI(zp)->i_mtime = zpl_inode_timespec_trunc(vap->va_mtime,
--		    ZTOI(zp)->i_sb->s_time_gran);
-+		ZTOI(zp)->i_mtime = zpl_inode_timestamp_truncate(
-+		    vap->va_mtime, ZTOI(zp));
- 
- 		SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_MTIME(zfsvfs), NULL,
- 		    mtime, sizeof (mtime));
-@@ -3424,8 +3424,8 @@ top:
- 
- 	if (mask & (ATTR_CTIME | ATTR_SIZE)) {
- 		ZFS_TIME_ENCODE(&vap->va_ctime, ctime);
--		ZTOI(zp)->i_ctime = zpl_inode_timespec_trunc(vap->va_ctime,
--		    ZTOI(zp)->i_sb->s_time_gran);
-+		ZTOI(zp)->i_ctime = zpl_inode_timestamp_truncate(vap->va_ctime,
-+		    ZTOI(zp));
- 		SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_CTIME(zfsvfs), NULL,
- 		    ctime, sizeof (ctime));
- 	}
-diff -Npaur a/module/zfs/zpl_inode.c b/module/zfs/zpl_inode.c
---- module/zfs/zpl_inode.c	2020-02-26 08:50:05.000000000 -0500
-+++ module/zfs/zpl_inode.c	2020-02-27 12:40:52.277139075 -0500
-@@ -390,10 +390,8 @@ zpl_setattr(struct dentry *dentry, struc
- 	vap->va_mtime = ia->ia_mtime;
- 	vap->va_ctime = ia->ia_ctime;
- 
--	if (vap->va_mask & ATTR_ATIME) {
--		ip->i_atime = zpl_inode_timespec_trunc(ia->ia_atime,
--		    ip->i_sb->s_time_gran);
--	}
-+	if (vap->va_mask & ATTR_ATIME)
-+		ip->i_atime = zpl_inode_timestamp_truncate(ia->ia_atime, ip);
- 
- 	cookie = spl_fstrans_mark();
- 	error = -zfs_setattr(ip, vap, 0, cr);
diff --git a/srcpkgs/zfs/template b/srcpkgs/zfs/template
index c434faacf25..96ba5437d0f 100644
--- a/srcpkgs/zfs/template
+++ b/srcpkgs/zfs/template
@@ -1,7 +1,7 @@
 # Template file for 'zfs'
 pkgname=zfs
-version=0.8.3
-revision=2
+version=0.8.4
+revision=1
 build_style=gnu-configure
 configure_args="--with-config=user --with-mounthelperdir=/usr/bin
  --with-udevdir=/usr/lib/udev --with-udevruledir=/usr/lib/udev/rules.d
@@ -14,7 +14,7 @@ maintainer="Toyam Cox <Vaelatern@voidlinux.org>"
 license="CDDL-1.0"
 homepage="https://zfsonlinux.org/"
 distfiles="https://github.com/zfsonlinux/zfs/releases/download/zfs-${version}/zfs-${version}.tar.gz"
-checksum=545a4897ce30c2d2dd9010a0fdb600a0d3d45805e2387093c473efc03aa9d7fd
+checksum=2b988f5777976f09d08083f6bebf6e67219c4c4c183c1f33033fb7e5e5eacafb
 
 replaces="spl<=0.7.13_1" # Because SPL was merged into zfs in 0.8.0
 

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PR PATCH] [Updated] zfs: update to 0.8.4.
  2020-05-12 19:48 [PR PATCH] zfs: update to 0.8.4 ahesford
@ 2020-05-12 20:03 ` ahesford
  2020-05-13 15:25 ` zdykstra
  2020-05-13 16:50 ` [PR PATCH] [Merged]: " Vaelatern
  2 siblings, 0 replies; 4+ messages in thread
From: ahesford @ 2020-05-12 20:03 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 309 bytes --]

There is an updated pull request by ahesford against master on the void-packages repository

https://github.com/ahesford/void-packages zfs
https://github.com/void-linux/void-packages/pull/21888

zfs: update to 0.8.4.


A patch file from https://github.com/void-linux/void-packages/pull/21888.patch is attached

[-- Warning: decoded text below may be mangled, UTF-8 assumed --]
[-- Attachment #2: github-pr-zfs-21888.patch --]
[-- Type: text/x-diff, Size: 20140 bytes --]

From ad74e831ca429664ab7f70daa7c34c87877a246a Mon Sep 17 00:00:00 2001
From: "Andrew J. Hesford" <ajh@sideband.org>
Date: Tue, 12 May 2020 15:48:24 -0400
Subject: [PATCH] zfs: update to 0.8.4.

---
 srcpkgs/zfs/patches/linux56.patch | 531 ------------------------------
 srcpkgs/zfs/template              |   6 +-
 2 files changed, 3 insertions(+), 534 deletions(-)
 delete mode 100644 srcpkgs/zfs/patches/linux56.patch

diff --git a/srcpkgs/zfs/patches/linux56.patch b/srcpkgs/zfs/patches/linux56.patch
deleted file mode 100644
index 8f67ef5ec3d..00000000000
--- a/srcpkgs/zfs/patches/linux56.patch
+++ /dev/null
@@ -1,531 +0,0 @@
-# Patch from https://gist.github.com/satmandu/67cbae9c4d461be0e64428a1707aef1c
-# Upstream issue: https://github.com/openzfs/zfs/pull/9961
-# Early delivery of Linux 5.6 fixes pending official ZoL release
-
-diff -Npaur a/config/kernel-inode-times.m4 b/config/kernel-inode-times.m4
---- config/kernel-inode-times.m4	2020-01-22 16:49:01.000000000 -0500
-+++ config/kernel-inode-times.m4	2020-02-27 12:40:52.273139053 -0500
-@@ -1,8 +1,22 @@
--dnl #
--dnl # 4.18 API change
--dnl # i_atime, i_mtime, and i_ctime changed from timespec to timespec64.
--dnl #
- AC_DEFUN([ZFS_AC_KERNEL_SRC_INODE_TIMES], [
-+
-+	dnl #
-+	dnl # 5.6 API change
-+	dnl # timespec64_trunc() replaced by timestamp_truncate() interface.
-+	dnl #
-+	ZFS_LINUX_TEST_SRC([timestamp_truncate], [
-+		#include <linux/fs.h>
-+	],[
-+		struct timespec64 ts;
-+		struct inode ip;
-+
-+		ts = timestamp_truncate(ts, &ip);
-+	])
-+
-+	dnl #
-+	dnl # 4.18 API change
-+	dnl # i_atime, i_mtime, and i_ctime changed from timespec to timespec64.
-+	dnl #
- 	ZFS_LINUX_TEST_SRC([inode_times], [
- 		#include <linux/fs.h>
- 	],[
-@@ -15,6 +29,15 @@ AC_DEFUN([ZFS_AC_KERNEL_SRC_INODE_TIMES]
- ])
- 
- AC_DEFUN([ZFS_AC_KERNEL_INODE_TIMES], [
-+	AC_MSG_CHECKING([whether timestamp_truncate() exists])
-+	ZFS_LINUX_TEST_RESULT([timestamp_truncate], [
-+		AC_MSG_RESULT(yes)
-+		AC_DEFINE(HAVE_INODE_TIMESTAMP_TRUNCATE, 1,
-+		    [timestamp_truncate() exists])
-+	],[
-+		AC_MSG_RESULT(no)
-+	])
-+
- 	AC_MSG_CHECKING([whether inode->i_*time's are timespec64])
- 	ZFS_LINUX_TEST_RESULT([inode_times], [
- 		AC_MSG_RESULT(no)
-diff -Npaur a/config/kernel-ktime_get_coarse_real_ts64.m4 b/config/kernel-ktime_get_coarse_real_ts64.m4
---- config/kernel-ktime_get_coarse_real_ts64.m4	2020-01-22 16:49:01.000000000 -0500
-+++ config/kernel-ktime_get_coarse_real_ts64.m4	1969-12-31 19:00:00.000000000 -0500
-@@ -1,23 +0,0 @@
--dnl #
--dnl # 4.18: ktime_get_coarse_real_ts64() added.  Use it in place of
--dnl # current_kernel_time64().
--dnl #
--AC_DEFUN([ZFS_AC_KERNEL_SRC_KTIME_GET_COARSE_REAL_TS64], [
--	ZFS_LINUX_TEST_SRC([ktime_get_coarse_real_ts64], [
--		#include <linux/mm.h>
--	], [
--		struct timespec64 ts;
--		ktime_get_coarse_real_ts64(&ts);
--	])
--])
--
--AC_DEFUN([ZFS_AC_KERNEL_KTIME_GET_COARSE_REAL_TS64], [
--	AC_MSG_CHECKING([whether ktime_get_coarse_real_ts64() exists])
--	ZFS_LINUX_TEST_RESULT([ktime_get_coarse_real_ts64], [
--		AC_MSG_RESULT(yes)
--		AC_DEFINE(HAVE_KTIME_GET_COARSE_REAL_TS64, 1,
--		    [ktime_get_coarse_real_ts64() exists])
--	], [
--		AC_MSG_RESULT(no)
--	])
--])
-diff -Npaur a/config/kernel-ktime.m4 b/config/kernel-ktime.m4
---- config/kernel-ktime.m4	1969-12-31 19:00:00.000000000 -0500
-+++ config/kernel-ktime.m4	2020-02-27 12:40:52.273139053 -0500
-@@ -0,0 +1,55 @@
-+dnl #
-+dnl # 4.18: ktime_get_coarse_real_ts64() replaces current_kernel_time64().
-+dnl #
-+AC_DEFUN([ZFS_AC_KERNEL_SRC_KTIME_GET_COARSE_REAL_TS64], [
-+	ZFS_LINUX_TEST_SRC([ktime_get_coarse_real_ts64], [
-+		#include <linux/mm.h>
-+	], [
-+		struct timespec64 ts;
-+		ktime_get_coarse_real_ts64(&ts);
-+	])
-+])
-+
-+AC_DEFUN([ZFS_AC_KERNEL_KTIME_GET_COARSE_REAL_TS64], [
-+	AC_MSG_CHECKING([whether ktime_get_coarse_real_ts64() exists])
-+	ZFS_LINUX_TEST_RESULT([ktime_get_coarse_real_ts64], [
-+		AC_MSG_RESULT(yes)
-+		AC_DEFINE(HAVE_KTIME_GET_COARSE_REAL_TS64, 1,
-+		    [ktime_get_coarse_real_ts64() exists])
-+	], [
-+		AC_MSG_RESULT(no)
-+	])
-+])
-+
-+dnl #
-+dnl # 4.18: ktime_get_raw_ts64() replaces getrawmonotonic64().
-+dnl #
-+AC_DEFUN([ZFS_AC_KERNEL_SRC_KTIME_GET_RAW_TS64], [
-+	ZFS_LINUX_TEST_SRC([ktime_get_raw_ts64], [
-+		#include <linux/mm.h>
-+	], [
-+		struct timespec64 ts;
-+		ktime_get_raw_ts64(&ts);
-+	])
-+])
-+
-+AC_DEFUN([ZFS_AC_KERNEL_KTIME_GET_RAW_TS64], [
-+	AC_MSG_CHECKING([whether ktime_get_raw_ts64() exists])
-+	ZFS_LINUX_TEST_RESULT([ktime_get_raw_ts64], [
-+		AC_MSG_RESULT(yes)
-+		AC_DEFINE(HAVE_KTIME_GET_RAW_TS64, 1,
-+		    [ktime_get_raw_ts64() exists])
-+	], [
-+		AC_MSG_RESULT(no)
-+	])
-+])
-+
-+AC_DEFUN([ZFS_AC_KERNEL_SRC_KTIME], [
-+	ZFS_AC_KERNEL_SRC_KTIME_GET_COARSE_REAL_TS64
-+	ZFS_AC_KERNEL_SRC_KTIME_GET_RAW_TS64
-+])
-+
-+AC_DEFUN([ZFS_AC_KERNEL_KTIME], [
-+	ZFS_AC_KERNEL_KTIME_GET_COARSE_REAL_TS64
-+	ZFS_AC_KERNEL_KTIME_GET_RAW_TS64
-+])
-diff -Npaur a/config/kernel.m4 b/config/kernel.m4
---- config/kernel.m4	2020-01-22 16:49:04.000000000 -0500
-+++ config/kernel.m4	2020-02-27 12:42:32.805701403 -0500
-@@ -54,6 +54,7 @@ AC_DEFUN([ZFS_AC_KERNEL_TEST_SRC], [
- 	ZFS_AC_KERNEL_SRC_CURRENT_BIO_TAIL
- 	ZFS_AC_KERNEL_SRC_SUPER_USER_NS
- 	ZFS_AC_KERNEL_SRC_SUBMIT_BIO
-+	ZFS_AC_KERNEL_SRC_PROC_OPERATIONS
- 	ZFS_AC_KERNEL_SRC_BLOCK_DEVICE_OPERATIONS
- 	ZFS_AC_KERNEL_SRC_BLKDEV_GET_BY_PATH
- 	ZFS_AC_KERNEL_SRC_BLKDEV_REREAD_PART
-@@ -136,7 +137,7 @@ AC_DEFUN([ZFS_AC_KERNEL_TEST_SRC], [
- 	ZFS_AC_KERNEL_SRC_CURRENT_TIME
- 	ZFS_AC_KERNEL_SRC_USERNS_CAPABILITIES
- 	ZFS_AC_KERNEL_SRC_IN_COMPAT_SYSCALL
--	ZFS_AC_KERNEL_SRC_KTIME_GET_COARSE_REAL_TS64
-+	ZFS_AC_KERNEL_SRC_KTIME
- 	ZFS_AC_KERNEL_SRC_TOTALRAM_PAGES_FUNC
- 	ZFS_AC_KERNEL_SRC_TOTALHIGH_PAGES
- 	ZFS_AC_KERNEL_SRC_KSTRTOUL
-@@ -169,6 +170,7 @@ AC_DEFUN([ZFS_AC_KERNEL_TEST_RESULT], [
- 	ZFS_AC_KERNEL_TIMER_SETUP
- 	ZFS_AC_KERNEL_CURRENT_BIO_TAIL
- 	ZFS_AC_KERNEL_SUPER_USER_NS
-+	ZFS_AC_KERNEL_PROC_OPERATIONS
- 	ZFS_AC_KERNEL_SUBMIT_BIO
- 	ZFS_AC_KERNEL_BLOCK_DEVICE_OPERATIONS
- 	ZFS_AC_KERNEL_BLKDEV_GET_BY_PATH
-@@ -252,7 +254,7 @@ AC_DEFUN([ZFS_AC_KERNEL_TEST_RESULT], [
- 	ZFS_AC_KERNEL_CURRENT_TIME
- 	ZFS_AC_KERNEL_USERNS_CAPABILITIES
- 	ZFS_AC_KERNEL_IN_COMPAT_SYSCALL
--	ZFS_AC_KERNEL_KTIME_GET_COARSE_REAL_TS64
-+	ZFS_AC_KERNEL_KTIME
- 	ZFS_AC_KERNEL_TOTALRAM_PAGES_FUNC
- 	ZFS_AC_KERNEL_TOTALHIGH_PAGES
- 	ZFS_AC_KERNEL_KSTRTOUL
-diff -Npaur a/config/kernel-proc-operations.m4 b/config/kernel-proc-operations.m4
---- config/kernel-proc-operations.m4	1969-12-31 19:00:00.000000000 -0500
-+++ config/kernel-proc-operations.m4	2020-02-27 12:40:52.273139053 -0500
-@@ -0,0 +1,41 @@
-+dnl #
-+dnl # 5.6 API Change
-+dnl # The proc_ops structure was introduced to replace the use of
-+dnl # of the file_operations structure when registering proc handlers.
-+dnl #
-+AC_DEFUN([ZFS_AC_KERNEL_SRC_PROC_OPERATIONS], [
-+	ZFS_LINUX_TEST_SRC([proc_ops_struct], [
-+		#include <linux/proc_fs.h>
-+
-+		int test_open(struct inode *ip, struct file *fp) { return 0; }
-+		ssize_t test_read(struct file *fp, char __user *ptr,
-+		    size_t size, loff_t *offp) { return 0; }
-+		ssize_t test_write(struct file *fp, const char __user *ptr,
-+		    size_t size, loff_t *offp) { return 0; }
-+		loff_t test_lseek(struct file *fp, loff_t off, int flag)
-+		    { return 0; }
-+		int test_release(struct inode *ip, struct file *fp)
-+		    { return 0; }
-+
-+		const struct proc_ops test_ops __attribute__ ((unused)) = {
-+			.proc_open      = test_open,
-+			.proc_read      = test_read,
-+			.proc_write	= test_write,
-+			.proc_lseek     = test_lseek,
-+			.proc_release   = test_release,
-+		};
-+	], [
-+		struct proc_dir_entry *entry __attribute__ ((unused)) =
-+		    proc_create_data("test", 0444, NULL, &test_ops, NULL);
-+	])
-+])
-+
-+AC_DEFUN([ZFS_AC_KERNEL_PROC_OPERATIONS], [
-+	AC_MSG_CHECKING([whether proc_ops structure exists])
-+	ZFS_LINUX_TEST_RESULT([proc_ops_struct], [
-+		AC_MSG_RESULT(yes)
-+		AC_DEFINE(HAVE_PROC_OPS_STRUCT, 1, [proc_ops structure exists])
-+	], [
-+		AC_MSG_RESULT(no)
-+	])
-+])
-diff -Npaur a/include/spl/sys/kstat.h b/include/spl/sys/kstat.h
---- include/spl/sys/kstat.h	2020-01-13 17:17:11.000000000 -0500
-+++ include/spl/sys/kstat.h	2020-02-27 12:40:52.273139053 -0500
-@@ -152,6 +152,12 @@ typedef struct kstat_named_s {
- #define	KSTAT_NAMED_STR_PTR(knptr) ((knptr)->value.string.addr.ptr)
- #define	KSTAT_NAMED_STR_BUFLEN(knptr) ((knptr)->value.string.len)
- 
-+#ifdef HAVE_PROC_OPS_STRUCT
-+typedef struct proc_ops kstat_proc_op_t;
-+#else
-+typedef struct file_operations kstat_proc_op_t;
-+#endif
-+
- typedef struct kstat_intr {
- 	uint_t intrs[KSTAT_NUM_INTRS];
- } kstat_intr_t;
-@@ -197,7 +203,7 @@ extern void kstat_proc_entry_init(kstat_
-     const char *module, const char *name);
- extern void kstat_proc_entry_delete(kstat_proc_entry_t *kpep);
- extern void kstat_proc_entry_install(kstat_proc_entry_t *kpep, mode_t mode,
--    const struct file_operations *file_ops, void *data);
-+    const kstat_proc_op_t *file_ops, void *data);
- 
- extern void __kstat_install(kstat_t *ksp);
- extern void __kstat_delete(kstat_t *ksp);
-diff -Npaur a/include/spl/sys/time.h b/include/spl/sys/time.h
---- include/spl/sys/time.h	2020-01-13 17:17:11.000000000 -0500
-+++ include/spl/sys/time.h	2020-02-27 12:40:52.277139075 -0500
-@@ -85,7 +85,7 @@ gethrestime(inode_timespec_t *ts)
- #endif
- }
- 
--static inline time_t
-+static inline uint64_t
- gethrestime_sec(void)
- {
- #if defined(HAVE_INODE_TIMESPEC64_TIMES)
-@@ -105,8 +105,13 @@ gethrestime_sec(void)
- static inline hrtime_t
- gethrtime(void)
- {
-+#if defined(HAVE_KTIME_GET_RAW_TS64)
-+	struct timespec64 ts;
-+	ktime_get_raw_ts64(&ts);
-+#else
- 	struct timespec ts;
- 	getrawmonotonic(&ts);
-+#endif
- 	return (((hrtime_t)ts.tv_sec * NSEC_PER_SEC) + ts.tv_nsec);
- }
- 
-diff -Npaur a/include/sys/vdev_impl.h b/include/sys/vdev_impl.h
---- include/sys/vdev_impl.h	2020-01-13 17:17:11.000000000 -0500
-+++ include/sys/vdev_impl.h	2020-02-27 12:40:52.277139075 -0500
-@@ -274,7 +274,7 @@ struct vdev {
- 	range_tree_t	*vdev_initialize_tree;	/* valid while initializing */
- 	uint64_t	vdev_initialize_bytes_est;
- 	uint64_t	vdev_initialize_bytes_done;
--	time_t		vdev_initialize_action_time;	/* start and end time */
-+	uint64_t	vdev_initialize_action_time;	/* start and end time */
- 
- 	/* TRIM related */
- 	boolean_t	vdev_trim_exit_wanted;
-@@ -295,7 +295,7 @@ struct vdev {
- 	uint64_t	vdev_trim_rate;		/* requested rate (bytes/sec) */
- 	uint64_t	vdev_trim_partial;	/* requested partial TRIM */
- 	uint64_t	vdev_trim_secure;	/* requested secure TRIM */
--	time_t		vdev_trim_action_time;	/* start and end time */
-+	uint64_t	vdev_trim_action_time;	/* start and end time */
- 
- 	/* for limiting outstanding I/Os (initialize and TRIM) */
- 	kmutex_t	vdev_initialize_io_lock;
-diff -Npaur a/include/sys/zpl.h b/include/sys/zpl.h
---- include/sys/zpl.h	2020-01-13 17:17:11.000000000 -0500
-+++ include/sys/zpl.h	2020-02-27 12:40:52.277139075 -0500
-@@ -188,13 +188,14 @@ zpl_dir_emit_dots(struct file *file, zpl
- }
- #endif /* HAVE_VFS_ITERATE */
- 
--/*
-- * Linux 4.18, inode times converted from timespec to timespec64.
-- */
--#if defined(HAVE_INODE_TIMESPEC64_TIMES)
--#define	zpl_inode_timespec_trunc(ts, gran)	timespec64_trunc(ts, gran)
-+#if defined(HAVE_INODE_TIMESTAMP_TRUNCATE)
-+#define	zpl_inode_timestamp_truncate(ts, ip)	timestamp_truncate(ts, ip)
-+#elif defined(HAVE_INODE_TIMESPEC64_TIMES)
-+#define	zpl_inode_timestamp_truncate(ts, ip)	\
-+	timespec64_trunc(ts, (ip)->i_sb->s_time_gran)
- #else
--#define	zpl_inode_timespec_trunc(ts, gran)	timespec_trunc(ts, gran)
-+#define	zpl_inode_timestamp_truncate(ts, ip)	\
-+	timespec_trunc(ts, (ip)->i_sb->s_time_gran)
- #endif
- 
- #endif	/* _SYS_ZPL_H */
-diff -Npaur a/META b/META
---- META	2020-02-26 08:50:05.000000000 -0500
-+++ META	2020-02-27 12:40:52.277139075 -0500
-@@ -6,5 +6,5 @@ Release:      1ubuntu5
- Release-Tags:  relext
- License:       CDDL
- Author:        OpenZFS on Linux
--Linux-Maximum: 5.4
-+Linux-Maximum: 5.6
- Linux-Minimum: 2.6.32
-diff -Npaur a/module/spl/spl-kstat.c b/module/spl/spl-kstat.c
---- module/spl/spl-kstat.c	2020-02-26 08:50:05.000000000 -0500
-+++ module/spl/spl-kstat.c	2020-02-27 12:40:52.277139075 -0500
-@@ -507,12 +507,20 @@ proc_kstat_write(struct file *filp, cons
- 	return (len);
- }
- 
--static struct file_operations proc_kstat_operations = {
-+static const kstat_proc_op_t proc_kstat_operations = {
-+#ifdef HAVE_PROC_OPS_STRUCT
-+	.proc_open	= proc_kstat_open,
-+	.proc_write	= proc_kstat_write,
-+	.proc_read	= seq_read,
-+	.proc_lseek	= seq_lseek,
-+	.proc_release	= seq_release,
-+#else
- 	.open		= proc_kstat_open,
- 	.write		= proc_kstat_write,
- 	.read		= seq_read,
- 	.llseek		= seq_lseek,
- 	.release	= seq_release,
-+#endif
- };
- 
- void
-@@ -656,7 +664,7 @@ kstat_detect_collision(kstat_proc_entry_
-  */
- void
- kstat_proc_entry_install(kstat_proc_entry_t *kpep, mode_t mode,
--    const struct file_operations *file_ops, void *data)
-+    const kstat_proc_op_t *proc_ops, void *data)
- {
- 	kstat_module_t *module;
- 	kstat_proc_entry_t *tmp = NULL;
-@@ -690,7 +698,7 @@ kstat_proc_entry_install(kstat_proc_entr
- 
- 	kpep->kpe_owner = module;
- 	kpep->kpe_proc = proc_create_data(kpep->kpe_name, mode,
--	    module->ksm_proc, file_ops, data);
-+	    module->ksm_proc, proc_ops, data);
- 	if (kpep->kpe_proc == NULL) {
- 		list_del_init(&kpep->kpe_list);
- 		if (list_empty(&module->ksm_kstat_list))
-diff -Npaur a/module/spl/spl-proc.c b/module/spl/spl-proc.c
---- module/spl/spl-proc.c	2020-02-26 08:50:05.000000000 -0500
-+++ module/spl/spl-proc.c	2020-02-27 12:40:52.277139075 -0500
-@@ -532,11 +532,18 @@ proc_slab_open(struct inode *inode, stru
- 	return (seq_open(filp, &slab_seq_ops));
- }
- 
--static struct file_operations proc_slab_operations = {
--	.open	   = proc_slab_open,
--	.read	   = seq_read,
--	.llseek	 = seq_lseek,
-+static const kstat_proc_op_t proc_slab_operations = {
-+#ifdef HAVE_PROC_OPS_STRUCT
-+	.proc_open	= proc_slab_open,
-+	.proc_read	= seq_read,
-+	.proc_lseek	= seq_lseek,
-+	.proc_release	= seq_release,
-+#else
-+	.open		= proc_slab_open,
-+	.read		= seq_read,
-+	.llseek		= seq_lseek,
- 	.release	= seq_release,
-+#endif
- };
- 
- static void
-@@ -571,18 +578,32 @@ proc_taskq_open(struct inode *inode, str
- 	return (seq_open(filp, &taskq_seq_ops));
- }
- 
--static struct file_operations proc_taskq_all_operations = {
-+static const kstat_proc_op_t proc_taskq_all_operations = {
-+#ifdef HAVE_PROC_OPS_STRUCT
-+	.proc_open	= proc_taskq_all_open,
-+	.proc_read	= seq_read,
-+	.proc_lseek	= seq_lseek,
-+	.proc_release	= seq_release,
-+#else
- 	.open		= proc_taskq_all_open,
- 	.read		= seq_read,
- 	.llseek		= seq_lseek,
- 	.release	= seq_release,
-+#endif
- };
- 
--static struct file_operations proc_taskq_operations = {
-+static const kstat_proc_op_t proc_taskq_operations = {
-+#ifdef HAVE_PROC_OPS_STRUCT
-+	.proc_open	= proc_taskq_open,
-+	.proc_read	= seq_read,
-+	.proc_lseek	= seq_lseek,
-+	.proc_release	= seq_release,
-+#else
- 	.open		= proc_taskq_open,
- 	.read		= seq_read,
- 	.llseek		= seq_lseek,
- 	.release	= seq_release,
-+#endif
- };
- 
- static struct ctl_table spl_kmem_table[] = {
-diff -Npaur a/module/spl/spl-procfs-list.c b/module/spl/spl-procfs-list.c
---- module/spl/spl-procfs-list.c	2020-02-26 08:50:05.000000000 -0500
-+++ module/spl/spl-procfs-list.c	2020-02-27 12:40:52.277139075 -0500
-@@ -185,13 +185,20 @@ procfs_list_write(struct file *filp, con
- 	return (len);
- }
- 
--static struct file_operations procfs_list_operations = {
--	.owner		= THIS_MODULE,
-+static const kstat_proc_op_t procfs_list_operations = {
-+#ifdef HAVE_PROC_OPS_STRUCT
-+	.proc_open	= procfs_list_open,
-+	.proc_write	= procfs_list_write,
-+	.proc_read	= seq_read,
-+	.proc_lseek	= seq_lseek,
-+	.proc_release	= seq_release_private,
-+#else
- 	.open		= procfs_list_open,
- 	.write		= procfs_list_write,
- 	.read		= seq_read,
- 	.llseek		= seq_lseek,
- 	.release	= seq_release_private,
-+#endif
- };
- 
- /*
-diff -Npaur a/module/zfs/vdev_initialize.c b/module/zfs/vdev_initialize.c
---- module/zfs/vdev_initialize.c	2020-02-26 08:50:05.000000000 -0500
-+++ module/zfs/vdev_initialize.c	2020-02-27 12:40:52.277139075 -0500
-@@ -700,7 +700,7 @@ vdev_initialize_restart(vdev_t *vd)
- 		    vd->vdev_leaf_zap, VDEV_LEAF_ZAP_INITIALIZE_ACTION_TIME,
- 		    sizeof (timestamp), 1, &timestamp);
- 		ASSERT(err == 0 || err == ENOENT);
--		vd->vdev_initialize_action_time = (time_t)timestamp;
-+		vd->vdev_initialize_action_time = timestamp;
- 
- 		if (vd->vdev_initialize_state == VDEV_INITIALIZE_SUSPENDED ||
- 		    vd->vdev_offline) {
-diff -Npaur a/module/zfs/vdev_trim.c b/module/zfs/vdev_trim.c
---- module/zfs/vdev_trim.c	2020-02-26 08:50:05.000000000 -0500
-+++ module/zfs/vdev_trim.c	2020-02-27 12:40:52.277139075 -0500
-@@ -1046,7 +1046,7 @@ vdev_trim_restart(vdev_t *vd)
- 		    vd->vdev_leaf_zap, VDEV_LEAF_ZAP_TRIM_ACTION_TIME,
- 		    sizeof (timestamp), 1, &timestamp);
- 		ASSERT(err == 0 || err == ENOENT);
--		vd->vdev_trim_action_time = (time_t)timestamp;
-+		vd->vdev_trim_action_time = timestamp;
- 
- 		if (vd->vdev_trim_state == VDEV_TRIM_SUSPENDED ||
- 		    vd->vdev_offline) {
-diff -Npaur a/module/zfs/zfs_debug.c b/module/zfs/zfs_debug.c
---- module/zfs/zfs_debug.c	2020-02-26 08:50:05.000000000 -0500
-+++ module/zfs/zfs_debug.c	2020-02-27 12:40:52.277139075 -0500
-@@ -27,7 +27,7 @@
- 
- typedef struct zfs_dbgmsg {
- 	procfs_list_node_t	zdm_node;
--	time_t			zdm_timestamp;
-+	uint64_t		zdm_timestamp;
- 	int			zdm_size;
- 	char			zdm_msg[1]; /* variable length allocation */
- } zfs_dbgmsg_t;
-diff -Npaur a/module/zfs/zfs_vnops.c b/module/zfs/zfs_vnops.c
---- module/zfs/zfs_vnops.c	2020-02-26 08:50:05.000000000 -0500
-+++ module/zfs/zfs_vnops.c	2020-02-27 12:40:52.277139075 -0500
-@@ -3415,8 +3415,8 @@ top:
- 
- 	if (mask & (ATTR_MTIME | ATTR_SIZE)) {
- 		ZFS_TIME_ENCODE(&vap->va_mtime, mtime);
--		ZTOI(zp)->i_mtime = zpl_inode_timespec_trunc(vap->va_mtime,
--		    ZTOI(zp)->i_sb->s_time_gran);
-+		ZTOI(zp)->i_mtime = zpl_inode_timestamp_truncate(
-+		    vap->va_mtime, ZTOI(zp));
- 
- 		SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_MTIME(zfsvfs), NULL,
- 		    mtime, sizeof (mtime));
-@@ -3424,8 +3424,8 @@ top:
- 
- 	if (mask & (ATTR_CTIME | ATTR_SIZE)) {
- 		ZFS_TIME_ENCODE(&vap->va_ctime, ctime);
--		ZTOI(zp)->i_ctime = zpl_inode_timespec_trunc(vap->va_ctime,
--		    ZTOI(zp)->i_sb->s_time_gran);
-+		ZTOI(zp)->i_ctime = zpl_inode_timestamp_truncate(vap->va_ctime,
-+		    ZTOI(zp));
- 		SA_ADD_BULK_ATTR(bulk, count, SA_ZPL_CTIME(zfsvfs), NULL,
- 		    ctime, sizeof (ctime));
- 	}
-diff -Npaur a/module/zfs/zpl_inode.c b/module/zfs/zpl_inode.c
---- module/zfs/zpl_inode.c	2020-02-26 08:50:05.000000000 -0500
-+++ module/zfs/zpl_inode.c	2020-02-27 12:40:52.277139075 -0500
-@@ -390,10 +390,8 @@ zpl_setattr(struct dentry *dentry, struc
- 	vap->va_mtime = ia->ia_mtime;
- 	vap->va_ctime = ia->ia_ctime;
- 
--	if (vap->va_mask & ATTR_ATIME) {
--		ip->i_atime = zpl_inode_timespec_trunc(ia->ia_atime,
--		    ip->i_sb->s_time_gran);
--	}
-+	if (vap->va_mask & ATTR_ATIME)
-+		ip->i_atime = zpl_inode_timestamp_truncate(ia->ia_atime, ip);
- 
- 	cookie = spl_fstrans_mark();
- 	error = -zfs_setattr(ip, vap, 0, cr);
diff --git a/srcpkgs/zfs/template b/srcpkgs/zfs/template
index c434faacf25..96ba5437d0f 100644
--- a/srcpkgs/zfs/template
+++ b/srcpkgs/zfs/template
@@ -1,7 +1,7 @@
 # Template file for 'zfs'
 pkgname=zfs
-version=0.8.3
-revision=2
+version=0.8.4
+revision=1
 build_style=gnu-configure
 configure_args="--with-config=user --with-mounthelperdir=/usr/bin
  --with-udevdir=/usr/lib/udev --with-udevruledir=/usr/lib/udev/rules.d
@@ -14,7 +14,7 @@ maintainer="Toyam Cox <Vaelatern@voidlinux.org>"
 license="CDDL-1.0"
 homepage="https://zfsonlinux.org/"
 distfiles="https://github.com/zfsonlinux/zfs/releases/download/zfs-${version}/zfs-${version}.tar.gz"
-checksum=545a4897ce30c2d2dd9010a0fdb600a0d3d45805e2387093c473efc03aa9d7fd
+checksum=2b988f5777976f09d08083f6bebf6e67219c4c4c183c1f33033fb7e5e5eacafb
 
 replaces="spl<=0.7.13_1" # Because SPL was merged into zfs in 0.8.0
 

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: zfs: update to 0.8.4.
  2020-05-12 19:48 [PR PATCH] zfs: update to 0.8.4 ahesford
  2020-05-12 20:03 ` [PR PATCH] [Updated] " ahesford
@ 2020-05-13 15:25 ` zdykstra
  2020-05-13 16:50 ` [PR PATCH] [Merged]: " Vaelatern
  2 siblings, 0 replies; 4+ messages in thread
From: zdykstra @ 2020-05-13 15:25 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 215 bytes --]

New comment by zdykstra on void-packages repository

https://github.com/void-linux/void-packages/pull/21888#issuecomment-628065458

Comment:
I've tested this locally - works as a root filesystem without any issues.

^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [PR PATCH] [Merged]: zfs: update to 0.8.4.
  2020-05-12 19:48 [PR PATCH] zfs: update to 0.8.4 ahesford
  2020-05-12 20:03 ` [PR PATCH] [Updated] " ahesford
  2020-05-13 15:25 ` zdykstra
@ 2020-05-13 16:50 ` Vaelatern
  2 siblings, 0 replies; 4+ messages in thread
From: Vaelatern @ 2020-05-13 16:50 UTC (permalink / raw)
  To: ml

[-- Attachment #1: Type: text/plain, Size: 155 bytes --]

There's a merged pull request on the void-packages repository

zfs: update to 0.8.4.
https://github.com/void-linux/void-packages/pull/21888

Description:


^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2020-05-13 16:50 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2020-05-12 19:48 [PR PATCH] zfs: update to 0.8.4 ahesford
2020-05-12 20:03 ` [PR PATCH] [Updated] " ahesford
2020-05-13 15:25 ` zdykstra
2020-05-13 16:50 ` [PR PATCH] [Merged]: " Vaelatern

This is a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).