summaryrefslogtreecommitdiff
path: root/sys-kernel/zfs-dkms/files
diff options
context:
space:
mode:
authorV3n3RiX <venerix@redcorelinux.org>2021-09-18 10:02:59 +0100
committerV3n3RiX <venerix@redcorelinux.org>2021-09-18 10:02:59 +0100
commit044794857faaa637f5a378359b6adc1bbb6e978b (patch)
tree13705cc908a424a62fc956d9e3c38c8f765d1c3f /sys-kernel/zfs-dkms/files
parent2732acbf46bf319f5f1cbc44d9b663833060e6b8 (diff)
sys-fs/zfs : version bump
Diffstat (limited to 'sys-kernel/zfs-dkms/files')
-rw-r--r--sys-kernel/zfs-dkms/files/1c24bf966c373009f2be77438e8696aabf50a7e7.diff84
-rw-r--r--sys-kernel/zfs-dkms/files/dkms.conf2
-rw-r--r--sys-kernel/zfs-dkms/files/eb17f92e1edabcde442e5fbdff4525054be8595.diff133
3 files changed, 1 insertions, 218 deletions
diff --git a/sys-kernel/zfs-dkms/files/1c24bf966c373009f2be77438e8696aabf50a7e7.diff b/sys-kernel/zfs-dkms/files/1c24bf966c373009f2be77438e8696aabf50a7e7.diff
deleted file mode 100644
index e53bfb1c..00000000
--- a/sys-kernel/zfs-dkms/files/1c24bf966c373009f2be77438e8696aabf50a7e7.diff
+++ /dev/null
@@ -1,84 +0,0 @@
-diff --git a/config/kernel-vfs-set_page_dirty.m4 b/config/kernel-vfs-set_page_dirty.m4
-new file mode 100644
-index 00000000000..a9d252e4e01
---- /dev/null
-+++ b/config/kernel-vfs-set_page_dirty.m4
-@@ -0,0 +1,34 @@
-+dnl #
-+dnl # Linux 5.14 adds a change to require set_page_dirty to be manually
-+dnl # wired up in struct address_space_operations. Determine if this needs
-+dnl # to be done. This patch set also introduced __set_page_dirty_nobuffers
-+dnl # declaration in linux/pagemap.h, so these tests look for the presence
-+dnl # of that function to tell the compiler to assign set_page_dirty in
-+dnl # module/os/linux/zfs/zpl_file.c
-+dnl #
-+AC_DEFUN([ZFS_AC_KERNEL_SRC_VFS_SET_PAGE_DIRTY_NOBUFFERS], [
-+ ZFS_LINUX_TEST_SRC([vfs_has_set_page_dirty_nobuffers], [
-+ #include <linux/pagemap.h>
-+ #include <linux/fs.h>
-+
-+ static const struct address_space_operations
-+ aops __attribute__ ((unused)) = {
-+ .set_page_dirty = __set_page_dirty_nobuffers,
-+ };
-+ ],[])
-+])
-+
-+AC_DEFUN([ZFS_AC_KERNEL_VFS_SET_PAGE_DIRTY_NOBUFFERS], [
-+ dnl #
-+ dnl # Linux 5.14 change requires set_page_dirty() to be assigned
-+ dnl # in address_space_operations()
-+ dnl #
-+ AC_MSG_CHECKING([__set_page_dirty_nobuffers exists])
-+ ZFS_LINUX_TEST_RESULT([vfs_has_set_page_dirty_nobuffers], [
-+ AC_MSG_RESULT([yes])
-+ AC_DEFINE(HAVE_VFS_SET_PAGE_DIRTY_NOBUFFERS, 1,
-+ [__set_page_dirty_nobuffers exists])
-+ ],[
-+ AC_MSG_RESULT([no])
-+ ])
-+])
-diff --git a/config/kernel.m4 b/config/kernel.m4
-index 7196e66ca28..5ea2286dbcc 100644
---- a/config/kernel.m4
-+++ b/config/kernel.m4
-@@ -132,6 +132,7 @@ AC_DEFUN([ZFS_AC_KERNEL_TEST_SRC], [
- ZFS_AC_KERNEL_SRC_SIGNAL_STOP
- ZFS_AC_KERNEL_SRC_SIGINFO
- ZFS_AC_KERNEL_SRC_SET_SPECIAL_STATE
-+ ZFS_AC_KERNEL_SRC_VFS_SET_PAGE_DIRTY_NOBUFFERS
-
- AC_MSG_CHECKING([for available kernel interfaces])
- ZFS_LINUX_TEST_COMPILE_ALL([kabi])
-@@ -237,6 +238,7 @@ AC_DEFUN([ZFS_AC_KERNEL_TEST_RESULT], [
- ZFS_AC_KERNEL_SIGNAL_STOP
- ZFS_AC_KERNEL_SIGINFO
- ZFS_AC_KERNEL_SET_SPECIAL_STATE
-+ ZFS_AC_KERNEL_VFS_SET_PAGE_DIRTY_NOBUFFERS
- ])
-
- dnl #
-diff --git a/module/os/linux/zfs/zpl_file.c b/module/os/linux/zfs/zpl_file.c
-index 0319148b983..63002fe3b93 100644
---- a/module/os/linux/zfs/zpl_file.c
-+++ b/module/os/linux/zfs/zpl_file.c
-@@ -33,6 +33,9 @@
- #include <sys/zfs_vfsops.h>
- #include <sys/zfs_vnops.h>
- #include <sys/zfs_project.h>
-+#ifdef HAVE_VFS_SET_PAGE_DIRTY_NOBUFFERS
-+#include <linux/pagemap.h>
-+#endif
-
- /*
- * When using fallocate(2) to preallocate space, inflate the requested
-@@ -1018,6 +1021,9 @@ const struct address_space_operations zpl_address_space_operations = {
- .writepage = zpl_writepage,
- .writepages = zpl_writepages,
- .direct_IO = zpl_direct_IO,
-+#ifdef HAVE_VFS_SET_PAGE_DIRTY_NOBUFFERS
-+ .set_page_dirty = __set_page_dirty_nobuffers,
-+#endif
- };
-
- const struct file_operations zpl_file_operations = {
diff --git a/sys-kernel/zfs-dkms/files/dkms.conf b/sys-kernel/zfs-dkms/files/dkms.conf
index 83285524..5b55f58f 100644
--- a/sys-kernel/zfs-dkms/files/dkms.conf
+++ b/sys-kernel/zfs-dkms/files/dkms.conf
@@ -1,5 +1,5 @@
PACKAGE_NAME="zfs-dkms"
-PACKAGE_VERSION="2.1.0"
+PACKAGE_VERSION="2.1.1"
PACKAGE_CONFIG="/etc/sysconfig/zfs"
NO_WEAK_MODULES="yes"
PRE_BUILD="configure
diff --git a/sys-kernel/zfs-dkms/files/eb17f92e1edabcde442e5fbdff4525054be8595.diff b/sys-kernel/zfs-dkms/files/eb17f92e1edabcde442e5fbdff4525054be8595.diff
deleted file mode 100644
index 1e72ebaf..00000000
--- a/sys-kernel/zfs-dkms/files/eb17f92e1edabcde442e5fbdff4525054be8595.diff
+++ /dev/null
@@ -1,133 +0,0 @@
-diff --git a/config/kernel-make-request-fn.m4 b/config/kernel-make-request-fn.m4
-index 290ef6b8da7..86b202a7a27 100644
---- a/config/kernel-make-request-fn.m4
-+++ b/config/kernel-make-request-fn.m4
-@@ -42,6 +42,13 @@ AC_DEFUN([ZFS_AC_KERNEL_SRC_MAKE_REQUEST_FN], [
- struct block_device_operations o;
- o.submit_bio = NULL;
- ])
-+
-+ ZFS_LINUX_TEST_SRC([blk_alloc_disk], [
-+ #include <linux/blkdev.h>
-+ ],[
-+ struct gendisk *disk __attribute__ ((unused));
-+ disk = blk_alloc_disk(NUMA_NO_NODE);
-+ ])
- ])
-
- AC_DEFUN([ZFS_AC_KERNEL_MAKE_REQUEST_FN], [
-@@ -56,6 +63,19 @@ AC_DEFUN([ZFS_AC_KERNEL_MAKE_REQUEST_FN], [
-
- AC_DEFINE(HAVE_SUBMIT_BIO_IN_BLOCK_DEVICE_OPERATIONS, 1,
- [submit_bio is member of struct block_device_operations])
-+
-+ dnl #
-+ dnl # Linux 5.14 API Change:
-+ dnl # blk_alloc_queue() + alloc_disk() combo replaced by
-+ dnl # a single call to blk_alloc_disk().
-+ dnl #
-+ AC_MSG_CHECKING([whether blk_alloc_disk() exists])
-+ ZFS_LINUX_TEST_RESULT([blk_alloc_disk], [
-+ AC_MSG_RESULT(yes)
-+ AC_DEFINE([HAVE_BLK_ALLOC_DISK], 1, [blk_alloc_disk() exists])
-+ ], [
-+ AC_MSG_RESULT(no)
-+ ])
- ],[
- AC_MSG_RESULT(no)
-
-diff --git a/module/os/linux/zfs/zvol_os.c b/module/os/linux/zfs/zvol_os.c
-index 741979f11af..8b29d73a3e0 100644
---- a/module/os/linux/zfs/zvol_os.c
-+++ b/module/os/linux/zfs/zvol_os.c
-@@ -762,7 +762,7 @@ static struct block_device_operations zvol_ops = {
- .getgeo = zvol_getgeo,
- .owner = THIS_MODULE,
- #ifdef HAVE_SUBMIT_BIO_IN_BLOCK_DEVICE_OPERATIONS
-- .submit_bio = zvol_submit_bio,
-+ .submit_bio = zvol_submit_bio,
- #endif
- };
-
-@@ -795,13 +795,40 @@ zvol_alloc(dev_t dev, const char *name)
- mutex_init(&zv->zv_state_lock, NULL, MUTEX_DEFAULT, NULL);
-
- #ifdef HAVE_SUBMIT_BIO_IN_BLOCK_DEVICE_OPERATIONS
-+#ifdef HAVE_BLK_ALLOC_DISK
-+ zso->zvo_disk = blk_alloc_disk(NUMA_NO_NODE);
-+ if (zso->zvo_disk == NULL)
-+ goto out_kmem;
-+
-+ zso->zvo_disk->minors = ZVOL_MINORS;
-+ zso->zvo_queue = zso->zvo_disk->queue;
-+#else
- zso->zvo_queue = blk_alloc_queue(NUMA_NO_NODE);
-+ if (zso->zvo_queue == NULL)
-+ goto out_kmem;
-+
-+ zso->zvo_disk = alloc_disk(ZVOL_MINORS);
-+ if (zso->zvo_disk == NULL) {
-+ blk_cleanup_queue(zso->zvo_queue);
-+ goto out_kmem;
-+ }
-+
-+ zso->zvo_disk->queue = zso->zvo_queue;
-+#endif /* HAVE_BLK_ALLOC_DISK */
- #else
- zso->zvo_queue = blk_generic_alloc_queue(zvol_request, NUMA_NO_NODE);
--#endif
- if (zso->zvo_queue == NULL)
- goto out_kmem;
-
-+ zso->zvo_disk = alloc_disk(ZVOL_MINORS);
-+ if (zso->zvo_disk == NULL) {
-+ blk_cleanup_queue(zso->zvo_queue);
-+ goto out_kmem;
-+ }
-+
-+ zso->zvo_disk->queue = zso->zvo_queue;
-+#endif /* HAVE_SUBMIT_BIO_IN_BLOCK_DEVICE_OPERATIONS */
-+
- blk_queue_set_write_cache(zso->zvo_queue, B_TRUE, B_TRUE);
-
- /* Limit read-ahead to a single page to prevent over-prefetching. */
-@@ -810,10 +837,6 @@ zvol_alloc(dev_t dev, const char *name)
- /* Disable write merging in favor of the ZIO pipeline. */
- blk_queue_flag_set(QUEUE_FLAG_NOMERGES, zso->zvo_queue);
-
-- zso->zvo_disk = alloc_disk(ZVOL_MINORS);
-- if (zso->zvo_disk == NULL)
-- goto out_queue;
--
- zso->zvo_queue->queuedata = zv;
- zso->zvo_dev = dev;
- zv->zv_open_count = 0;
-@@ -844,14 +867,11 @@ zvol_alloc(dev_t dev, const char *name)
- zso->zvo_disk->first_minor = (dev & MINORMASK);
- zso->zvo_disk->fops = &zvol_ops;
- zso->zvo_disk->private_data = zv;
-- zso->zvo_disk->queue = zso->zvo_queue;
- snprintf(zso->zvo_disk->disk_name, DISK_NAME_LEN, "%s%d",
- ZVOL_DEV_NAME, (dev & MINORMASK));
-
- return (zv);
-
--out_queue:
-- blk_cleanup_queue(zso->zvo_queue);
- out_kmem:
- kmem_free(zso, sizeof (struct zvol_state_os));
- kmem_free(zv, sizeof (zvol_state_t));
-@@ -882,8 +902,13 @@ zvol_free(zvol_state_t *zv)
- zfs_rangelock_fini(&zv->zv_rangelock);
-
- del_gendisk(zv->zv_zso->zvo_disk);
-+#if defined(HAVE_SUBMIT_BIO_IN_BLOCK_DEVICE_OPERATIONS) && \
-+ defined(HAVE_BLK_ALLOC_DISK)
-+ blk_cleanup_disk(zv->zv_zso->zvo_disk);
-+#else
- blk_cleanup_queue(zv->zv_zso->zvo_queue);
- put_disk(zv->zv_zso->zvo_disk);
-+#endif
-
- ida_simple_remove(&zvol_ida,
- MINOR(zv->zv_zso->zvo_dev) >> ZVOL_MINOR_BITS);