mirror of
https://aur.archlinux.org/zfs-linux-hardened.git
synced 2025-06-03 06:07:22 +02:00
Semi-automated update for kernel 6.1.24.hardened1-1 + zfs 2.1.10
This commit is contained in:
parent
129cd0411b
commit
e09c3ea76d
14
.SRCINFO
14
.SRCINFO
@ -1,17 +1,15 @@
|
||||
pkgbase = zfs-linux-hardened
|
||||
pkgver = 2.1.9_6.1.21.hardened1.1
|
||||
pkgver = 2.1.10_6.1.24.hardened1.1
|
||||
pkgrel = 1
|
||||
url = https://openzfs.org/
|
||||
arch = x86_64
|
||||
license = CDDL
|
||||
makedepends = linux-hardened-headers=6.1.21.hardened1-1
|
||||
makedepends = linux-hardened-headers=6.1.24.hardened1-1
|
||||
depends = kmod
|
||||
depends = zfs-utils=2.1.9
|
||||
depends = linux-hardened=6.1.21.hardened1-1
|
||||
source = https://github.com/openzfs/zfs/releases/download/zfs-2.1.9/zfs-2.1.9.tar.gz
|
||||
source = linux-6.3-compat-add-another-bdev_io_acct-case.patch
|
||||
sha256sums = 6b172cdf2eb54e17fcd68f900fab33c1430c5c59848fa46fab83614922fe50f6
|
||||
sha256sums = 14b099062abdb8923266f8f39c50d4b98755e6324ae6ce36d322c361b85387ee
|
||||
depends = zfs-utils=2.1.10
|
||||
depends = linux-hardened=6.1.24.hardened1-1
|
||||
source = https://github.com/openzfs/zfs/releases/download/zfs-2.1.10/zfs-2.1.10.tar.gz
|
||||
sha256sums = f3abb83a1a4c0cd4f064f3c6a7cc133f800a76dd40b3fec1d15a31ad08471ab9
|
||||
|
||||
pkgname = zfs-linux-hardened
|
||||
pkgdesc = Kernel modules for the Zettabyte File System.
|
||||
|
16
PKGBUILD
16
PKGBUILD
@ -17,9 +17,9 @@
|
||||
#
|
||||
pkgbase="zfs-linux-hardened"
|
||||
pkgname=("zfs-linux-hardened" "zfs-linux-hardened-headers")
|
||||
_zfsver="2.1.9"
|
||||
_kernelver="6.1.21.hardened1-1"
|
||||
_kernelver_full="6.1.21.hardened1-1"
|
||||
_zfsver="2.1.10"
|
||||
_kernelver="6.1.24.hardened1-1"
|
||||
_kernelver_full="6.1.24.hardened1-1"
|
||||
_extramodules="${_kernelver/.hardened/-hardened}-hardened"
|
||||
|
||||
pkgver="${_zfsver}_$(echo ${_kernelver} | sed s/-/./g)"
|
||||
@ -27,16 +27,10 @@ pkgrel=1
|
||||
makedepends=("linux-hardened-headers=${_kernelver}")
|
||||
arch=("x86_64")
|
||||
url="https://openzfs.org/"
|
||||
source=("https://github.com/openzfs/zfs/releases/download/zfs-${_zfsver}/zfs-${_zfsver}.tar.gz"
|
||||
"linux-6.3-compat-add-another-bdev_io_acct-case.patch")
|
||||
sha256sums=("6b172cdf2eb54e17fcd68f900fab33c1430c5c59848fa46fab83614922fe50f6"
|
||||
"14b099062abdb8923266f8f39c50d4b98755e6324ae6ce36d322c361b85387ee")
|
||||
source=("https://github.com/openzfs/zfs/releases/download/zfs-${_zfsver}/zfs-${_zfsver}.tar.gz")
|
||||
sha256sums=("f3abb83a1a4c0cd4f064f3c6a7cc133f800a76dd40b3fec1d15a31ad08471ab9")
|
||||
license=("CDDL")
|
||||
depends=("kmod" "zfs-utils=${_zfsver}" "linux-hardened=${_kernelver}")
|
||||
prepare() {
|
||||
cd "${srcdir}/zfs-${_zfsver}"
|
||||
patch -Np1 -i ${srcdir}/linux-6.3-compat-add-another-bdev_io_acct-case.patch
|
||||
}
|
||||
|
||||
build() {
|
||||
cd "${srcdir}/zfs-${_zfsver}"
|
||||
|
@ -1,193 +0,0 @@
|
||||
From 1a951502f0b4200a13f23f0d2f5759ef60188c17 Mon Sep 17 00:00:00 2001
|
||||
From: Rich Ercolani <214141+rincebrain@users.noreply.github.com>
|
||||
Date: Mon, 27 Mar 2023 14:29:19 -0400
|
||||
Subject: [PATCH] linux 6.3 compat: add another bdev_io_acct case
|
||||
|
||||
Linux 6.3+, and backports from it (6.2.8+), changed the
|
||||
signatures on bdev_io_{start,end}_acct. Add a case for it.
|
||||
|
||||
Reviewed-by: Brian Behlendorf <behlendorf1@llnl.gov>
|
||||
Signed-off-by: Rich Ercolani <rincebrain@gmail.com>
|
||||
Closes #14658
|
||||
Closes #14668
|
||||
---
|
||||
config/kernel-generic_io_acct.m4 | 98 ++++++++++++-------
|
||||
include/os/linux/kernel/linux/blkdev_compat.h | 10 +-
|
||||
2 files changed, 69 insertions(+), 39 deletions(-)
|
||||
|
||||
diff --git a/config/kernel-generic_io_acct.m4 b/config/kernel-generic_io_acct.m4
|
||||
index a8a448c6fe9..a6a10900429 100644
|
||||
--- a/config/kernel-generic_io_acct.m4
|
||||
+++ b/config/kernel-generic_io_acct.m4
|
||||
@@ -2,7 +2,20 @@ dnl #
|
||||
dnl # Check for generic io accounting interface.
|
||||
dnl #
|
||||
AC_DEFUN([ZFS_AC_KERNEL_SRC_GENERIC_IO_ACCT], [
|
||||
- ZFS_LINUX_TEST_SRC([bdev_io_acct], [
|
||||
+ ZFS_LINUX_TEST_SRC([bdev_io_acct_63], [
|
||||
+ #include <linux/blkdev.h>
|
||||
+ ], [
|
||||
+ struct block_device *bdev = NULL;
|
||||
+ struct bio *bio = NULL;
|
||||
+ unsigned long passed_time = 0;
|
||||
+ unsigned long start_time;
|
||||
+
|
||||
+ start_time = bdev_start_io_acct(bdev, bio_op(bio),
|
||||
+ passed_time);
|
||||
+ bdev_end_io_acct(bdev, bio_op(bio), bio_sectors(bio), start_time);
|
||||
+ ])
|
||||
+
|
||||
+ ZFS_LINUX_TEST_SRC([bdev_io_acct_old], [
|
||||
#include <linux/blkdev.h>
|
||||
], [
|
||||
struct block_device *bdev = NULL;
|
||||
@@ -63,74 +76,85 @@ AC_DEFUN([ZFS_AC_KERNEL_SRC_GENERIC_IO_ACCT], [
|
||||
|
||||
AC_DEFUN([ZFS_AC_KERNEL_GENERIC_IO_ACCT], [
|
||||
dnl #
|
||||
- dnl # 5.19 API,
|
||||
+ dnl # Linux 6.3, and then backports thereof, changed
|
||||
+ dnl # the signatures on bdev_start_io_acct/bdev_end_io_acct
|
||||
dnl #
|
||||
- dnl # disk_start_io_acct() and disk_end_io_acct() have been replaced by
|
||||
- dnl # bdev_start_io_acct() and bdev_end_io_acct().
|
||||
- dnl #
|
||||
- AC_MSG_CHECKING([whether generic bdev_*_io_acct() are available])
|
||||
- ZFS_LINUX_TEST_RESULT([bdev_io_acct], [
|
||||
+ AC_MSG_CHECKING([whether 6.3+ bdev_*_io_acct() are available])
|
||||
+ ZFS_LINUX_TEST_RESULT([bdev_io_acct_63], [
|
||||
AC_MSG_RESULT(yes)
|
||||
- AC_DEFINE(HAVE_BDEV_IO_ACCT, 1, [bdev_*_io_acct() available])
|
||||
+ AC_DEFINE(HAVE_BDEV_IO_ACCT_63, 1, [bdev_*_io_acct() available])
|
||||
], [
|
||||
AC_MSG_RESULT(no)
|
||||
|
||||
dnl #
|
||||
- dnl # 5.12 API,
|
||||
+ dnl # 5.19 API,
|
||||
dnl #
|
||||
- dnl # bio_start_io_acct() and bio_end_io_acct() became GPL-exported
|
||||
- dnl # so use disk_start_io_acct() and disk_end_io_acct() instead
|
||||
+ dnl # disk_start_io_acct() and disk_end_io_acct() have been replaced by
|
||||
+ dnl # bdev_start_io_acct() and bdev_end_io_acct().
|
||||
dnl #
|
||||
- AC_MSG_CHECKING([whether generic disk_*_io_acct() are available])
|
||||
- ZFS_LINUX_TEST_RESULT([disk_io_acct], [
|
||||
+ AC_MSG_CHECKING([whether pre-6.3 bdev_*_io_acct() are available])
|
||||
+ ZFS_LINUX_TEST_RESULT([bdev_io_acct_old], [
|
||||
AC_MSG_RESULT(yes)
|
||||
- AC_DEFINE(HAVE_DISK_IO_ACCT, 1, [disk_*_io_acct() available])
|
||||
+ AC_DEFINE(HAVE_BDEV_IO_ACCT_OLD, 1, [bdev_*_io_acct() available])
|
||||
], [
|
||||
AC_MSG_RESULT(no)
|
||||
-
|
||||
dnl #
|
||||
- dnl # 5.7 API,
|
||||
+ dnl # 5.12 API,
|
||||
dnl #
|
||||
- dnl # Added bio_start_io_acct() and bio_end_io_acct() helpers.
|
||||
+ dnl # bio_start_io_acct() and bio_end_io_acct() became GPL-exported
|
||||
+ dnl # so use disk_start_io_acct() and disk_end_io_acct() instead
|
||||
dnl #
|
||||
- AC_MSG_CHECKING([whether generic bio_*_io_acct() are available])
|
||||
- ZFS_LINUX_TEST_RESULT([bio_io_acct], [
|
||||
+ AC_MSG_CHECKING([whether generic disk_*_io_acct() are available])
|
||||
+ ZFS_LINUX_TEST_RESULT([disk_io_acct], [
|
||||
AC_MSG_RESULT(yes)
|
||||
- AC_DEFINE(HAVE_BIO_IO_ACCT, 1, [bio_*_io_acct() available])
|
||||
+ AC_DEFINE(HAVE_DISK_IO_ACCT, 1, [disk_*_io_acct() available])
|
||||
], [
|
||||
AC_MSG_RESULT(no)
|
||||
|
||||
dnl #
|
||||
- dnl # 4.14 API,
|
||||
+ dnl # 5.7 API,
|
||||
dnl #
|
||||
- dnl # generic_start_io_acct/generic_end_io_acct now require
|
||||
- dnl # request_queue to be provided. No functional changes,
|
||||
- dnl # but preparation for inflight accounting.
|
||||
+ dnl # Added bio_start_io_acct() and bio_end_io_acct() helpers.
|
||||
dnl #
|
||||
- AC_MSG_CHECKING([whether generic_*_io_acct wants 4 args])
|
||||
- ZFS_LINUX_TEST_RESULT_SYMBOL([generic_acct_4args],
|
||||
- [generic_start_io_acct], [block/bio.c], [
|
||||
+ AC_MSG_CHECKING([whether generic bio_*_io_acct() are available])
|
||||
+ ZFS_LINUX_TEST_RESULT([bio_io_acct], [
|
||||
AC_MSG_RESULT(yes)
|
||||
- AC_DEFINE(HAVE_GENERIC_IO_ACCT_4ARG, 1,
|
||||
- [generic_*_io_acct() 4 arg available])
|
||||
+ AC_DEFINE(HAVE_BIO_IO_ACCT, 1, [bio_*_io_acct() available])
|
||||
], [
|
||||
AC_MSG_RESULT(no)
|
||||
|
||||
dnl #
|
||||
- dnl # 3.19 API addition
|
||||
+ dnl # 4.14 API,
|
||||
dnl #
|
||||
- dnl # torvalds/linux@394ffa50 allows us to increment
|
||||
- dnl # iostat counters without generic_make_request().
|
||||
+ dnl # generic_start_io_acct/generic_end_io_acct now require
|
||||
+ dnl # request_queue to be provided. No functional changes,
|
||||
+ dnl # but preparation for inflight accounting.
|
||||
dnl #
|
||||
- AC_MSG_CHECKING(
|
||||
- [whether generic_*_io_acct wants 3 args])
|
||||
- ZFS_LINUX_TEST_RESULT_SYMBOL([generic_acct_3args],
|
||||
+ AC_MSG_CHECKING([whether generic_*_io_acct wants 4 args])
|
||||
+ ZFS_LINUX_TEST_RESULT_SYMBOL([generic_acct_4args],
|
||||
[generic_start_io_acct], [block/bio.c], [
|
||||
AC_MSG_RESULT(yes)
|
||||
- AC_DEFINE(HAVE_GENERIC_IO_ACCT_3ARG, 1,
|
||||
- [generic_*_io_acct() 3 arg available])
|
||||
+ AC_DEFINE(HAVE_GENERIC_IO_ACCT_4ARG, 1,
|
||||
+ [generic_*_io_acct() 4 arg available])
|
||||
], [
|
||||
AC_MSG_RESULT(no)
|
||||
+
|
||||
+ dnl #
|
||||
+ dnl # 3.19 API addition
|
||||
+ dnl #
|
||||
+ dnl # torvalds/linux@394ffa50 allows us to increment
|
||||
+ dnl # iostat counters without generic_make_request().
|
||||
+ dnl #
|
||||
+ AC_MSG_CHECKING(
|
||||
+ [whether generic_*_io_acct wants 3 args])
|
||||
+ ZFS_LINUX_TEST_RESULT_SYMBOL([generic_acct_3args],
|
||||
+ [generic_start_io_acct], [block/bio.c], [
|
||||
+ AC_MSG_RESULT(yes)
|
||||
+ AC_DEFINE(HAVE_GENERIC_IO_ACCT_3ARG, 1,
|
||||
+ [generic_*_io_acct() 3 arg available])
|
||||
+ ], [
|
||||
+ AC_MSG_RESULT(no)
|
||||
+ ])
|
||||
])
|
||||
])
|
||||
])
|
||||
diff --git a/include/os/linux/kernel/linux/blkdev_compat.h b/include/os/linux/kernel/linux/blkdev_compat.h
|
||||
index b1daa5ed9ce..11ecfd8caa3 100644
|
||||
--- a/include/os/linux/kernel/linux/blkdev_compat.h
|
||||
+++ b/include/os/linux/kernel/linux/blkdev_compat.h
|
||||
@@ -581,7 +581,10 @@ blk_generic_start_io_acct(struct request_queue *q __attribute__((unused)),
|
||||
struct gendisk *disk __attribute__((unused)),
|
||||
int rw __attribute__((unused)), struct bio *bio)
|
||||
{
|
||||
-#if defined(HAVE_BDEV_IO_ACCT)
|
||||
+#if defined(HAVE_BDEV_IO_ACCT_63)
|
||||
+ return (bdev_start_io_acct(bio->bi_bdev, bio_op(bio),
|
||||
+ jiffies));
|
||||
+#elif defined(HAVE_BDEV_IO_ACCT_OLD)
|
||||
return (bdev_start_io_acct(bio->bi_bdev, bio_sectors(bio),
|
||||
bio_op(bio), jiffies));
|
||||
#elif defined(HAVE_DISK_IO_ACCT)
|
||||
@@ -607,7 +610,10 @@ blk_generic_end_io_acct(struct request_queue *q __attribute__((unused)),
|
||||
struct gendisk *disk __attribute__((unused)),
|
||||
int rw __attribute__((unused)), struct bio *bio, unsigned long start_time)
|
||||
{
|
||||
-#if defined(HAVE_BDEV_IO_ACCT)
|
||||
+#if defined(HAVE_BDEV_IO_ACCT_63)
|
||||
+ bdev_end_io_acct(bio->bi_bdev, bio_op(bio), bio_sectors(bio),
|
||||
+ start_time);
|
||||
+#elif defined(HAVE_BDEV_IO_ACCT_OLD)
|
||||
bdev_end_io_acct(bio->bi_bdev, bio_op(bio), start_time);
|
||||
#elif defined(HAVE_DISK_IO_ACCT)
|
||||
disk_end_io_acct(disk, bio_op(bio), start_time);
|
Loading…
x
Reference in New Issue
Block a user