diff options
-rw-r--r-- | .SRCINFO | 16 | ||||
-rw-r--r-- | 0002-Revert-dm-eliminate-split_discard_bios-flag-from-DM-.patch | 187 | ||||
-rw-r--r-- | PKGBUILD | 8 |
3 files changed, 10 insertions, 201 deletions
@@ -1,5 +1,5 @@ pkgbase = linux-ck - pkgver = 5.1.4 + pkgver = 5.1.5 pkgrel = 1 url = https://wiki.archlinux.org/index.php/Linux-ck arch = x86_64 @@ -9,8 +9,8 @@ pkgbase = linux-ck makedepends = bc makedepends = libelf options = !strip - source = https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.1.4.tar.xz - source = https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.1.4.tar.sign + source = https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.1.5.tar.xz + source = https://www.kernel.org/pub/linux/kernel/v5.x/linux-5.1.5.tar.sign source = config source = 60-linux.hook source = 90-linux.hook @@ -18,10 +18,9 @@ pkgbase = linux-ck source = enable_additional_cpu_optimizations-20180509.tar.gz::https://github.com/graysky2/kernel_gcc_patch/archive/20180509.tar.gz source = http://ck.kolivas.org/patches/5.0/5.1/5.1-ck1/patch-5.1-ck1.xz source = 0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch - source = 0002-Revert-dm-eliminate-split_discard_bios-flag-from-DM-.patch validpgpkeys = ABAF11C65A2970B130ABE3C479BE3E4300411886 validpgpkeys = 647F28654894E3BD457199BE38DBBDC86092693E - sha256sums = 5c6d65faba54652b3ab4cfcb2f3be88d53478a2cd24d0f1cdd9344c7aad1e7f9 + sha256sums = d79f90f5ca97befbfee4e247204b2ac4f45e7bb03d63a79184bc748cf3cf6ddb sha256sums = SKIP sha256sums = 7af14b92ef808cb57b4a09156e5cd3a6e32c31fc5eb942ec4b1402426a22cf0e sha256sums = ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21 @@ -30,7 +29,6 @@ pkgbase = linux-ck sha256sums = 226e30068ea0fecdb22f337391385701996bfbdba37cdcf0f1dbf55f1080542d sha256sums = f8d18a34f6b17ec8e5f2a7354383ca627e0fd00b5578c1ee7d9808a34f33c724 sha256sums = 91fafa76bf9cb32159ac7f22191b3589278b91e65bc4505cf2fc6013b8037bf3 - sha256sums = bb789e82a03b155ba92177403aefe0c97a61028d385fc1fbc2c98be00ee428ab pkgname = linux-ck pkgdesc = The Linux-ck kernel and modules with the ck1 patchset featuring MuQSS CPU scheduler v0.192 @@ -40,12 +38,12 @@ pkgname = linux-ck depends = kmod depends = mkinitcpio optdepends = crda: to set the correct wireless channels of your country - provides = linux-ck=5.1.4 + provides = linux-ck=5.1.5 backup = etc/mkinitcpio.d/linux-ck.preset pkgname = linux-ck-headers pkgdesc = Header files and scripts for building modules for Linux-ck kernel depends = linux-ck - provides = linux-ck-headers=5.1.4 - provides = linux-headers=5.1.4 + provides = linux-ck-headers=5.1.5 + provides = linux-headers=5.1.5 diff --git a/0002-Revert-dm-eliminate-split_discard_bios-flag-from-DM-.patch b/0002-Revert-dm-eliminate-split_discard_bios-flag-from-DM-.patch deleted file mode 100644 index 25c7127e3a27..000000000000 --- a/0002-Revert-dm-eliminate-split_discard_bios-flag-from-DM-.patch +++ /dev/null @@ -1,187 +0,0 @@ -From b79903f026f9eb37da34b8d300910e5d6d626e31 Mon Sep 17 00:00:00 2001 -From: "Jan Alexander Steffens (heftig)" <jan.steffens@gmail.com> -Date: Wed, 22 May 2019 01:12:03 +0200 -Subject: [PATCH 2/3] Revert "dm: eliminate 'split_discard_bios' flag from DM - target interface" - -This reverts commit 61697a6abd24acba941359c6268a94f4afe4a53d. - -https://bugs.archlinux.org/task/62693 ---- - drivers/md/dm-cache-target.c | 1 + - drivers/md/dm-raid.c | 14 +++++--------- - drivers/md/dm-thin.c | 1 + - drivers/md/dm-zoned-target.c | 1 + - drivers/md/dm.c | 25 +++++++++++++++++++------ - include/linux/device-mapper.h | 6 ++++++ - include/uapi/linux/dm-ioctl.h | 4 ++-- - 7 files changed, 35 insertions(+), 17 deletions(-) - -diff --git a/drivers/md/dm-cache-target.c b/drivers/md/dm-cache-target.c -index d249cf8ac277..694b252d2741 100644 ---- a/drivers/md/dm-cache-target.c -+++ b/drivers/md/dm-cache-target.c -@@ -2505,6 +2505,7 @@ static int cache_create(struct cache_args *ca, struct cache **result) - - ti->num_discard_bios = 1; - ti->discards_supported = true; -+ ti->split_discard_bios = false; - - ti->per_io_data_size = sizeof(struct per_bio_data); - -diff --git a/drivers/md/dm-raid.c b/drivers/md/dm-raid.c -index 9fdef6897316..adcfe8ae10aa 100644 ---- a/drivers/md/dm-raid.c -+++ b/drivers/md/dm-raid.c -@@ -2986,6 +2986,11 @@ static void configure_discard_support(struct raid_set *rs) - } - } - -+ /* -+ * RAID1 and RAID10 personalities require bio splitting, -+ * RAID0/4/5/6 don't and process large discard bios properly. -+ */ -+ ti->split_discard_bios = !!(rs_is_raid1(rs) || rs_is_raid10(rs)); - ti->num_discard_bios = 1; - } - -@@ -3742,15 +3747,6 @@ static void raid_io_hints(struct dm_target *ti, struct queue_limits *limits) - - blk_limits_io_min(limits, chunk_size); - blk_limits_io_opt(limits, chunk_size * mddev_data_stripes(rs)); -- -- /* -- * RAID1 and RAID10 personalities require bio splitting, -- * RAID0/4/5/6 don't and process large discard bios properly. -- */ -- if (rs_is_raid1(rs) || rs_is_raid10(rs)) { -- limits->discard_granularity = chunk_size; -- limits->max_discard_sectors = chunk_size; -- } - } - - static void raid_postsuspend(struct dm_target *ti) -diff --git a/drivers/md/dm-thin.c b/drivers/md/dm-thin.c -index fcd887703f95..254c26eb963a 100644 ---- a/drivers/md/dm-thin.c -+++ b/drivers/md/dm-thin.c -@@ -4240,6 +4240,7 @@ static int thin_ctr(struct dm_target *ti, unsigned argc, char **argv) - if (tc->pool->pf.discard_enabled) { - ti->discards_supported = true; - ti->num_discard_bios = 1; -+ ti->split_discard_bios = false; - } - - mutex_unlock(&dm_thin_pool_table.mutex); -diff --git a/drivers/md/dm-zoned-target.c b/drivers/md/dm-zoned-target.c -index 8865c1709e16..6af5babe6837 100644 ---- a/drivers/md/dm-zoned-target.c -+++ b/drivers/md/dm-zoned-target.c -@@ -727,6 +727,7 @@ static int dmz_ctr(struct dm_target *ti, unsigned int argc, char **argv) - ti->per_io_data_size = sizeof(struct dmz_bioctx); - ti->flush_supported = true; - ti->discards_supported = true; -+ ti->split_discard_bios = true; - - /* The exposed capacity is the number of chunks that can be mapped */ - ti->len = (sector_t)dmz_nr_chunks(dmz->metadata) << dev->zone_nr_sectors_shift; -diff --git a/drivers/md/dm.c b/drivers/md/dm.c -index 043f0761e4a0..f40e006ba5fe 100644 ---- a/drivers/md/dm.c -+++ b/drivers/md/dm.c -@@ -1464,10 +1464,17 @@ static unsigned get_num_write_zeroes_bios(struct dm_target *ti) - return ti->num_write_zeroes_bios; - } - -+typedef bool (*is_split_required_fn)(struct dm_target *ti); -+ -+static bool is_split_required_for_discard(struct dm_target *ti) -+{ -+ return ti->split_discard_bios; -+} -+ - static int __send_changing_extent_only(struct clone_info *ci, struct dm_target *ti, -- unsigned num_bios) -+ unsigned num_bios, bool is_split_required) - { -- unsigned len = ci->sector_count; -+ unsigned len; - - /* - * Even though the device advertised support for this type of -@@ -1478,6 +1485,11 @@ static int __send_changing_extent_only(struct clone_info *ci, struct dm_target * - if (!num_bios) - return -EOPNOTSUPP; - -+ if (!is_split_required) -+ len = min((sector_t)ci->sector_count, max_io_len_target_boundary(ci->sector, ti)); -+ else -+ len = min((sector_t)ci->sector_count, max_io_len(ci->sector, ti)); -+ - __send_duplicate_bios(ci, ti, num_bios, &len); - - ci->sector += len; -@@ -1488,22 +1500,23 @@ static int __send_changing_extent_only(struct clone_info *ci, struct dm_target * - - static int __send_discard(struct clone_info *ci, struct dm_target *ti) - { -- return __send_changing_extent_only(ci, ti, get_num_discard_bios(ti)); -+ return __send_changing_extent_only(ci, ti, get_num_discard_bios(ti), -+ is_split_required_for_discard(ti)); - } - - static int __send_secure_erase(struct clone_info *ci, struct dm_target *ti) - { -- return __send_changing_extent_only(ci, ti, get_num_secure_erase_bios(ti)); -+ return __send_changing_extent_only(ci, ti, get_num_secure_erase_bios(ti), false); - } - - static int __send_write_same(struct clone_info *ci, struct dm_target *ti) - { -- return __send_changing_extent_only(ci, ti, get_num_write_same_bios(ti)); -+ return __send_changing_extent_only(ci, ti, get_num_write_same_bios(ti), false); - } - - static int __send_write_zeroes(struct clone_info *ci, struct dm_target *ti) - { -- return __send_changing_extent_only(ci, ti, get_num_write_zeroes_bios(ti)); -+ return __send_changing_extent_only(ci, ti, get_num_write_zeroes_bios(ti), false); - } - - static bool is_abnormal_io(struct bio *bio) -diff --git a/include/linux/device-mapper.h b/include/linux/device-mapper.h -index b0672756d056..ec063ed4f53e 100644 ---- a/include/linux/device-mapper.h -+++ b/include/linux/device-mapper.h -@@ -316,6 +316,12 @@ struct dm_target { - * whether or not its underlying devices have support. - */ - bool discards_supported:1; -+ -+ /* -+ * Set if the target required discard bios to be split -+ * on max_io_len boundary. -+ */ -+ bool split_discard_bios:1; - }; - - /* Each target can link one of these into the table */ -diff --git a/include/uapi/linux/dm-ioctl.h b/include/uapi/linux/dm-ioctl.h -index f396a82dfd3e..d1e49514977b 100644 ---- a/include/uapi/linux/dm-ioctl.h -+++ b/include/uapi/linux/dm-ioctl.h -@@ -270,9 +270,9 @@ enum { - #define DM_DEV_SET_GEOMETRY _IOWR(DM_IOCTL, DM_DEV_SET_GEOMETRY_CMD, struct dm_ioctl) - - #define DM_VERSION_MAJOR 4 --#define DM_VERSION_MINOR 40 -+#define DM_VERSION_MINOR 39 - #define DM_VERSION_PATCHLEVEL 0 --#define DM_VERSION_EXTRA "-ioctl (2019-01-18)" -+#define DM_VERSION_EXTRA "-ioctl (2018-04-03)" - - /* Status bits */ - #define DM_READONLY_FLAG (1 << 0) /* In/Out */ --- -2.21.0 - @@ -61,7 +61,7 @@ _localmodcfg= ### IMPORTANT: Do no edit below this line unless you know what you're doing pkgbase=linux-ck -_srcver=5.1.4-arch1 +_srcver=5.1.5-arch1 pkgver=${_srcver%-*} pkgrel=1 _ckpatchversion=1 @@ -81,13 +81,12 @@ source=( "enable_additional_cpu_optimizations-$_gcc_more_v.tar.gz::https://github.com/graysky2/kernel_gcc_patch/archive/$_gcc_more_v.tar.gz" "http://ck.kolivas.org/patches/5.0/5.1/5.1-ck${_ckpatchversion}/$_ckpatch.xz" 0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch - 0002-Revert-dm-eliminate-split_discard_bios-flag-from-DM-.patch ) validpgpkeys=( 'ABAF11C65A2970B130ABE3C479BE3E4300411886' # Linus Torvalds '647F28654894E3BD457199BE38DBBDC86092693E' # Greg Kroah-Hartman ) -sha256sums=('5c6d65faba54652b3ab4cfcb2f3be88d53478a2cd24d0f1cdd9344c7aad1e7f9' +sha256sums=('d79f90f5ca97befbfee4e247204b2ac4f45e7bb03d63a79184bc748cf3cf6ddb' 'SKIP' '7af14b92ef808cb57b4a09156e5cd3a6e32c31fc5eb942ec4b1402426a22cf0e' 'ae2e95db94ef7176207c690224169594d49445e04249d2499e9d2fbc117a0b21' @@ -95,8 +94,7 @@ sha256sums=('5c6d65faba54652b3ab4cfcb2f3be88d53478a2cd24d0f1cdd9344c7aad1e7f9' 'ad6344badc91ad0630caacde83f7f9b97276f80d26a20619a87952be65492c65' '226e30068ea0fecdb22f337391385701996bfbdba37cdcf0f1dbf55f1080542d' 'f8d18a34f6b17ec8e5f2a7354383ca627e0fd00b5578c1ee7d9808a34f33c724' - '91fafa76bf9cb32159ac7f22191b3589278b91e65bc4505cf2fc6013b8037bf3' - 'bb789e82a03b155ba92177403aefe0c97a61028d385fc1fbc2c98be00ee428ab') + '91fafa76bf9cb32159ac7f22191b3589278b91e65bc4505cf2fc6013b8037bf3') _kernelname=${pkgbase#linux} : ${_kernelname:=-ARCH} |