Procházet zdrojové kódy

Add Linux 5.18 (#276)

This change adds a release for Linux 5.18 for the Proxmox Edge kernels.
Fabian Mastenbroek před 3 roky
rodič
revize
60595234df

+ 1 - 1
.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

+ 3 - 3
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).

binární
crack.bundle


+ 2 - 2
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 <[email protected]>  Mon, 26 Mar 2022 20:00:00 +0000
 

+ 1 - 1
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

+ 9 - 9
debian/patches/pve/0005-net-core-downgrade-unregister_netdevice-refcount-lea.patch

@@ -10,15 +10,15 @@ Signed-off-by: Thomas Lamprecht <[email protected]>
  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);
+ 			}

+ 20 - 98
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 <[email protected]>
 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 <[email protected]>
 Fixes: 252c651a4c85 ("blk-cgroup: stop using seq_get_buf")
-Signed-off-by: Thomas Lamprecht <[email protected]>
+Acked-by: Tejun Heo <[email protected]>
+Link: https://lore.kernel.org/r/[email protected]
+Signed-off-by: Jens Axboe <[email protected]>
 ---
- 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);
- }
-
--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);
+-- 
+cgit 
 
- struct blkcg_policy {

+ 1 - 1
linux

@@ -1 +1 @@
-Subproject commit f443e374ae131c168a065ea1748feac6b2e76613
+Subproject commit 4b0986a3613c92f4ec1bdc7f60ec66fea135991f

+ 1 - 1
zfs

@@ -1 +1 @@
-Subproject commit 52bad4f23daaa5f827f802c8d05785a27b80275d
+Subproject commit 6c3c5fcfbe27d9193cd131753cc7e47ee2784621