diff --git a/.github/workflows/watch.yml b/.github/workflows/watch.yml index 5500fac..c6304d5 100644 --- a/.github/workflows/watch.yml +++ b/.github/workflows/watch.yml @@ -11,7 +11,7 @@ jobs: runs-on: [ubuntu-latest] strategy: matrix: - branch: ['v5.17.x'] + branch: ['v5.18.x'] steps: - name: Checkout Sources uses: actions/checkout@v2 diff --git a/README.md b/README.md index bccce3f..346a408 100644 --- a/README.md +++ b/README.md @@ -2,8 +2,8 @@ Custom Linux kernels for Proxmox VE. #### Available Versions -1. Linux 5.17 -1. Linux 5.16 **[EOL]** +1. Linux 5.18 +1. Linux 5.17 **[EOL]** Older builds are still available at the [Releases](https://github.com/fabianishere/pve-edge-kernel/releases) page. @@ -27,7 +27,7 @@ First, set up our Debian repository on your Proxmox installation: 3. **Install a kernel package:** ```bash apt update - apt install pve-kernel-5.16-edge + apt install pve-kernel-5.18-edge ``` Package repository hosting is graciously provided by [Cloudsmith](https://cloudsmith.com). diff --git a/crack.bundle b/crack.bundle index 85a442a..ae50f7c 100644 Binary files a/crack.bundle and b/crack.bundle differ diff --git a/debian/changelog b/debian/changelog index 33783e0..67f4a79 100644 --- a/debian/changelog +++ b/debian/changelog @@ -1,7 +1,7 @@ -pve-kernel (5.18.0-1) UNRELEASED; urgency=medium +pve-kernel (5.18.0-1) edge; urgency=medium * Update to Linux 5.18 - * Update to ZFS 2.1.4 + * Update to ZFS 2.1.5 -- Fabian Mastenbroek Mon, 26 Mar 2022 20:00:00 +0000 diff --git a/debian/config/config.pve b/debian/config/config.pve index 8229d24..6dac682 100644 --- a/debian/config/config.pve +++ b/debian/config/config.pve @@ -1,4 +1,4 @@ -CONFIG_DEBUG_INFO=n # PVE strips debug info afterwards +CONFIG_DEBUG_INFO_NONE=y # PVE strips debug info afterwards CONFIG_INTEL_MEI_WDT=m CONFIG_SND_PCM_OSS=n CONFIG_TRANSPARENT_HUGEPAGE_MADVISE=y diff --git a/debian/patches/pve/0005-net-core-downgrade-unregister_netdevice-refcount-lea.patch b/debian/patches/pve/0005-net-core-downgrade-unregister_netdevice-refcount-lea.patch index a9730fa..8577b5f 100644 --- a/debian/patches/pve/0005-net-core-downgrade-unregister_netdevice-refcount-lea.patch +++ b/debian/patches/pve/0005-net-core-downgrade-unregister_netdevice-refcount-lea.patch @@ -10,15 +10,15 @@ Signed-off-by: Thomas Lamprecht 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/net/core/dev.c b/net/core/dev.c -index ef8cf7619b..787d7dc1c7 100644 +index 2771fd22dc6a..37e18f93de23 100644 --- a/net/core/dev.c +++ b/net/core/dev.c -@@ -10488,7 +10488,7 @@ static void netdev_wait_allrefs(struct net_device *dev) - if (refcnt != 1 && - time_after(jiffies, warning_time + +@@ -10177,7 +10177,7 @@ static struct net_device *netdev_wait_allrefs_any(struct list_head *list) + if (time_after(jiffies, warning_time + netdev_unregister_timeout_secs * HZ)) { -- pr_emerg("unregister_netdevice: waiting for %s to become free. Usage count = %d\n", -+ pr_err("unregister_netdevice: waiting for %s to become free. Usage count = %d\n", - dev->name, refcnt); - warning_time = jiffies; - } + list_for_each_entry(dev, list, todo_list) { +- pr_emerg("unregister_netdevice: waiting for %s to become free. Usage count = %d\n", ++ pr_err("unregister_netdevice: waiting for %s to become free. Usage count = %d\n", + dev->name, netdev_refcnt_read(dev)); + ref_tracker_dir_print(&dev->refcnt_tracker, 10); + } diff --git a/debian/patches/pve/0009-blk-cgroup-always-terminate-io.stat-lines.patch b/debian/patches/pve/0009-blk-cgroup-always-terminate-io.stat-lines.patch index c4221f7..c24f5da 100644 --- a/debian/patches/pve/0009-blk-cgroup-always-terminate-io.stat-lines.patch +++ b/debian/patches/pve/0009-blk-cgroup-always-terminate-io.stat-lines.patch @@ -1,7 +1,7 @@ -From 0000000000000000000000000000000000000000 Mon Sep 17 00:00:00 2001 +From 3607849df47822151b05df440759e2dc70160755 Mon Sep 17 00:00:00 2001 From: Wolfgang Bumiller Date: Tue, 11 Jan 2022 09:31:59 +0100 -Subject: [PATCH] blk-cgroup: always terminate io.stat lines +Subject: blk-cgroup: always terminate io.stat lines With the removal of seq_get_buf in blkcg_print_one_stat, we cannot make adding the newline conditional on there being @@ -13,19 +13,20 @@ file format. Signed-off-by: Wolfgang Bumiller Fixes: 252c651a4c85 ("blk-cgroup: stop using seq_get_buf") -Signed-off-by: Thomas Lamprecht +Acked-by: Tejun Heo +Link: https://lore.kernel.org/r/20220111083159.42340-1-w.bumiller@proxmox.com +Signed-off-by: Jens Axboe --- - block/blk-cgroup.c | 9 ++------- - block/blk-iocost.c | 5 ++--- - block/blk-iolatency.c | 8 +++----- - include/linux/blk-cgroup.h | 2 +- - 4 files changed, 8 insertions(+), 16 deletions(-) + block/blk-cgroup.c | 9 ++------- + 1 file changed, 2 insertions(+), 7 deletions(-) + +(limited to 'block/blk-cgroup.c') diff --git a/block/blk-cgroup.c b/block/blk-cgroup.c -index 0eec59e4df65..38c62a44905a 100644 +index a91f8ae18b49b..204442fad33cf 100644 --- a/block/blk-cgroup.c +++ b/block/blk-cgroup.c -@@ -887,7 +887,6 @@ static void blkcg_print_one_stat(struct blkcg_gq *blkg, struct seq_file *s) +@@ -949,7 +949,6 @@ static void blkcg_print_one_stat(struct blkcg_gq *blkg, struct seq_file *s) { struct blkg_iostat_set *bis = &blkg->iostat; u64 rbytes, wbytes, rios, wios, dbytes, dios; @@ -33,115 +34,36 @@ index 0eec59e4df65..38c62a44905a 100644 const char *dname; unsigned seq; int i; -@@ -913,14 +912,12 @@ static void blkcg_print_one_stat(struct blkcg_gq *blkg, struct seq_file *s) +@@ -975,14 +974,12 @@ static void blkcg_print_one_stat(struct blkcg_gq *blkg, struct seq_file *s) } while (u64_stats_fetch_retry(&bis->sync, seq)); - + if (rbytes || wbytes || rios || wios) { - has_stats = true; seq_printf(s, "rbytes=%llu wbytes=%llu rios=%llu wios=%llu dbytes=%llu dios=%llu", rbytes, wbytes, rios, wios, dbytes, dios); } - + if (blkcg_debug_stats && atomic_read(&blkg->use_delay)) { - has_stats = true; seq_printf(s, " use_delay=%d delay_nsec=%llu", atomic_read(&blkg->use_delay), atomic64_read(&blkg->delay_nsec)); -@@ -932,12 +929,10 @@ static void blkcg_print_one_stat(struct blkcg_gq *blkg, struct seq_file *s) +@@ -994,12 +991,10 @@ static void blkcg_print_one_stat(struct blkcg_gq *blkg, struct seq_file *s) if (!blkg->pd[i] || !pol->pd_stat_fn) continue; - + - if (pol->pd_stat_fn(blkg->pd[i], s)) - has_stats = true; + pol->pd_stat_fn(blkg->pd[i], s); } - + - if (has_stats) - seq_printf(s, "\n"); + seq_puts(s, "\n"); } - + static int blkcg_print_stat(struct seq_file *sf, void *v) -diff --git a/block/blk-iocost.c b/block/blk-iocost.c -index eb7b0d6bd11f..381c28f9561e 100644 ---- a/block/blk-iocost.c -+++ b/block/blk-iocost.c -@@ -2995,13 +2995,13 @@ static void ioc_pd_free(struct blkg_policy_data *pd) - kfree(iocg); - } +-- +cgit --static bool ioc_pd_stat(struct blkg_policy_data *pd, struct seq_file *s) -+static void ioc_pd_stat(struct blkg_policy_data *pd, struct seq_file *s) - { - struct ioc_gq *iocg = pd_to_iocg(pd); - struct ioc *ioc = iocg->ioc; - - if (!ioc->enabled) -- return false; -+ return; - - if (iocg->level == 0) { - unsigned vp10k = DIV64_U64_ROUND_CLOSEST( -@@ -3017,7 +3017,6 @@ static bool ioc_pd_stat(struct blkg_policy_data *pd, struct seq_file *s) - iocg->last_stat.wait_us, - iocg->last_stat.indebt_us, - iocg->last_stat.indelay_us); -- return true; - } - - static u64 ioc_weight_prfill(struct seq_file *sf, struct blkg_policy_data *pd, -diff --git a/block/blk-iolatency.c b/block/blk-iolatency.c -index c0545f9da549..d33460f3d43d 100644 ---- a/block/blk-iolatency.c -+++ b/block/blk-iolatency.c -@@ -890,7 +890,7 @@ static int iolatency_print_limit(struct seq_file *sf, void *v) - return 0; - } - --static bool iolatency_ssd_stat(struct iolatency_grp *iolat, struct seq_file *s) -+static void iolatency_ssd_stat(struct iolatency_grp *iolat, struct seq_file *s) - { - struct latency_stat stat; - int cpu; -@@ -913,17 +913,16 @@ static bool iolatency_ssd_stat(struct iolatency_grp *iolat, struct seq_file *s) - (unsigned long long)stat.ps.missed, - (unsigned long long)stat.ps.total, - iolat->rq_depth.max_depth); -- return true; - } - --static bool iolatency_pd_stat(struct blkg_policy_data *pd, struct seq_file *s) -+static void iolatency_pd_stat(struct blkg_policy_data *pd, struct seq_file *s) - { - struct iolatency_grp *iolat = pd_to_lat(pd); - unsigned long long avg_lat; - unsigned long long cur_win; - - if (!blkcg_debug_stats) -- return false; -+ return; - - if (iolat->ssd) - return iolatency_ssd_stat(iolat, s); -@@ -936,7 +935,6 @@ static bool iolatency_pd_stat(struct blkg_policy_data *pd, struct seq_file *s) - else - seq_printf(s, " depth=%u avg_lat=%llu win=%llu", - iolat->rq_depth.max_depth, avg_lat, cur_win); -- return true; - } - - static struct blkg_policy_data *iolatency_pd_alloc(gfp_t gfp, -diff --git a/include/linux/blk-cgroup.h b/include/linux/blk-cgroup.h -index b4de2010fba5..132e05ed6935 100644 ---- a/include/linux/blk-cgroup.h -+++ b/include/linux/blk-cgroup.h -@@ -152,7 +152,7 @@ typedef void (blkcg_pol_online_pd_fn)(struct blkg_policy_data *pd); - typedef void (blkcg_pol_offline_pd_fn)(struct blkg_policy_data *pd); - typedef void (blkcg_pol_free_pd_fn)(struct blkg_policy_data *pd); - typedef void (blkcg_pol_reset_pd_stats_fn)(struct blkg_policy_data *pd); --typedef bool (blkcg_pol_stat_pd_fn)(struct blkg_policy_data *pd, -+typedef void (blkcg_pol_stat_pd_fn)(struct blkg_policy_data *pd, - struct seq_file *s); - - struct blkcg_policy { \ No newline at end of file diff --git a/linux b/linux index f443e37..4b0986a 160000 --- a/linux +++ b/linux @@ -1 +1 @@ -Subproject commit f443e374ae131c168a065ea1748feac6b2e76613 +Subproject commit 4b0986a3613c92f4ec1bdc7f60ec66fea135991f diff --git a/zfs b/zfs index 52bad4f..6c3c5fc 160000 --- a/zfs +++ b/zfs @@ -1 +1 @@ -Subproject commit 52bad4f23daaa5f827f802c8d05785a27b80275d +Subproject commit 6c3c5fcfbe27d9193cd131753cc7e47ee2784621