* [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, ×tamp);
- 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, ×tamp);
- 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, ×tamp);
- 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, ×tamp);
- 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).