summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorjc_gargma <jc_gargma@iserlohn-fortress.net>2019-05-25 10:58:56 -0700
committerjc_gargma <jc_gargma@iserlohn-fortress.net>2019-05-25 10:58:56 -0700
commitad1e5a854a9b8b3e52ec08bcbdb0fb5aefc6b978 (patch)
tree2c8f628691aff31be4007761667fe954a10ff603
parentRemove erroneous whitespace (diff)
downloadlinux-ck-ad1e5a854a9b8b3e52ec08bcbdb0fb5aefc6b978.tar.xz
Updated to 5.1.5
-rw-r--r--0002-Revert-dm-eliminate-split_discard_bios-flag-from-DM-.patch187
-rw-r--r--PKGBUILD19
2 files changed, 6 insertions, 200 deletions
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 25c7127..0000000
--- 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
-
diff --git a/PKGBUILD b/PKGBUILD
index c0377d8..8280c1e 100644
--- a/PKGBUILD
+++ b/PKGBUILD
@@ -17,7 +17,7 @@
pkgbase=linux-ck
_majver=5.1
-_minver=4
+_minver=5
if [ "$_minver" == "0" ]; then
pkgver=${_majver}
else
@@ -42,7 +42,6 @@ source=(
enable_additional_cpu_optimizations-$_gcc_more_v.tar.gz::https://github.com/graysky2/kernel_gcc_patch/archive/$_gcc_more_v.tar.gz
bdver2-fix-for-graysky.patch
0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch
- 0002-Revert-dm-eliminate-split_discard_bios-flag-from-DM-.patch
ath9k-regdom-hack.patch
raid6-default-algo.patch
config.x86_64 # the main kernel config files
@@ -50,14 +49,13 @@ source=(
90-linux.hook # pacman hook for initramfs regeneration
linux.preset # standard config files for mkinitcpio ramdisk
)
-sha256sums=('5c6d65faba54652b3ab4cfcb2f3be88d53478a2cd24d0f1cdd9344c7aad1e7f9'
+sha256sums=('d79f90f5ca97befbfee4e247204b2ac4f45e7bb03d63a79184bc748cf3cf6ddb'
'SKIP'
'a2db6672b2d35f3006c7151e8fa90f5187dcdac9fcc46e88e78d45c7d8226d1f'
'f8d18a34f6b17ec8e5f2a7354383ca627e0fd00b5578c1ee7d9808a34f33c724'
'226e30068ea0fecdb22f337391385701996bfbdba37cdcf0f1dbf55f1080542d'
'd35338c92d0dbf27ffedaf100bd852dd13fd9b5d49b12a10b91194a2ae654447'
'91fafa76bf9cb32159ac7f22191b3589278b91e65bc4505cf2fc6013b8037bf3'
- 'bb789e82a03b155ba92177403aefe0c97a61028d385fc1fbc2c98be00ee428ab'
'e7ebf050c22bcec0028c0b3c79fd6d3913b0370ecc6a23dfe78ce475630cf503'
'0f81d6e4158b7beeb0eb514f1b9401f7e23699cb0f7b0d513e25dae1815daaeb'
'b1a69a9bccdeab017fd1ee3cb86495e3f499bf82cb94c1ca062e2fc086584311'
@@ -81,7 +79,10 @@ prepare() {
# fi
# Hotfixes
- # msg2 "Applying hotfixes"
+ msg2 "Applying hotfixes"
+ # 0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch
+ msg2 "Applying disallow-unpriv-clone-newuser patch"
+ patch -p1 -i ../0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch
# ck hotfixes
msg2 "Applying ck patch hotfixes"
@@ -99,14 +100,6 @@ prepare() {
msg2 "Applying bdver2 fix for graysky2 cpu patch"
patch -p1 -i ../bdver2-fix-for-graysky.patch
- # 0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch
- msg2 "Applying disallow-unpriv-clone-newuser patch"
- patch -p1 -i ../0001-add-sysctl-to-disallow-unprivileged-CLONE_NEWUSER-by.patch
-
- # 0002-Revert-dm-eliminate-split_discard_bios-flag-from-DM-.patch
- msg2 "Applying revert dm eliminate patch"
- patch -p1 -i ../0002-Revert-dm-eliminate-split_discard_bios-flag-from-DM-.patch
-
# Ignore ath9k eeprom patch
msg2 "Applying ath9k patch"
patch -p1 -i ../ath9k-regdom-hack.patch