all lists on lists.proxmox.com
 help / color / mirror / Atom feed
* [pve-devel] SPAM: [PATCH lxcfs] bump version to 4.0.7-pve1
@ 2021-04-14 12:24 Oguz Bektas
  2021-04-14 13:57 ` Thomas Lamprecht
  0 siblings, 1 reply; 4+ messages in thread
From: Oguz Bektas @ 2021-04-14 12:24 UTC (permalink / raw)
  To: pve-devel; +Cc: Oguz Bektas, Christian Brauner, Stéphane Graber

remove patches since they're already applied upstream

Signed-off-by: Oguz Bektas <o.bektas@proxmox.com>
---
 debian/changelog                              |   6 ++
 ...t-swap-values-when-no-limit-or-equal.patch |  38 -------
 .../pve/0002-README-clarify-SWAP.patch        |  71 ------------
 ...03-cgroups-Add-get_memory_swappiness.patch |  55 ----------
 .../pve/0004-swap-Fix-usage-reporting.patch   |  29 -----
 ...ly-report-usage-when-swappiness-is-0.patch | 102 ------------------
 .../pve/0006-swap-Tweak-meminfo-logic.patch   |  72 -------------
 ...p-Make-proc-swaps-match-proc-meminfo.patch |  89 ---------------
 ...0008-swap-Remove-now-unused-variable.patch |  38 -------
 debian/patches/series                         |   8 --
 lxcfs                                         |   2 +-
 11 files changed, 7 insertions(+), 503 deletions(-)
 delete mode 100644 debian/patches/pve/0001-meminfo-show-host-swap-values-when-no-limit-or-equal.patch
 delete mode 100644 debian/patches/pve/0002-README-clarify-SWAP.patch
 delete mode 100644 debian/patches/pve/0003-cgroups-Add-get_memory_swappiness.patch
 delete mode 100644 debian/patches/pve/0004-swap-Fix-usage-reporting.patch
 delete mode 100644 debian/patches/pve/0005-swap-Only-report-usage-when-swappiness-is-0.patch
 delete mode 100644 debian/patches/pve/0006-swap-Tweak-meminfo-logic.patch
 delete mode 100644 debian/patches/pve/0007-swap-Make-proc-swaps-match-proc-meminfo.patch
 delete mode 100644 debian/patches/pve/0008-swap-Remove-now-unused-variable.patch

diff --git a/debian/changelog b/debian/changelog
index b96eaaa..6d7c3f9 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+lxcfs (4.0.7-pve1) pve; urgency=medium
+
+  * update to 4.0.7
+
+ -- Proxmox Support Team <support@proxmox.com>  Tue, 13 Apr 2021 13:59:07 +0100
+
 lxcfs (4.0.6-pve1) pve; urgency=medium
 
   * update to 4.0.6
diff --git a/debian/patches/pve/0001-meminfo-show-host-swap-values-when-no-limit-or-equal.patch b/debian/patches/pve/0001-meminfo-show-host-swap-values-when-no-limit-or-equal.patch
deleted file mode 100644
index 8011eb1..0000000
--- a/debian/patches/pve/0001-meminfo-show-host-swap-values-when-no-limit-or-equal.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 8a0e1fd9d0c8866af5947ab2acee0c28e8827573 Mon Sep 17 00:00:00 2001
-From: Christian Brauner <christian.brauner@ubuntu.com>
-Date: Tue, 3 Nov 2020 22:27:05 +0100
-Subject: [PATCH lxcfs 1/8] meminfo: show host swap values when no limit or
- equal limits are set
-
-Closes: #434
-Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
----
- src/proc_fuse.c | 12 +++++++++++-
- 1 file changed, 11 insertions(+), 1 deletion(-)
-
-diff --git a/src/proc_fuse.c b/src/proc_fuse.c
-index 907f5c7..7bc1eb0 100644
---- a/src/proc_fuse.c
-+++ b/src/proc_fuse.c
-@@ -1243,7 +1243,17 @@ static int proc_meminfo_read(char *buf, size_t size, off_t offset,
- 
- 				sscanf(line + STRLITERALLEN("SwapTotal:"), "%" PRIu64, &hostswtotal);
- 
--				if (hostswtotal < swtotal) {
-+				/*
-+				 * If swtotal is 0 it should mean that
-+				 * memory.memsw.limit_in_bytes and
-+				 * memory.limit_in_bytes are both unlimited or
-+				 * both set to the same value. In both cases we
-+				 * have no idea what the technical swap limit
-+				 * is supposed to be (It's a shared limit
-+				 * anyway.) so fallback to the host's values in
-+				 * that case too.
-+				 */
-+				if ((hostswtotal < swtotal) || swtotal == 0) {
- 					swtotal = hostswtotal;
- 					host_swap = true;
- 				}
--- 
-2.20.1
-
diff --git a/debian/patches/pve/0002-README-clarify-SWAP.patch b/debian/patches/pve/0002-README-clarify-SWAP.patch
deleted file mode 100644
index 219527a..0000000
--- a/debian/patches/pve/0002-README-clarify-SWAP.patch
+++ /dev/null
@@ -1,71 +0,0 @@
-From 22ba5818484aa5ffaa26967d5d2ab228b2789205 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber@ubuntu.com>
-Date: Wed, 4 Nov 2020 23:06:00 -0500
-Subject: [PATCH lxcfs 2/8] README: clarify SWAP
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
----
- README.md | 47 +++++++++++++++++++++++++++++++++++++++++++++++
- 1 file changed, 47 insertions(+)
-
-diff --git a/README.md b/README.md
-index 5272a6c..3c638c3 100644
---- a/README.md
-+++ b/README.md
-@@ -104,3 +104,50 @@ docker run -it -m 256m --memory-swap 256m \
-  In a system with swap enabled, the parameter "-u" can be used to set all values in "meminfo" that refer to the swap to 0.
- 
-  sudo lxcfs -u /var/lib/lxcfs
-+
-+## Swap handling
-+If you noticed LXCFS not showing any SWAP in your container despite
-+having SWAP on your system, please read this section carefully and look
-+for instructions on how to enable SWAP accounting for your distribution.
-+
-+Swap cgroup handling on Linux is very confusing and there just isn't a
-+perfect way for LXCFS to handle it.
-+
-+Terminology used below:
-+ - RAM refers to `memory.usage_in_bytes` and `memory.limit_in_bytes`
-+ - RAM+SWAP refers to `memory.memsw.usage_in_bytes` and `memory.memsw.limit_in_bytes`
-+
-+The main issues are:
-+ - SWAP accounting is often opt-in and, requiring a special kernel boot
-+   time option (`swapaccount=1`) and/or special kernel build options
-+   (`CONFIG_MEMCG_SWAP`).
-+
-+ - Both a RAM limit and a RAM+SWAP limit can be set. The delta however
-+   isn't the available SWAP space as the kernel is still free to SWAP as
-+   much of the RAM as it feels like. This makes it impossible to render
-+   a SWAP device size as using the delta between RAM and RAM+SWAP for that
-+   wouldn't account for the kernel swapping more pages, leading to swap
-+   usage exceeding swap total.
-+
-+ - It's impossible to disable SWAP in a given container. The closest
-+   that can be done is setting swappiness down to 0 which severly limits
-+   the risk of swapping pages but doesn't eliminate it.
-+
-+As a result, LXCFS had to make some compromise which go as follow:
-+ - When SWAP accounting isn't enabled, no SWAP space is reported at all.
-+   This is simply because there is no way to know the SWAP consumption.
-+   The container may very much be using some SWAP though, there's just
-+   no way to know how much of it and showing a SWAP device would require
-+   some kind of SWAP usage to be reported. Showing the host value would be
-+   completely wrong, showing a 0 value would be equallty wrong.
-+
-+ - Because SWAP usage for a given container can exceed the delta between
-+   RAM and RAM+SWAP, the SWAP size is always reported to be the smaller of
-+   the RAM+SWAP limit or the host SWAP device itself. This ensures that at no
-+   point SWAP usage will be allowed to exceed the SWAP size.
-+
-+ - If the swappiness is set to 0 and there is no SWAP usage, no SWAP is reported.
-+   However if there is SWAP usage, then a SWAP device of the size of the
-+   usage (100% full) is reported. This provides adequate reporting of
-+   the memory consumption while preventing applications from assuming more
-+   SWAP is available.
--- 
-2.20.1
-
diff --git a/debian/patches/pve/0003-cgroups-Add-get_memory_swappiness.patch b/debian/patches/pve/0003-cgroups-Add-get_memory_swappiness.patch
deleted file mode 100644
index 0bfdf81..0000000
--- a/debian/patches/pve/0003-cgroups-Add-get_memory_swappiness.patch
+++ /dev/null
@@ -1,55 +0,0 @@
-From 5fb18e7b8ab9ee0b1af375aa13135cf0dfe30874 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber@ubuntu.com>
-Date: Thu, 5 Nov 2020 15:17:02 -0500
-Subject: [PATCH lxcfs 3/8] cgroups: Add get_memory_swappiness
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
----
- src/cgroups/cgfsng.c | 7 +++++++
- src/cgroups/cgroup.h | 2 ++
- 2 files changed, 9 insertions(+)
-
-diff --git a/src/cgroups/cgfsng.c b/src/cgroups/cgfsng.c
-index 824b0e7..d772f25 100644
---- a/src/cgroups/cgfsng.c
-+++ b/src/cgroups/cgfsng.c
-@@ -620,6 +620,12 @@ static int cgfsng_get_memory_max(struct cgroup_ops *ops, const char *cgroup,
- 	return cgfsng_get_memory(ops, cgroup, "memory.max", value);
- }
- 
-+static int cgfsng_get_memory_swappiness(struct cgroup_ops *ops, const char *cgroup,
-+				 char **value)
-+{
-+	return cgfsng_get_memory(ops, cgroup, "memory.swappiness", value);
-+}
-+
- static int cgfsng_get_memory_swap_max(struct cgroup_ops *ops,
- 				      const char *cgroup, char **value)
- {
-@@ -1011,6 +1017,7 @@ struct cgroup_ops *cgfsng_ops_init(void)
- 	cgfsng_ops->get_memory_stats_fd = cgfsng_get_memory_stats_fd;
- 	cgfsng_ops->get_memory_stats = cgfsng_get_memory_stats;
- 	cgfsng_ops->get_memory_max = cgfsng_get_memory_max;
-+	cgfsng_ops->get_memory_swappiness = cgfsng_get_memory_swappiness;
- 	cgfsng_ops->get_memory_swap_max = cgfsng_get_memory_swap_max;
- 	cgfsng_ops->get_memory_current = cgfsng_get_memory_current;
- 	cgfsng_ops->get_memory_swap_current = cgfsng_get_memory_swap_current;
-diff --git a/src/cgroups/cgroup.h b/src/cgroups/cgroup.h
-index ad4a3ae..f4b5d19 100644
---- a/src/cgroups/cgroup.h
-+++ b/src/cgroups/cgroup.h
-@@ -151,6 +151,8 @@ struct cgroup_ops {
- 				       const char *cgroup, char **value);
- 	int (*get_memory_max)(struct cgroup_ops *ops, const char *cgroup,
- 			      char **value);
-+	int (*get_memory_swappiness)(struct cgroup_ops *ops, const char *cgroup,
-+			      char **value);
- 	int (*get_memory_swap_max)(struct cgroup_ops *ops, const char *cgroup,
- 				   char **value);
- 	bool (*can_use_swap)(struct cgroup_ops *ops);
--- 
-2.20.1
-
diff --git a/debian/patches/pve/0004-swap-Fix-usage-reporting.patch b/debian/patches/pve/0004-swap-Fix-usage-reporting.patch
deleted file mode 100644
index ec9d936..0000000
--- a/debian/patches/pve/0004-swap-Fix-usage-reporting.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From 205df44462530825ded3ffe3e2d6d68cb716287d Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber@ubuntu.com>
-Date: Thu, 5 Nov 2020 15:17:40 -0500
-Subject: [PATCH lxcfs 4/8] swap: Fix usage reporting
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
----
- src/proc_fuse.c | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/src/proc_fuse.c b/src/proc_fuse.c
-index 7bc1eb0..0ad21b9 100644
---- a/src/proc_fuse.c
-+++ b/src/proc_fuse.c
-@@ -407,7 +407,7 @@ static int proc_swaps_read(char *buf, size_t size, off_t offset,
- 	if (swtotal > 0) {
- 		l = snprintf(d->buf + total_len, d->size - total_len,
- 			     "none%*svirtual\t\t%" PRIu64 "\t%" PRIu64 "\t0\n",
--			     36, " ", swtotal, swfree);
-+			     36, " ", swtotal, swusage);
- 		total_len += l;
- 	}
- 
--- 
-2.20.1
-
diff --git a/debian/patches/pve/0005-swap-Only-report-usage-when-swappiness-is-0.patch b/debian/patches/pve/0005-swap-Only-report-usage-when-swappiness-is-0.patch
deleted file mode 100644
index 9bf9d63..0000000
--- a/debian/patches/pve/0005-swap-Only-report-usage-when-swappiness-is-0.patch
+++ /dev/null
@@ -1,102 +0,0 @@
-From 4538af183c2f48563681f303c54cef0430741b83 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber@ubuntu.com>
-Date: Thu, 5 Nov 2020 15:20:26 -0500
-Subject: [PATCH lxcfs 5/8] swap: Only report usage when swappiness is 0
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
----
- src/proc_fuse.c | 28 ++++++++++++++++++++++++----
- 1 file changed, 24 insertions(+), 4 deletions(-)
-
-diff --git a/src/proc_fuse.c b/src/proc_fuse.c
-index 0ad21b9..002aac9 100644
---- a/src/proc_fuse.c
-+++ b/src/proc_fuse.c
-@@ -318,13 +318,14 @@ static inline bool startswith(const char *line, const char *pref)
- static int proc_swaps_read(char *buf, size_t size, off_t offset,
- 			   struct fuse_file_info *fi)
- {
--	__do_free char *cgroup = NULL, *memusage_str = NULL, *memswusage_str = NULL;
-+	__do_free char *cgroup = NULL, *memusage_str = NULL,
-+		 *memswusage_str = NULL, *memswpriority_str = NULL;
- 	struct fuse_context *fc = fuse_get_context();
- 	struct lxcfs_opts *opts = (struct lxcfs_opts *)fuse_get_context()->private_data;
- 	bool wants_swap = opts && !opts->swap_off && liblxcfs_can_use_swap();
- 	struct file_info *d = INTTYPE_TO_PTR(fi->fh);
- 	uint64_t memswlimit = 0, memlimit = 0, memusage = 0, memswusage = 0,
--		 swtotal = 0, swfree = 0, swusage = 0;
-+		 swtotal = 0, swfree = 0, swusage = 0, memswpriority = 1;
- 	ssize_t total_len = 0;
- 	ssize_t l = 0;
- 	char *cache = d->buf;
-@@ -380,6 +381,10 @@ static int proc_swaps_read(char *buf, size_t size, off_t offset,
- 				if (swtotal >= swusage)
- 					swfree = swtotal - swusage;
- 			}
-+
-+			ret = cgroup_ops->get_memory_swappiness(cgroup_ops, cgroup, &memswpriority_str);
-+			if (ret >= 0)
-+				safe_uint64(memswpriority_str, &memswpriority, 10);
- 		}
- 	}
- 
-@@ -404,6 +409,11 @@ static int proc_swaps_read(char *buf, size_t size, off_t offset,
- 		}
- 	}
- 
-+	// When swappiness is 0, pretend we can't swap.
-+	if (memswpriority == 0) {
-+		swtotal = swusage;
-+	}
-+
- 	if (swtotal > 0) {
- 		l = snprintf(d->buf + total_len, d->size - total_len,
- 			     "none%*svirtual\t\t%" PRIu64 "\t%" PRIu64 "\t0\n",
-@@ -1136,7 +1146,7 @@ static int proc_meminfo_read(char *buf, size_t size, off_t offset,
- 			     struct fuse_file_info *fi)
- {
- 	__do_free char *cgroup = NULL, *line = NULL, *memusage_str = NULL,
--		       *memswusage_str = NULL;
-+		       *memswusage_str = NULL, *memswpriority_str = NULL;
- 	__do_free void *fopen_cache = NULL;
- 	__do_fclose FILE *f = NULL;
- 	struct fuse_context *fc = fuse_get_context();
-@@ -1144,7 +1154,8 @@ static int proc_meminfo_read(char *buf, size_t size, off_t offset,
- 	bool wants_swap = opts && !opts->swap_off && liblxcfs_can_use_swap(), host_swap = false;
- 	struct file_info *d = INTTYPE_TO_PTR(fi->fh);
- 	uint64_t memlimit = 0, memusage = 0, memswlimit = 0, memswusage = 0,
--		 hosttotal = 0, swfree = 0, swusage = 0, swtotal = 0;
-+		 hosttotal = 0, swfree = 0, swusage = 0, swtotal = 0,
-+		 memswpriority = 1;
- 	struct memory_stat mstat = {};
- 	size_t linelen = 0, total_len = 0;
- 	char *cache = d->buf;
-@@ -1209,6 +1220,10 @@ static int proc_meminfo_read(char *buf, size_t size, off_t offset,
- 					swusage = (memswusage - memusage) / 1024;
- 			}
- 		}
-+
-+		ret = cgroup_ops->get_memory_swappiness(cgroup_ops, cgroup, &memswpriority_str);
-+		if (ret >= 0)
-+			safe_uint64(memswpriority_str, &memswpriority, 10);
- 	}
- 
- 	f = fopen_cached("/proc/meminfo", "re", &fopen_cache);
-@@ -1257,6 +1272,11 @@ static int proc_meminfo_read(char *buf, size_t size, off_t offset,
- 					swtotal = hostswtotal;
- 					host_swap = true;
- 				}
-+
-+				/* When swappiness is 0, pretend we can't swap. */
-+				if (memswpriority == 0) {
-+					swtotal = swusage;
-+				}
- 			}
- 
- 			snprintf(lbuf, 100, "SwapTotal:      %8" PRIu64 " kB\n", swtotal);
--- 
-2.20.1
-
diff --git a/debian/patches/pve/0006-swap-Tweak-meminfo-logic.patch b/debian/patches/pve/0006-swap-Tweak-meminfo-logic.patch
deleted file mode 100644
index 987af6c..0000000
--- a/debian/patches/pve/0006-swap-Tweak-meminfo-logic.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-From 1e92c18e409f37f79a24f61623b9d9c4d84e3280 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber@ubuntu.com>
-Date: Thu, 5 Nov 2020 15:30:27 -0500
-Subject: [PATCH lxcfs 6/8] swap: Tweak meminfo logic
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
----
- src/proc_fuse.c | 30 +++++++++---------------------
- 1 file changed, 9 insertions(+), 21 deletions(-)
-
-diff --git a/src/proc_fuse.c b/src/proc_fuse.c
-index 002aac9..4c555ec 100644
---- a/src/proc_fuse.c
-+++ b/src/proc_fuse.c
-@@ -1151,7 +1151,7 @@ static int proc_meminfo_read(char *buf, size_t size, off_t offset,
- 	__do_fclose FILE *f = NULL;
- 	struct fuse_context *fc = fuse_get_context();
- 	struct lxcfs_opts *opts = (struct lxcfs_opts *)fuse_get_context()->private_data;
--	bool wants_swap = opts && !opts->swap_off && liblxcfs_can_use_swap(), host_swap = false;
-+	bool wants_swap = opts && !opts->swap_off && liblxcfs_can_use_swap();
- 	struct file_info *d = INTTYPE_TO_PTR(fi->fh);
- 	uint64_t memlimit = 0, memusage = 0, memswlimit = 0, memswusage = 0,
- 		 hosttotal = 0, swfree = 0, swusage = 0, swtotal = 0,
-@@ -1258,19 +1258,14 @@ static int proc_meminfo_read(char *buf, size_t size, off_t offset,
- 
- 				sscanf(line + STRLITERALLEN("SwapTotal:"), "%" PRIu64, &hostswtotal);
- 
--				/*
--				 * If swtotal is 0 it should mean that
--				 * memory.memsw.limit_in_bytes and
--				 * memory.limit_in_bytes are both unlimited or
--				 * both set to the same value. In both cases we
--				 * have no idea what the technical swap limit
--				 * is supposed to be (It's a shared limit
--				 * anyway.) so fallback to the host's values in
--				 * that case too.
--				 */
--				if ((hostswtotal < swtotal) || swtotal == 0) {
-+				/* The total amount of swap is always reported to be the
-+				   lesser of the RAM+SWAP limit or the SWAP device size.
-+				   This is because the kernel can swap as much as it
-+				   wants and not only up to swtotal. */
-+
-+				swtotal = memlimit + swtotal;
-+				if (hostswtotal < swtotal) {
- 					swtotal = hostswtotal;
--					host_swap = true;
- 				}
- 
- 				/* When swappiness is 0, pretend we can't swap. */
-@@ -1283,14 +1278,7 @@ static int proc_meminfo_read(char *buf, size_t size, off_t offset,
- 			printme = lbuf;
- 		} else if (startswith(line, "SwapFree:")) {
- 			if (wants_swap) {
--				uint64_t hostswfree = 0;
--
--				if (host_swap) {
--					sscanf(line + STRLITERALLEN("SwapFree:"), "%" PRIu64, &hostswfree);
--					swfree = hostswfree;
--				} else if (swtotal >= swusage) {
--					swfree = swtotal - swusage;
--				}
-+				swfree = swtotal - swusage;
- 			}
- 
- 			snprintf(lbuf, 100, "SwapFree:       %8" PRIu64 " kB\n", swfree);
--- 
-2.20.1
-
diff --git a/debian/patches/pve/0007-swap-Make-proc-swaps-match-proc-meminfo.patch b/debian/patches/pve/0007-swap-Make-proc-swaps-match-proc-meminfo.patch
deleted file mode 100644
index 07945e2..0000000
--- a/debian/patches/pve/0007-swap-Make-proc-swaps-match-proc-meminfo.patch
+++ /dev/null
@@ -1,89 +0,0 @@
-From a46b7b6978867101e79db1e1a51d30f2a02176ec Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber@ubuntu.com>
-Date: Thu, 5 Nov 2020 15:43:01 -0500
-Subject: [PATCH lxcfs 7/8] swap: Make /proc/swaps match /proc/meminfo
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
----
- src/proc_fuse.c | 47 ++++++++++++++++++++++++++++-------------------
- 1 file changed, 28 insertions(+), 19 deletions(-)
-
-diff --git a/src/proc_fuse.c b/src/proc_fuse.c
-index 4c555ec..fc69789 100644
---- a/src/proc_fuse.c
-+++ b/src/proc_fuse.c
-@@ -325,11 +325,16 @@ static int proc_swaps_read(char *buf, size_t size, off_t offset,
- 	bool wants_swap = opts && !opts->swap_off && liblxcfs_can_use_swap();
- 	struct file_info *d = INTTYPE_TO_PTR(fi->fh);
- 	uint64_t memswlimit = 0, memlimit = 0, memusage = 0, memswusage = 0,
--		 swtotal = 0, swfree = 0, swusage = 0, memswpriority = 1;
-+		 swtotal = 0, swfree = 0, swusage = 0, memswpriority = 1
-+		 hostswtotal = 0, hostswfree = 0;
- 	ssize_t total_len = 0;
- 	ssize_t l = 0;
- 	char *cache = d->buf;
- 	int ret;
-+	__do_free char *line = NULL;
-+	__do_free void *fopen_cache = NULL;
-+	__do_fclose FILE *f = NULL;
-+	size_t linelen = 0;
- 
- 	if (offset) {
- 		int left;
-@@ -390,28 +395,32 @@ static int proc_swaps_read(char *buf, size_t size, off_t offset,
- 
- 	total_len = snprintf(d->buf, d->size, "Filename\t\t\t\tType\t\tSize\tUsed\tPriority\n");
- 
--	/* When no mem + swap limit is specified or swapaccount=0*/
--	if (!memswlimit) {
--		__do_free char *line = NULL;
--		__do_free void *fopen_cache = NULL;
--		__do_fclose FILE *f = NULL;
--		size_t linelen = 0;
-+	/* Read host total and free values */
-+	f = fopen_cached("/proc/meminfo", "re", &fopen_cache);
-+	if (!f)
-+		return 0;
- 
--		f = fopen_cached("/proc/meminfo", "re", &fopen_cache);
--		if (!f)
--			return 0;
-+	while (getline(&line, &linelen, f) != -1) {
-+		if (startswith(line, "SwapTotal:"))
-+			sscanf(line, "SwapTotal:      %8" PRIu64 " kB", &hostswtotal);
-+		else if (startswith(line, "SwapFree:"))
-+			sscanf(line, "SwapFree:      %8" PRIu64 " kB", &hostswfree);
-+	}
- 
--		while (getline(&line, &linelen, f) != -1) {
--			if (startswith(line, "SwapTotal:"))
--				sscanf(line, "SwapTotal:      %8" PRIu64 " kB", &swtotal);
--			else if (startswith(line, "SwapFree:"))
--				sscanf(line, "SwapFree:      %8" PRIu64 " kB", &swfree);
-+	if (wants_swap) {
-+		/* The total amount of swap is always reported to be the
-+		   lesser of the RAM+SWAP limit or the SWAP device size.
-+		   This is because the kernel can swap as much as it
-+		   wants and not only up to swtotal. */
-+		swtotal = memlimit / 1024 + swtotal;
-+		if (hostswtotal < swtotal) {
-+			swtotal = hostswtotal;
- 		}
--	}
- 
--	// When swappiness is 0, pretend we can't swap.
--	if (memswpriority == 0) {
--		swtotal = swusage;
-+		/* When swappiness is 0, pretend we can't swap. */
-+		if (memswpriority == 0) {
-+			swtotal = swusage;
-+		}
- 	}
- 
- 	if (swtotal > 0) {
--- 
-2.20.1
-
diff --git a/debian/patches/pve/0008-swap-Remove-now-unused-variable.patch b/debian/patches/pve/0008-swap-Remove-now-unused-variable.patch
deleted file mode 100644
index e9a75eb..0000000
--- a/debian/patches/pve/0008-swap-Remove-now-unused-variable.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 1d3a4a0dd7411d34f10e47c1d850213a63a3581e Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber@ubuntu.com>
-Date: Thu, 5 Nov 2020 15:46:07 -0500
-Subject: [PATCH lxcfs 8/8] swap: Remove now unused variable
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
----
- src/proc_fuse.c | 4 +---
- 1 file changed, 1 insertion(+), 3 deletions(-)
-
-diff --git a/src/proc_fuse.c b/src/proc_fuse.c
-index fc69789..9bf963b 100644
---- a/src/proc_fuse.c
-+++ b/src/proc_fuse.c
-@@ -325,7 +325,7 @@ static int proc_swaps_read(char *buf, size_t size, off_t offset,
- 	bool wants_swap = opts && !opts->swap_off && liblxcfs_can_use_swap();
- 	struct file_info *d = INTTYPE_TO_PTR(fi->fh);
- 	uint64_t memswlimit = 0, memlimit = 0, memusage = 0, memswusage = 0,
--		 swtotal = 0, swfree = 0, swusage = 0, memswpriority = 1
-+		 swtotal = 0, swusage = 0, memswpriority = 1,
- 		 hostswtotal = 0, hostswfree = 0;
- 	ssize_t total_len = 0;
- 	ssize_t l = 0;
-@@ -383,8 +383,6 @@ static int proc_swaps_read(char *buf, size_t size, off_t offset,
- 					swusage = 0;
- 				else
- 					swusage = (memswusage - memusage) / 1024;
--				if (swtotal >= swusage)
--					swfree = swtotal - swusage;
- 			}
- 
- 			ret = cgroup_ops->get_memory_swappiness(cgroup_ops, cgroup, &memswpriority_str);
--- 
-2.20.1
-
diff --git a/debian/patches/series b/debian/patches/series
index b4bddb8..bf650b4 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,9 +1 @@
 do-not-start-without-lxcfs.patch
-pve/0001-meminfo-show-host-swap-values-when-no-limit-or-equal.patch
-pve/0002-README-clarify-SWAP.patch
-pve/0003-cgroups-Add-get_memory_swappiness.patch
-pve/0004-swap-Fix-usage-reporting.patch
-pve/0005-swap-Only-report-usage-when-swappiness-is-0.patch
-pve/0006-swap-Tweak-meminfo-logic.patch
-pve/0007-swap-Make-proc-swaps-match-proc-meminfo.patch
-pve/0008-swap-Remove-now-unused-variable.patch
diff --git a/lxcfs b/lxcfs
index db61421..725e90b 160000
--- a/lxcfs
+++ b/lxcfs
@@ -1 +1 @@
-Subproject commit db61421bf1a847f39d404f7acc2cbeb6fba89eae
+Subproject commit 725e90b5d67e264ee4a7ff0851c79728feab1da8
-- 
2.20.1




^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [pve-devel] SPAM: [PATCH lxcfs] bump version to 4.0.7-pve1
  2021-04-14 12:24 [pve-devel] SPAM: [PATCH lxcfs] bump version to 4.0.7-pve1 Oguz Bektas
@ 2021-04-14 13:57 ` Thomas Lamprecht
  2021-04-15  9:44   ` Oguz Bektas
  0 siblings, 1 reply; 4+ messages in thread
From: Thomas Lamprecht @ 2021-04-14 13:57 UTC (permalink / raw)
  To: Proxmox VE development discussion, Oguz Bektas; +Cc: Stéphane Graber

On 14.04.21 14:24, Oguz Bektas wrote:
> remove patches since they're already applied upstream
> 

please ensure that your git-send-email does not picks up S-b, R-b, etc. git trailers
of patches by patches and wrongly CC's those people like happened here.

Further, separate debian/changelog entries from the actual changes, in general
rather not send updates to debian/changelog.

It would be also good to have a short summary of changes/fixes/features from that
new release, i.e., why should be update (what's fixed, or what's changed and thus
a potential regression?)...

> Signed-off-by: Oguz Bektas <o.bektas@proxmox.com>
> ---
>  debian/changelog                              |   6 ++
>  ...t-swap-values-when-no-limit-or-equal.patch |  38 -------
>  .../pve/0002-README-clarify-SWAP.patch        |  71 ------------
>  ...03-cgroups-Add-get_memory_swappiness.patch |  55 ----------
>  .../pve/0004-swap-Fix-usage-reporting.patch   |  29 -----
>  ...ly-report-usage-when-swappiness-is-0.patch | 102 ------------------
>  .../pve/0006-swap-Tweak-meminfo-logic.patch   |  72 -------------
>  ...p-Make-proc-swaps-match-proc-meminfo.patch |  89 ---------------
>  ...0008-swap-Remove-now-unused-variable.patch |  38 -------
>  debian/patches/series                         |   8 --
>  lxcfs                                         |   2 +-
>  11 files changed, 7 insertions(+), 503 deletions(-)
>  delete mode 100644 debian/patches/pve/0001-meminfo-show-host-swap-values-when-no-limit-or-equal.patch
>  delete mode 100644 debian/patches/pve/0002-README-clarify-SWAP.patch
>  delete mode 100644 debian/patches/pve/0003-cgroups-Add-get_memory_swappiness.patch
>  delete mode 100644 debian/patches/pve/0004-swap-Fix-usage-reporting.patch
>  delete mode 100644 debian/patches/pve/0005-swap-Only-report-usage-when-swappiness-is-0.patch
>  delete mode 100644 debian/patches/pve/0006-swap-Tweak-meminfo-logic.patch
>  delete mode 100644 debian/patches/pve/0007-swap-Make-proc-swaps-match-proc-meminfo.patch
>  delete mode 100644 debian/patches/pve/0008-swap-Remove-now-unused-variable.patch
> 
> diff --git a/debian/changelog b/debian/changelog
> index b96eaaa..6d7c3f9 100644
> --- a/debian/changelog
> +++ b/debian/changelog
> @@ -1,3 +1,9 @@
> +lxcfs (4.0.7-pve1) pve; urgency=medium
> +
> +  * update to 4.0.7
> +
> + -- Proxmox Support Team <support@proxmox.com>  Tue, 13 Apr 2021 13:59:07 +0100
> +
>  lxcfs (4.0.6-pve1) pve; urgency=medium
>  
>    * update to 4.0.6
> diff --git a/debian/patches/pve/0001-meminfo-show-host-swap-values-when-no-limit-or-equal.patch b/debian/patches/pve/0001-meminfo-show-host-swap-values-when-no-limit-or-equal.patch
> deleted file mode 100644
> index 8011eb1..0000000
> --- a/debian/patches/pve/0001-meminfo-show-host-swap-values-when-no-limit-or-equal.patch
> +++ /dev/null
> @@ -1,38 +0,0 @@
> -From 8a0e1fd9d0c8866af5947ab2acee0c28e8827573 Mon Sep 17 00:00:00 2001
> -From: Christian Brauner <christian.brauner@ubuntu.com>
> -Date: Tue, 3 Nov 2020 22:27:05 +0100
> -Subject: [PATCH lxcfs 1/8] meminfo: show host swap values when no limit or
> - equal limits are set
> -
> -Closes: #434
> -Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
> ----
> - src/proc_fuse.c | 12 +++++++++++-
> - 1 file changed, 11 insertions(+), 1 deletion(-)
> -
> -diff --git a/src/proc_fuse.c b/src/proc_fuse.c
> -index 907f5c7..7bc1eb0 100644
> ---- a/src/proc_fuse.c
> -+++ b/src/proc_fuse.c
> -@@ -1243,7 +1243,17 @@ static int proc_meminfo_read(char *buf, size_t size, off_t offset,
> - 
> - 				sscanf(line + STRLITERALLEN("SwapTotal:"), "%" PRIu64, &hostswtotal);
> - 
> --				if (hostswtotal < swtotal) {
> -+				/*
> -+				 * If swtotal is 0 it should mean that
> -+				 * memory.memsw.limit_in_bytes and
> -+				 * memory.limit_in_bytes are both unlimited or
> -+				 * both set to the same value. In both cases we
> -+				 * have no idea what the technical swap limit
> -+				 * is supposed to be (It's a shared limit
> -+				 * anyway.) so fallback to the host's values in
> -+				 * that case too.
> -+				 */
> -+				if ((hostswtotal < swtotal) || swtotal == 0) {
> - 					swtotal = hostswtotal;
> - 					host_swap = true;
> - 				}
> --- 
> -2.20.1
> -
> diff --git a/debian/patches/pve/0002-README-clarify-SWAP.patch b/debian/patches/pve/0002-README-clarify-SWAP.patch
> deleted file mode 100644
> index 219527a..0000000
> --- a/debian/patches/pve/0002-README-clarify-SWAP.patch
> +++ /dev/null
> @@ -1,71 +0,0 @@
> -From 22ba5818484aa5ffaa26967d5d2ab228b2789205 Mon Sep 17 00:00:00 2001
> -From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber@ubuntu.com>
> -Date: Wed, 4 Nov 2020 23:06:00 -0500
> -Subject: [PATCH lxcfs 2/8] README: clarify SWAP
> -MIME-Version: 1.0
> -Content-Type: text/plain; charset=UTF-8
> -Content-Transfer-Encoding: 8bit
> -
> -Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
> ----
> - README.md | 47 +++++++++++++++++++++++++++++++++++++++++++++++
> - 1 file changed, 47 insertions(+)
> -
> -diff --git a/README.md b/README.md
> -index 5272a6c..3c638c3 100644
> ---- a/README.md
> -+++ b/README.md
> -@@ -104,3 +104,50 @@ docker run -it -m 256m --memory-swap 256m \
> -  In a system with swap enabled, the parameter "-u" can be used to set all values in "meminfo" that refer to the swap to 0.
> - 
> -  sudo lxcfs -u /var/lib/lxcfs
> -+
> -+## Swap handling
> -+If you noticed LXCFS not showing any SWAP in your container despite
> -+having SWAP on your system, please read this section carefully and look
> -+for instructions on how to enable SWAP accounting for your distribution.
> -+
> -+Swap cgroup handling on Linux is very confusing and there just isn't a
> -+perfect way for LXCFS to handle it.
> -+
> -+Terminology used below:
> -+ - RAM refers to `memory.usage_in_bytes` and `memory.limit_in_bytes`
> -+ - RAM+SWAP refers to `memory.memsw.usage_in_bytes` and `memory.memsw.limit_in_bytes`
> -+
> -+The main issues are:
> -+ - SWAP accounting is often opt-in and, requiring a special kernel boot
> -+   time option (`swapaccount=1`) and/or special kernel build options
> -+   (`CONFIG_MEMCG_SWAP`).
> -+
> -+ - Both a RAM limit and a RAM+SWAP limit can be set. The delta however
> -+   isn't the available SWAP space as the kernel is still free to SWAP as
> -+   much of the RAM as it feels like. This makes it impossible to render
> -+   a SWAP device size as using the delta between RAM and RAM+SWAP for that
> -+   wouldn't account for the kernel swapping more pages, leading to swap
> -+   usage exceeding swap total.
> -+
> -+ - It's impossible to disable SWAP in a given container. The closest
> -+   that can be done is setting swappiness down to 0 which severly limits
> -+   the risk of swapping pages but doesn't eliminate it.
> -+
> -+As a result, LXCFS had to make some compromise which go as follow:
> -+ - When SWAP accounting isn't enabled, no SWAP space is reported at all.
> -+   This is simply because there is no way to know the SWAP consumption.
> -+   The container may very much be using some SWAP though, there's just
> -+   no way to know how much of it and showing a SWAP device would require
> -+   some kind of SWAP usage to be reported. Showing the host value would be
> -+   completely wrong, showing a 0 value would be equallty wrong.
> -+
> -+ - Because SWAP usage for a given container can exceed the delta between
> -+   RAM and RAM+SWAP, the SWAP size is always reported to be the smaller of
> -+   the RAM+SWAP limit or the host SWAP device itself. This ensures that at no
> -+   point SWAP usage will be allowed to exceed the SWAP size.
> -+
> -+ - If the swappiness is set to 0 and there is no SWAP usage, no SWAP is reported.
> -+   However if there is SWAP usage, then a SWAP device of the size of the
> -+   usage (100% full) is reported. This provides adequate reporting of
> -+   the memory consumption while preventing applications from assuming more
> -+   SWAP is available.
> --- 
> -2.20.1
> -
> diff --git a/debian/patches/pve/0003-cgroups-Add-get_memory_swappiness.patch b/debian/patches/pve/0003-cgroups-Add-get_memory_swappiness.patch
> deleted file mode 100644
> index 0bfdf81..0000000
> --- a/debian/patches/pve/0003-cgroups-Add-get_memory_swappiness.patch
> +++ /dev/null
> @@ -1,55 +0,0 @@
> -From 5fb18e7b8ab9ee0b1af375aa13135cf0dfe30874 Mon Sep 17 00:00:00 2001
> -From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber@ubuntu.com>
> -Date: Thu, 5 Nov 2020 15:17:02 -0500
> -Subject: [PATCH lxcfs 3/8] cgroups: Add get_memory_swappiness
> -MIME-Version: 1.0
> -Content-Type: text/plain; charset=UTF-8
> -Content-Transfer-Encoding: 8bit
> -
> -Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
> ----
> - src/cgroups/cgfsng.c | 7 +++++++
> - src/cgroups/cgroup.h | 2 ++
> - 2 files changed, 9 insertions(+)
> -
> -diff --git a/src/cgroups/cgfsng.c b/src/cgroups/cgfsng.c
> -index 824b0e7..d772f25 100644
> ---- a/src/cgroups/cgfsng.c
> -+++ b/src/cgroups/cgfsng.c
> -@@ -620,6 +620,12 @@ static int cgfsng_get_memory_max(struct cgroup_ops *ops, const char *cgroup,
> - 	return cgfsng_get_memory(ops, cgroup, "memory.max", value);
> - }
> - 
> -+static int cgfsng_get_memory_swappiness(struct cgroup_ops *ops, const char *cgroup,
> -+				 char **value)
> -+{
> -+	return cgfsng_get_memory(ops, cgroup, "memory.swappiness", value);
> -+}
> -+
> - static int cgfsng_get_memory_swap_max(struct cgroup_ops *ops,
> - 				      const char *cgroup, char **value)
> - {
> -@@ -1011,6 +1017,7 @@ struct cgroup_ops *cgfsng_ops_init(void)
> - 	cgfsng_ops->get_memory_stats_fd = cgfsng_get_memory_stats_fd;
> - 	cgfsng_ops->get_memory_stats = cgfsng_get_memory_stats;
> - 	cgfsng_ops->get_memory_max = cgfsng_get_memory_max;
> -+	cgfsng_ops->get_memory_swappiness = cgfsng_get_memory_swappiness;
> - 	cgfsng_ops->get_memory_swap_max = cgfsng_get_memory_swap_max;
> - 	cgfsng_ops->get_memory_current = cgfsng_get_memory_current;
> - 	cgfsng_ops->get_memory_swap_current = cgfsng_get_memory_swap_current;
> -diff --git a/src/cgroups/cgroup.h b/src/cgroups/cgroup.h
> -index ad4a3ae..f4b5d19 100644
> ---- a/src/cgroups/cgroup.h
> -+++ b/src/cgroups/cgroup.h
> -@@ -151,6 +151,8 @@ struct cgroup_ops {
> - 				       const char *cgroup, char **value);
> - 	int (*get_memory_max)(struct cgroup_ops *ops, const char *cgroup,
> - 			      char **value);
> -+	int (*get_memory_swappiness)(struct cgroup_ops *ops, const char *cgroup,
> -+			      char **value);
> - 	int (*get_memory_swap_max)(struct cgroup_ops *ops, const char *cgroup,
> - 				   char **value);
> - 	bool (*can_use_swap)(struct cgroup_ops *ops);
> --- 
> -2.20.1
> -
> diff --git a/debian/patches/pve/0004-swap-Fix-usage-reporting.patch b/debian/patches/pve/0004-swap-Fix-usage-reporting.patch
> deleted file mode 100644
> index ec9d936..0000000
> --- a/debian/patches/pve/0004-swap-Fix-usage-reporting.patch
> +++ /dev/null
> @@ -1,29 +0,0 @@
> -From 205df44462530825ded3ffe3e2d6d68cb716287d Mon Sep 17 00:00:00 2001
> -From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber@ubuntu.com>
> -Date: Thu, 5 Nov 2020 15:17:40 -0500
> -Subject: [PATCH lxcfs 4/8] swap: Fix usage reporting
> -MIME-Version: 1.0
> -Content-Type: text/plain; charset=UTF-8
> -Content-Transfer-Encoding: 8bit
> -
> -Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
> ----
> - src/proc_fuse.c | 2 +-
> - 1 file changed, 1 insertion(+), 1 deletion(-)
> -
> -diff --git a/src/proc_fuse.c b/src/proc_fuse.c
> -index 7bc1eb0..0ad21b9 100644
> ---- a/src/proc_fuse.c
> -+++ b/src/proc_fuse.c
> -@@ -407,7 +407,7 @@ static int proc_swaps_read(char *buf, size_t size, off_t offset,
> - 	if (swtotal > 0) {
> - 		l = snprintf(d->buf + total_len, d->size - total_len,
> - 			     "none%*svirtual\t\t%" PRIu64 "\t%" PRIu64 "\t0\n",
> --			     36, " ", swtotal, swfree);
> -+			     36, " ", swtotal, swusage);
> - 		total_len += l;
> - 	}
> - 
> --- 
> -2.20.1
> -
> diff --git a/debian/patches/pve/0005-swap-Only-report-usage-when-swappiness-is-0.patch b/debian/patches/pve/0005-swap-Only-report-usage-when-swappiness-is-0.patch
> deleted file mode 100644
> index 9bf9d63..0000000
> --- a/debian/patches/pve/0005-swap-Only-report-usage-when-swappiness-is-0.patch
> +++ /dev/null
> @@ -1,102 +0,0 @@
> -From 4538af183c2f48563681f303c54cef0430741b83 Mon Sep 17 00:00:00 2001
> -From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber@ubuntu.com>
> -Date: Thu, 5 Nov 2020 15:20:26 -0500
> -Subject: [PATCH lxcfs 5/8] swap: Only report usage when swappiness is 0
> -MIME-Version: 1.0
> -Content-Type: text/plain; charset=UTF-8
> -Content-Transfer-Encoding: 8bit
> -
> -Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
> ----
> - src/proc_fuse.c | 28 ++++++++++++++++++++++++----
> - 1 file changed, 24 insertions(+), 4 deletions(-)
> -
> -diff --git a/src/proc_fuse.c b/src/proc_fuse.c
> -index 0ad21b9..002aac9 100644
> ---- a/src/proc_fuse.c
> -+++ b/src/proc_fuse.c
> -@@ -318,13 +318,14 @@ static inline bool startswith(const char *line, const char *pref)
> - static int proc_swaps_read(char *buf, size_t size, off_t offset,
> - 			   struct fuse_file_info *fi)
> - {
> --	__do_free char *cgroup = NULL, *memusage_str = NULL, *memswusage_str = NULL;
> -+	__do_free char *cgroup = NULL, *memusage_str = NULL,
> -+		 *memswusage_str = NULL, *memswpriority_str = NULL;
> - 	struct fuse_context *fc = fuse_get_context();
> - 	struct lxcfs_opts *opts = (struct lxcfs_opts *)fuse_get_context()->private_data;
> - 	bool wants_swap = opts && !opts->swap_off && liblxcfs_can_use_swap();
> - 	struct file_info *d = INTTYPE_TO_PTR(fi->fh);
> - 	uint64_t memswlimit = 0, memlimit = 0, memusage = 0, memswusage = 0,
> --		 swtotal = 0, swfree = 0, swusage = 0;
> -+		 swtotal = 0, swfree = 0, swusage = 0, memswpriority = 1;
> - 	ssize_t total_len = 0;
> - 	ssize_t l = 0;
> - 	char *cache = d->buf;
> -@@ -380,6 +381,10 @@ static int proc_swaps_read(char *buf, size_t size, off_t offset,
> - 				if (swtotal >= swusage)
> - 					swfree = swtotal - swusage;
> - 			}
> -+
> -+			ret = cgroup_ops->get_memory_swappiness(cgroup_ops, cgroup, &memswpriority_str);
> -+			if (ret >= 0)
> -+				safe_uint64(memswpriority_str, &memswpriority, 10);
> - 		}
> - 	}
> - 
> -@@ -404,6 +409,11 @@ static int proc_swaps_read(char *buf, size_t size, off_t offset,
> - 		}
> - 	}
> - 
> -+	// When swappiness is 0, pretend we can't swap.
> -+	if (memswpriority == 0) {
> -+		swtotal = swusage;
> -+	}
> -+
> - 	if (swtotal > 0) {
> - 		l = snprintf(d->buf + total_len, d->size - total_len,
> - 			     "none%*svirtual\t\t%" PRIu64 "\t%" PRIu64 "\t0\n",
> -@@ -1136,7 +1146,7 @@ static int proc_meminfo_read(char *buf, size_t size, off_t offset,
> - 			     struct fuse_file_info *fi)
> - {
> - 	__do_free char *cgroup = NULL, *line = NULL, *memusage_str = NULL,
> --		       *memswusage_str = NULL;
> -+		       *memswusage_str = NULL, *memswpriority_str = NULL;
> - 	__do_free void *fopen_cache = NULL;
> - 	__do_fclose FILE *f = NULL;
> - 	struct fuse_context *fc = fuse_get_context();
> -@@ -1144,7 +1154,8 @@ static int proc_meminfo_read(char *buf, size_t size, off_t offset,
> - 	bool wants_swap = opts && !opts->swap_off && liblxcfs_can_use_swap(), host_swap = false;
> - 	struct file_info *d = INTTYPE_TO_PTR(fi->fh);
> - 	uint64_t memlimit = 0, memusage = 0, memswlimit = 0, memswusage = 0,
> --		 hosttotal = 0, swfree = 0, swusage = 0, swtotal = 0;
> -+		 hosttotal = 0, swfree = 0, swusage = 0, swtotal = 0,
> -+		 memswpriority = 1;
> - 	struct memory_stat mstat = {};
> - 	size_t linelen = 0, total_len = 0;
> - 	char *cache = d->buf;
> -@@ -1209,6 +1220,10 @@ static int proc_meminfo_read(char *buf, size_t size, off_t offset,
> - 					swusage = (memswusage - memusage) / 1024;
> - 			}
> - 		}
> -+
> -+		ret = cgroup_ops->get_memory_swappiness(cgroup_ops, cgroup, &memswpriority_str);
> -+		if (ret >= 0)
> -+			safe_uint64(memswpriority_str, &memswpriority, 10);
> - 	}
> - 
> - 	f = fopen_cached("/proc/meminfo", "re", &fopen_cache);
> -@@ -1257,6 +1272,11 @@ static int proc_meminfo_read(char *buf, size_t size, off_t offset,
> - 					swtotal = hostswtotal;
> - 					host_swap = true;
> - 				}
> -+
> -+				/* When swappiness is 0, pretend we can't swap. */
> -+				if (memswpriority == 0) {
> -+					swtotal = swusage;
> -+				}
> - 			}
> - 
> - 			snprintf(lbuf, 100, "SwapTotal:      %8" PRIu64 " kB\n", swtotal);
> --- 
> -2.20.1
> -
> diff --git a/debian/patches/pve/0006-swap-Tweak-meminfo-logic.patch b/debian/patches/pve/0006-swap-Tweak-meminfo-logic.patch
> deleted file mode 100644
> index 987af6c..0000000
> --- a/debian/patches/pve/0006-swap-Tweak-meminfo-logic.patch
> +++ /dev/null
> @@ -1,72 +0,0 @@
> -From 1e92c18e409f37f79a24f61623b9d9c4d84e3280 Mon Sep 17 00:00:00 2001
> -From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber@ubuntu.com>
> -Date: Thu, 5 Nov 2020 15:30:27 -0500
> -Subject: [PATCH lxcfs 6/8] swap: Tweak meminfo logic
> -MIME-Version: 1.0
> -Content-Type: text/plain; charset=UTF-8
> -Content-Transfer-Encoding: 8bit
> -
> -Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
> ----
> - src/proc_fuse.c | 30 +++++++++---------------------
> - 1 file changed, 9 insertions(+), 21 deletions(-)
> -
> -diff --git a/src/proc_fuse.c b/src/proc_fuse.c
> -index 002aac9..4c555ec 100644
> ---- a/src/proc_fuse.c
> -+++ b/src/proc_fuse.c
> -@@ -1151,7 +1151,7 @@ static int proc_meminfo_read(char *buf, size_t size, off_t offset,
> - 	__do_fclose FILE *f = NULL;
> - 	struct fuse_context *fc = fuse_get_context();
> - 	struct lxcfs_opts *opts = (struct lxcfs_opts *)fuse_get_context()->private_data;
> --	bool wants_swap = opts && !opts->swap_off && liblxcfs_can_use_swap(), host_swap = false;
> -+	bool wants_swap = opts && !opts->swap_off && liblxcfs_can_use_swap();
> - 	struct file_info *d = INTTYPE_TO_PTR(fi->fh);
> - 	uint64_t memlimit = 0, memusage = 0, memswlimit = 0, memswusage = 0,
> - 		 hosttotal = 0, swfree = 0, swusage = 0, swtotal = 0,
> -@@ -1258,19 +1258,14 @@ static int proc_meminfo_read(char *buf, size_t size, off_t offset,
> - 
> - 				sscanf(line + STRLITERALLEN("SwapTotal:"), "%" PRIu64, &hostswtotal);
> - 
> --				/*
> --				 * If swtotal is 0 it should mean that
> --				 * memory.memsw.limit_in_bytes and
> --				 * memory.limit_in_bytes are both unlimited or
> --				 * both set to the same value. In both cases we
> --				 * have no idea what the technical swap limit
> --				 * is supposed to be (It's a shared limit
> --				 * anyway.) so fallback to the host's values in
> --				 * that case too.
> --				 */
> --				if ((hostswtotal < swtotal) || swtotal == 0) {
> -+				/* The total amount of swap is always reported to be the
> -+				   lesser of the RAM+SWAP limit or the SWAP device size.
> -+				   This is because the kernel can swap as much as it
> -+				   wants and not only up to swtotal. */
> -+
> -+				swtotal = memlimit + swtotal;
> -+				if (hostswtotal < swtotal) {
> - 					swtotal = hostswtotal;
> --					host_swap = true;
> - 				}
> - 
> - 				/* When swappiness is 0, pretend we can't swap. */
> -@@ -1283,14 +1278,7 @@ static int proc_meminfo_read(char *buf, size_t size, off_t offset,
> - 			printme = lbuf;
> - 		} else if (startswith(line, "SwapFree:")) {
> - 			if (wants_swap) {
> --				uint64_t hostswfree = 0;
> --
> --				if (host_swap) {
> --					sscanf(line + STRLITERALLEN("SwapFree:"), "%" PRIu64, &hostswfree);
> --					swfree = hostswfree;
> --				} else if (swtotal >= swusage) {
> --					swfree = swtotal - swusage;
> --				}
> -+				swfree = swtotal - swusage;
> - 			}
> - 
> - 			snprintf(lbuf, 100, "SwapFree:       %8" PRIu64 " kB\n", swfree);
> --- 
> -2.20.1
> -
> diff --git a/debian/patches/pve/0007-swap-Make-proc-swaps-match-proc-meminfo.patch b/debian/patches/pve/0007-swap-Make-proc-swaps-match-proc-meminfo.patch
> deleted file mode 100644
> index 07945e2..0000000
> --- a/debian/patches/pve/0007-swap-Make-proc-swaps-match-proc-meminfo.patch
> +++ /dev/null
> @@ -1,89 +0,0 @@
> -From a46b7b6978867101e79db1e1a51d30f2a02176ec Mon Sep 17 00:00:00 2001
> -From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber@ubuntu.com>
> -Date: Thu, 5 Nov 2020 15:43:01 -0500
> -Subject: [PATCH lxcfs 7/8] swap: Make /proc/swaps match /proc/meminfo
> -MIME-Version: 1.0
> -Content-Type: text/plain; charset=UTF-8
> -Content-Transfer-Encoding: 8bit
> -
> -Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
> ----
> - src/proc_fuse.c | 47 ++++++++++++++++++++++++++++-------------------
> - 1 file changed, 28 insertions(+), 19 deletions(-)
> -
> -diff --git a/src/proc_fuse.c b/src/proc_fuse.c
> -index 4c555ec..fc69789 100644
> ---- a/src/proc_fuse.c
> -+++ b/src/proc_fuse.c
> -@@ -325,11 +325,16 @@ static int proc_swaps_read(char *buf, size_t size, off_t offset,
> - 	bool wants_swap = opts && !opts->swap_off && liblxcfs_can_use_swap();
> - 	struct file_info *d = INTTYPE_TO_PTR(fi->fh);
> - 	uint64_t memswlimit = 0, memlimit = 0, memusage = 0, memswusage = 0,
> --		 swtotal = 0, swfree = 0, swusage = 0, memswpriority = 1;
> -+		 swtotal = 0, swfree = 0, swusage = 0, memswpriority = 1
> -+		 hostswtotal = 0, hostswfree = 0;
> - 	ssize_t total_len = 0;
> - 	ssize_t l = 0;
> - 	char *cache = d->buf;
> - 	int ret;
> -+	__do_free char *line = NULL;
> -+	__do_free void *fopen_cache = NULL;
> -+	__do_fclose FILE *f = NULL;
> -+	size_t linelen = 0;
> - 
> - 	if (offset) {
> - 		int left;
> -@@ -390,28 +395,32 @@ static int proc_swaps_read(char *buf, size_t size, off_t offset,
> - 
> - 	total_len = snprintf(d->buf, d->size, "Filename\t\t\t\tType\t\tSize\tUsed\tPriority\n");
> - 
> --	/* When no mem + swap limit is specified or swapaccount=0*/
> --	if (!memswlimit) {
> --		__do_free char *line = NULL;
> --		__do_free void *fopen_cache = NULL;
> --		__do_fclose FILE *f = NULL;
> --		size_t linelen = 0;
> -+	/* Read host total and free values */
> -+	f = fopen_cached("/proc/meminfo", "re", &fopen_cache);
> -+	if (!f)
> -+		return 0;
> - 
> --		f = fopen_cached("/proc/meminfo", "re", &fopen_cache);
> --		if (!f)
> --			return 0;
> -+	while (getline(&line, &linelen, f) != -1) {
> -+		if (startswith(line, "SwapTotal:"))
> -+			sscanf(line, "SwapTotal:      %8" PRIu64 " kB", &hostswtotal);
> -+		else if (startswith(line, "SwapFree:"))
> -+			sscanf(line, "SwapFree:      %8" PRIu64 " kB", &hostswfree);
> -+	}
> - 
> --		while (getline(&line, &linelen, f) != -1) {
> --			if (startswith(line, "SwapTotal:"))
> --				sscanf(line, "SwapTotal:      %8" PRIu64 " kB", &swtotal);
> --			else if (startswith(line, "SwapFree:"))
> --				sscanf(line, "SwapFree:      %8" PRIu64 " kB", &swfree);
> -+	if (wants_swap) {
> -+		/* The total amount of swap is always reported to be the
> -+		   lesser of the RAM+SWAP limit or the SWAP device size.
> -+		   This is because the kernel can swap as much as it
> -+		   wants and not only up to swtotal. */
> -+		swtotal = memlimit / 1024 + swtotal;
> -+		if (hostswtotal < swtotal) {
> -+			swtotal = hostswtotal;
> - 		}
> --	}
> - 
> --	// When swappiness is 0, pretend we can't swap.
> --	if (memswpriority == 0) {
> --		swtotal = swusage;
> -+		/* When swappiness is 0, pretend we can't swap. */
> -+		if (memswpriority == 0) {
> -+			swtotal = swusage;
> -+		}
> - 	}
> - 
> - 	if (swtotal > 0) {
> --- 
> -2.20.1
> -
> diff --git a/debian/patches/pve/0008-swap-Remove-now-unused-variable.patch b/debian/patches/pve/0008-swap-Remove-now-unused-variable.patch
> deleted file mode 100644
> index e9a75eb..0000000
> --- a/debian/patches/pve/0008-swap-Remove-now-unused-variable.patch
> +++ /dev/null
> @@ -1,38 +0,0 @@
> -From 1d3a4a0dd7411d34f10e47c1d850213a63a3581e Mon Sep 17 00:00:00 2001
> -From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber@ubuntu.com>
> -Date: Thu, 5 Nov 2020 15:46:07 -0500
> -Subject: [PATCH lxcfs 8/8] swap: Remove now unused variable
> -MIME-Version: 1.0
> -Content-Type: text/plain; charset=UTF-8
> -Content-Transfer-Encoding: 8bit
> -
> -Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
> ----
> - src/proc_fuse.c | 4 +---
> - 1 file changed, 1 insertion(+), 3 deletions(-)
> -
> -diff --git a/src/proc_fuse.c b/src/proc_fuse.c
> -index fc69789..9bf963b 100644
> ---- a/src/proc_fuse.c
> -+++ b/src/proc_fuse.c
> -@@ -325,7 +325,7 @@ static int proc_swaps_read(char *buf, size_t size, off_t offset,
> - 	bool wants_swap = opts && !opts->swap_off && liblxcfs_can_use_swap();
> - 	struct file_info *d = INTTYPE_TO_PTR(fi->fh);
> - 	uint64_t memswlimit = 0, memlimit = 0, memusage = 0, memswusage = 0,
> --		 swtotal = 0, swfree = 0, swusage = 0, memswpriority = 1
> -+		 swtotal = 0, swusage = 0, memswpriority = 1,
> - 		 hostswtotal = 0, hostswfree = 0;
> - 	ssize_t total_len = 0;
> - 	ssize_t l = 0;
> -@@ -383,8 +383,6 @@ static int proc_swaps_read(char *buf, size_t size, off_t offset,
> - 					swusage = 0;
> - 				else
> - 					swusage = (memswusage - memusage) / 1024;
> --				if (swtotal >= swusage)
> --					swfree = swtotal - swusage;
> - 			}
> - 
> - 			ret = cgroup_ops->get_memory_swappiness(cgroup_ops, cgroup, &memswpriority_str);
> --- 
> -2.20.1
> -
> diff --git a/debian/patches/series b/debian/patches/series
> index b4bddb8..bf650b4 100644
> --- a/debian/patches/series
> +++ b/debian/patches/series
> @@ -1,9 +1 @@
>  do-not-start-without-lxcfs.patch
> -pve/0001-meminfo-show-host-swap-values-when-no-limit-or-equal.patch
> -pve/0002-README-clarify-SWAP.patch
> -pve/0003-cgroups-Add-get_memory_swappiness.patch
> -pve/0004-swap-Fix-usage-reporting.patch
> -pve/0005-swap-Only-report-usage-when-swappiness-is-0.patch
> -pve/0006-swap-Tweak-meminfo-logic.patch
> -pve/0007-swap-Make-proc-swaps-match-proc-meminfo.patch
> -pve/0008-swap-Remove-now-unused-variable.patch
> diff --git a/lxcfs b/lxcfs
> index db61421..725e90b 160000
> --- a/lxcfs
> +++ b/lxcfs
> @@ -1 +1 @@
> -Subproject commit db61421bf1a847f39d404f7acc2cbeb6fba89eae
> +Subproject commit 725e90b5d67e264ee4a7ff0851c79728feab1da8
> 





^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [pve-devel] SPAM: [PATCH lxcfs] bump version to 4.0.7-pve1
  2021-04-14 13:57 ` Thomas Lamprecht
@ 2021-04-15  9:44   ` Oguz Bektas
  2021-04-15 10:47     ` Thomas Lamprecht
  0 siblings, 1 reply; 4+ messages in thread
From: Oguz Bektas @ 2021-04-15  9:44 UTC (permalink / raw)
  To: Thomas Lamprecht; +Cc: Proxmox VE development discussion

hi,

> 
> please ensure that your git-send-email does not picks up S-b, R-b, etc. git trailers
> of patches by patches and wrongly CC's those people like happened here.

oops sorry about that.

> 
> Further, separate debian/changelog entries from the actual changes, in general
> rather not send updates to debian/changelog.
> 
> It would be also good to have a short summary of changes/fixes/features from that
> new release, i.e., why should be update (what's fixed, or what's changed and thus
> a potential regression?)...

it's a minor release and the main highlight is the improvements in swap behavior
consistency.

basically the previously cherry-picked patches for some swap
and memory improvements are now merged upstream.

https://discuss.linuxcontainers.org/t/lxcfs-4-0-7-lts-has-been-released/9893

> 
> > Signed-off-by: Oguz Bektas <o.bektas@proxmox.com>
> > ---
> >  debian/changelog                              |   6 ++
> >  ...t-swap-values-when-no-limit-or-equal.patch |  38 -------
> >  .../pve/0002-README-clarify-SWAP.patch        |  71 ------------
> >  ...03-cgroups-Add-get_memory_swappiness.patch |  55 ----------
> >  .../pve/0004-swap-Fix-usage-reporting.patch   |  29 -----
> >  ...ly-report-usage-when-swappiness-is-0.patch | 102 ------------------
> >  .../pve/0006-swap-Tweak-meminfo-logic.patch   |  72 -------------
> >  ...p-Make-proc-swaps-match-proc-meminfo.patch |  89 ---------------
> >  ...0008-swap-Remove-now-unused-variable.patch |  38 -------
> >  debian/patches/series                         |   8 --
> >  lxcfs                                         |   2 +-
> >  11 files changed, 7 insertions(+), 503 deletions(-)
> >  delete mode 100644 debian/patches/pve/0001-meminfo-show-host-swap-values-when-no-limit-or-equal.patch
> >  delete mode 100644 debian/patches/pve/0002-README-clarify-SWAP.patch
> >  delete mode 100644 debian/patches/pve/0003-cgroups-Add-get_memory_swappiness.patch
> >  delete mode 100644 debian/patches/pve/0004-swap-Fix-usage-reporting.patch
> >  delete mode 100644 debian/patches/pve/0005-swap-Only-report-usage-when-swappiness-is-0.patch
> >  delete mode 100644 debian/patches/pve/0006-swap-Tweak-meminfo-logic.patch
> >  delete mode 100644 debian/patches/pve/0007-swap-Make-proc-swaps-match-proc-meminfo.patch
> >  delete mode 100644 debian/patches/pve/0008-swap-Remove-now-unused-variable.patch
> > 
> > diff --git a/debian/changelog b/debian/changelog
> > index b96eaaa..6d7c3f9 100644
> > --- a/debian/changelog
> > +++ b/debian/changelog
> > @@ -1,3 +1,9 @@
> > +lxcfs (4.0.7-pve1) pve; urgency=medium
> > +
> > +  * update to 4.0.7
> > +
> > + -- Proxmox Support Team <support@proxmox.com>  Tue, 13 Apr 2021 13:59:07 +0100
> > +
> >  lxcfs (4.0.6-pve1) pve; urgency=medium
> >  
> >    * update to 4.0.6
> > diff --git a/debian/patches/pve/0001-meminfo-show-host-swap-values-when-no-limit-or-equal.patch b/debian/patches/pve/0001-meminfo-show-host-swap-values-when-no-limit-or-equal.patch
> > deleted file mode 100644
> > index 8011eb1..0000000
> > --- a/debian/patches/pve/0001-meminfo-show-host-swap-values-when-no-limit-or-equal.patch
> > +++ /dev/null
> > @@ -1,38 +0,0 @@
> > -From 8a0e1fd9d0c8866af5947ab2acee0c28e8827573 Mon Sep 17 00:00:00 2001
> > -From: Christian Brauner <christian.brauner@ubuntu.com>
> > -Date: Tue, 3 Nov 2020 22:27:05 +0100
> > -Subject: [PATCH lxcfs 1/8] meminfo: show host swap values when no limit or
> > - equal limits are set
> > -
> > -Closes: #434
> > -Signed-off-by: Christian Brauner <christian.brauner@ubuntu.com>
> > ----
> > - src/proc_fuse.c | 12 +++++++++++-
> > - 1 file changed, 11 insertions(+), 1 deletion(-)
> > -
> > -diff --git a/src/proc_fuse.c b/src/proc_fuse.c
> > -index 907f5c7..7bc1eb0 100644
> > ---- a/src/proc_fuse.c
> > -+++ b/src/proc_fuse.c
> > -@@ -1243,7 +1243,17 @@ static int proc_meminfo_read(char *buf, size_t size, off_t offset,
> > - 
> > - 				sscanf(line + STRLITERALLEN("SwapTotal:"), "%" PRIu64, &hostswtotal);
> > - 
> > --				if (hostswtotal < swtotal) {
> > -+				/*
> > -+				 * If swtotal is 0 it should mean that
> > -+				 * memory.memsw.limit_in_bytes and
> > -+				 * memory.limit_in_bytes are both unlimited or
> > -+				 * both set to the same value. In both cases we
> > -+				 * have no idea what the technical swap limit
> > -+				 * is supposed to be (It's a shared limit
> > -+				 * anyway.) so fallback to the host's values in
> > -+				 * that case too.
> > -+				 */
> > -+				if ((hostswtotal < swtotal) || swtotal == 0) {
> > - 					swtotal = hostswtotal;
> > - 					host_swap = true;
> > - 				}
> > --- 
> > -2.20.1
> > -
> > diff --git a/debian/patches/pve/0002-README-clarify-SWAP.patch b/debian/patches/pve/0002-README-clarify-SWAP.patch
> > deleted file mode 100644
> > index 219527a..0000000
> > --- a/debian/patches/pve/0002-README-clarify-SWAP.patch
> > +++ /dev/null
> > @@ -1,71 +0,0 @@
> > -From 22ba5818484aa5ffaa26967d5d2ab228b2789205 Mon Sep 17 00:00:00 2001
> > -From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber@ubuntu.com>
> > -Date: Wed, 4 Nov 2020 23:06:00 -0500
> > -Subject: [PATCH lxcfs 2/8] README: clarify SWAP
> > -MIME-Version: 1.0
> > -Content-Type: text/plain; charset=UTF-8
> > -Content-Transfer-Encoding: 8bit
> > -
> > -Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
> > ----
> > - README.md | 47 +++++++++++++++++++++++++++++++++++++++++++++++
> > - 1 file changed, 47 insertions(+)
> > -
> > -diff --git a/README.md b/README.md
> > -index 5272a6c..3c638c3 100644
> > ---- a/README.md
> > -+++ b/README.md
> > -@@ -104,3 +104,50 @@ docker run -it -m 256m --memory-swap 256m \
> > -  In a system with swap enabled, the parameter "-u" can be used to set all values in "meminfo" that refer to the swap to 0.
> > - 
> > -  sudo lxcfs -u /var/lib/lxcfs
> > -+
> > -+## Swap handling
> > -+If you noticed LXCFS not showing any SWAP in your container despite
> > -+having SWAP on your system, please read this section carefully and look
> > -+for instructions on how to enable SWAP accounting for your distribution.
> > -+
> > -+Swap cgroup handling on Linux is very confusing and there just isn't a
> > -+perfect way for LXCFS to handle it.
> > -+
> > -+Terminology used below:
> > -+ - RAM refers to `memory.usage_in_bytes` and `memory.limit_in_bytes`
> > -+ - RAM+SWAP refers to `memory.memsw.usage_in_bytes` and `memory.memsw.limit_in_bytes`
> > -+
> > -+The main issues are:
> > -+ - SWAP accounting is often opt-in and, requiring a special kernel boot
> > -+   time option (`swapaccount=1`) and/or special kernel build options
> > -+   (`CONFIG_MEMCG_SWAP`).
> > -+
> > -+ - Both a RAM limit and a RAM+SWAP limit can be set. The delta however
> > -+   isn't the available SWAP space as the kernel is still free to SWAP as
> > -+   much of the RAM as it feels like. This makes it impossible to render
> > -+   a SWAP device size as using the delta between RAM and RAM+SWAP for that
> > -+   wouldn't account for the kernel swapping more pages, leading to swap
> > -+   usage exceeding swap total.
> > -+
> > -+ - It's impossible to disable SWAP in a given container. The closest
> > -+   that can be done is setting swappiness down to 0 which severly limits
> > -+   the risk of swapping pages but doesn't eliminate it.
> > -+
> > -+As a result, LXCFS had to make some compromise which go as follow:
> > -+ - When SWAP accounting isn't enabled, no SWAP space is reported at all.
> > -+   This is simply because there is no way to know the SWAP consumption.
> > -+   The container may very much be using some SWAP though, there's just
> > -+   no way to know how much of it and showing a SWAP device would require
> > -+   some kind of SWAP usage to be reported. Showing the host value would be
> > -+   completely wrong, showing a 0 value would be equallty wrong.
> > -+
> > -+ - Because SWAP usage for a given container can exceed the delta between
> > -+   RAM and RAM+SWAP, the SWAP size is always reported to be the smaller of
> > -+   the RAM+SWAP limit or the host SWAP device itself. This ensures that at no
> > -+   point SWAP usage will be allowed to exceed the SWAP size.
> > -+
> > -+ - If the swappiness is set to 0 and there is no SWAP usage, no SWAP is reported.
> > -+   However if there is SWAP usage, then a SWAP device of the size of the
> > -+   usage (100% full) is reported. This provides adequate reporting of
> > -+   the memory consumption while preventing applications from assuming more
> > -+   SWAP is available.
> > --- 
> > -2.20.1
> > -
> > diff --git a/debian/patches/pve/0003-cgroups-Add-get_memory_swappiness.patch b/debian/patches/pve/0003-cgroups-Add-get_memory_swappiness.patch
> > deleted file mode 100644
> > index 0bfdf81..0000000
> > --- a/debian/patches/pve/0003-cgroups-Add-get_memory_swappiness.patch
> > +++ /dev/null
> > @@ -1,55 +0,0 @@
> > -From 5fb18e7b8ab9ee0b1af375aa13135cf0dfe30874 Mon Sep 17 00:00:00 2001
> > -From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber@ubuntu.com>
> > -Date: Thu, 5 Nov 2020 15:17:02 -0500
> > -Subject: [PATCH lxcfs 3/8] cgroups: Add get_memory_swappiness
> > -MIME-Version: 1.0
> > -Content-Type: text/plain; charset=UTF-8
> > -Content-Transfer-Encoding: 8bit
> > -
> > -Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
> > ----
> > - src/cgroups/cgfsng.c | 7 +++++++
> > - src/cgroups/cgroup.h | 2 ++
> > - 2 files changed, 9 insertions(+)
> > -
> > -diff --git a/src/cgroups/cgfsng.c b/src/cgroups/cgfsng.c
> > -index 824b0e7..d772f25 100644
> > ---- a/src/cgroups/cgfsng.c
> > -+++ b/src/cgroups/cgfsng.c
> > -@@ -620,6 +620,12 @@ static int cgfsng_get_memory_max(struct cgroup_ops *ops, const char *cgroup,
> > - 	return cgfsng_get_memory(ops, cgroup, "memory.max", value);
> > - }
> > - 
> > -+static int cgfsng_get_memory_swappiness(struct cgroup_ops *ops, const char *cgroup,
> > -+				 char **value)
> > -+{
> > -+	return cgfsng_get_memory(ops, cgroup, "memory.swappiness", value);
> > -+}
> > -+
> > - static int cgfsng_get_memory_swap_max(struct cgroup_ops *ops,
> > - 				      const char *cgroup, char **value)
> > - {
> > -@@ -1011,6 +1017,7 @@ struct cgroup_ops *cgfsng_ops_init(void)
> > - 	cgfsng_ops->get_memory_stats_fd = cgfsng_get_memory_stats_fd;
> > - 	cgfsng_ops->get_memory_stats = cgfsng_get_memory_stats;
> > - 	cgfsng_ops->get_memory_max = cgfsng_get_memory_max;
> > -+	cgfsng_ops->get_memory_swappiness = cgfsng_get_memory_swappiness;
> > - 	cgfsng_ops->get_memory_swap_max = cgfsng_get_memory_swap_max;
> > - 	cgfsng_ops->get_memory_current = cgfsng_get_memory_current;
> > - 	cgfsng_ops->get_memory_swap_current = cgfsng_get_memory_swap_current;
> > -diff --git a/src/cgroups/cgroup.h b/src/cgroups/cgroup.h
> > -index ad4a3ae..f4b5d19 100644
> > ---- a/src/cgroups/cgroup.h
> > -+++ b/src/cgroups/cgroup.h
> > -@@ -151,6 +151,8 @@ struct cgroup_ops {
> > - 				       const char *cgroup, char **value);
> > - 	int (*get_memory_max)(struct cgroup_ops *ops, const char *cgroup,
> > - 			      char **value);
> > -+	int (*get_memory_swappiness)(struct cgroup_ops *ops, const char *cgroup,
> > -+			      char **value);
> > - 	int (*get_memory_swap_max)(struct cgroup_ops *ops, const char *cgroup,
> > - 				   char **value);
> > - 	bool (*can_use_swap)(struct cgroup_ops *ops);
> > --- 
> > -2.20.1
> > -
> > diff --git a/debian/patches/pve/0004-swap-Fix-usage-reporting.patch b/debian/patches/pve/0004-swap-Fix-usage-reporting.patch
> > deleted file mode 100644
> > index ec9d936..0000000
> > --- a/debian/patches/pve/0004-swap-Fix-usage-reporting.patch
> > +++ /dev/null
> > @@ -1,29 +0,0 @@
> > -From 205df44462530825ded3ffe3e2d6d68cb716287d Mon Sep 17 00:00:00 2001
> > -From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber@ubuntu.com>
> > -Date: Thu, 5 Nov 2020 15:17:40 -0500
> > -Subject: [PATCH lxcfs 4/8] swap: Fix usage reporting
> > -MIME-Version: 1.0
> > -Content-Type: text/plain; charset=UTF-8
> > -Content-Transfer-Encoding: 8bit
> > -
> > -Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
> > ----
> > - src/proc_fuse.c | 2 +-
> > - 1 file changed, 1 insertion(+), 1 deletion(-)
> > -
> > -diff --git a/src/proc_fuse.c b/src/proc_fuse.c
> > -index 7bc1eb0..0ad21b9 100644
> > ---- a/src/proc_fuse.c
> > -+++ b/src/proc_fuse.c
> > -@@ -407,7 +407,7 @@ static int proc_swaps_read(char *buf, size_t size, off_t offset,
> > - 	if (swtotal > 0) {
> > - 		l = snprintf(d->buf + total_len, d->size - total_len,
> > - 			     "none%*svirtual\t\t%" PRIu64 "\t%" PRIu64 "\t0\n",
> > --			     36, " ", swtotal, swfree);
> > -+			     36, " ", swtotal, swusage);
> > - 		total_len += l;
> > - 	}
> > - 
> > --- 
> > -2.20.1
> > -
> > diff --git a/debian/patches/pve/0005-swap-Only-report-usage-when-swappiness-is-0.patch b/debian/patches/pve/0005-swap-Only-report-usage-when-swappiness-is-0.patch
> > deleted file mode 100644
> > index 9bf9d63..0000000
> > --- a/debian/patches/pve/0005-swap-Only-report-usage-when-swappiness-is-0.patch
> > +++ /dev/null
> > @@ -1,102 +0,0 @@
> > -From 4538af183c2f48563681f303c54cef0430741b83 Mon Sep 17 00:00:00 2001
> > -From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber@ubuntu.com>
> > -Date: Thu, 5 Nov 2020 15:20:26 -0500
> > -Subject: [PATCH lxcfs 5/8] swap: Only report usage when swappiness is 0
> > -MIME-Version: 1.0
> > -Content-Type: text/plain; charset=UTF-8
> > -Content-Transfer-Encoding: 8bit
> > -
> > -Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
> > ----
> > - src/proc_fuse.c | 28 ++++++++++++++++++++++++----
> > - 1 file changed, 24 insertions(+), 4 deletions(-)
> > -
> > -diff --git a/src/proc_fuse.c b/src/proc_fuse.c
> > -index 0ad21b9..002aac9 100644
> > ---- a/src/proc_fuse.c
> > -+++ b/src/proc_fuse.c
> > -@@ -318,13 +318,14 @@ static inline bool startswith(const char *line, const char *pref)
> > - static int proc_swaps_read(char *buf, size_t size, off_t offset,
> > - 			   struct fuse_file_info *fi)
> > - {
> > --	__do_free char *cgroup = NULL, *memusage_str = NULL, *memswusage_str = NULL;
> > -+	__do_free char *cgroup = NULL, *memusage_str = NULL,
> > -+		 *memswusage_str = NULL, *memswpriority_str = NULL;
> > - 	struct fuse_context *fc = fuse_get_context();
> > - 	struct lxcfs_opts *opts = (struct lxcfs_opts *)fuse_get_context()->private_data;
> > - 	bool wants_swap = opts && !opts->swap_off && liblxcfs_can_use_swap();
> > - 	struct file_info *d = INTTYPE_TO_PTR(fi->fh);
> > - 	uint64_t memswlimit = 0, memlimit = 0, memusage = 0, memswusage = 0,
> > --		 swtotal = 0, swfree = 0, swusage = 0;
> > -+		 swtotal = 0, swfree = 0, swusage = 0, memswpriority = 1;
> > - 	ssize_t total_len = 0;
> > - 	ssize_t l = 0;
> > - 	char *cache = d->buf;
> > -@@ -380,6 +381,10 @@ static int proc_swaps_read(char *buf, size_t size, off_t offset,
> > - 				if (swtotal >= swusage)
> > - 					swfree = swtotal - swusage;
> > - 			}
> > -+
> > -+			ret = cgroup_ops->get_memory_swappiness(cgroup_ops, cgroup, &memswpriority_str);
> > -+			if (ret >= 0)
> > -+				safe_uint64(memswpriority_str, &memswpriority, 10);
> > - 		}
> > - 	}
> > - 
> > -@@ -404,6 +409,11 @@ static int proc_swaps_read(char *buf, size_t size, off_t offset,
> > - 		}
> > - 	}
> > - 
> > -+	// When swappiness is 0, pretend we can't swap.
> > -+	if (memswpriority == 0) {
> > -+		swtotal = swusage;
> > -+	}
> > -+
> > - 	if (swtotal > 0) {
> > - 		l = snprintf(d->buf + total_len, d->size - total_len,
> > - 			     "none%*svirtual\t\t%" PRIu64 "\t%" PRIu64 "\t0\n",
> > -@@ -1136,7 +1146,7 @@ static int proc_meminfo_read(char *buf, size_t size, off_t offset,
> > - 			     struct fuse_file_info *fi)
> > - {
> > - 	__do_free char *cgroup = NULL, *line = NULL, *memusage_str = NULL,
> > --		       *memswusage_str = NULL;
> > -+		       *memswusage_str = NULL, *memswpriority_str = NULL;
> > - 	__do_free void *fopen_cache = NULL;
> > - 	__do_fclose FILE *f = NULL;
> > - 	struct fuse_context *fc = fuse_get_context();
> > -@@ -1144,7 +1154,8 @@ static int proc_meminfo_read(char *buf, size_t size, off_t offset,
> > - 	bool wants_swap = opts && !opts->swap_off && liblxcfs_can_use_swap(), host_swap = false;
> > - 	struct file_info *d = INTTYPE_TO_PTR(fi->fh);
> > - 	uint64_t memlimit = 0, memusage = 0, memswlimit = 0, memswusage = 0,
> > --		 hosttotal = 0, swfree = 0, swusage = 0, swtotal = 0;
> > -+		 hosttotal = 0, swfree = 0, swusage = 0, swtotal = 0,
> > -+		 memswpriority = 1;
> > - 	struct memory_stat mstat = {};
> > - 	size_t linelen = 0, total_len = 0;
> > - 	char *cache = d->buf;
> > -@@ -1209,6 +1220,10 @@ static int proc_meminfo_read(char *buf, size_t size, off_t offset,
> > - 					swusage = (memswusage - memusage) / 1024;
> > - 			}
> > - 		}
> > -+
> > -+		ret = cgroup_ops->get_memory_swappiness(cgroup_ops, cgroup, &memswpriority_str);
> > -+		if (ret >= 0)
> > -+			safe_uint64(memswpriority_str, &memswpriority, 10);
> > - 	}
> > - 
> > - 	f = fopen_cached("/proc/meminfo", "re", &fopen_cache);
> > -@@ -1257,6 +1272,11 @@ static int proc_meminfo_read(char *buf, size_t size, off_t offset,
> > - 					swtotal = hostswtotal;
> > - 					host_swap = true;
> > - 				}
> > -+
> > -+				/* When swappiness is 0, pretend we can't swap. */
> > -+				if (memswpriority == 0) {
> > -+					swtotal = swusage;
> > -+				}
> > - 			}
> > - 
> > - 			snprintf(lbuf, 100, "SwapTotal:      %8" PRIu64 " kB\n", swtotal);
> > --- 
> > -2.20.1
> > -
> > diff --git a/debian/patches/pve/0006-swap-Tweak-meminfo-logic.patch b/debian/patches/pve/0006-swap-Tweak-meminfo-logic.patch
> > deleted file mode 100644
> > index 987af6c..0000000
> > --- a/debian/patches/pve/0006-swap-Tweak-meminfo-logic.patch
> > +++ /dev/null
> > @@ -1,72 +0,0 @@
> > -From 1e92c18e409f37f79a24f61623b9d9c4d84e3280 Mon Sep 17 00:00:00 2001
> > -From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber@ubuntu.com>
> > -Date: Thu, 5 Nov 2020 15:30:27 -0500
> > -Subject: [PATCH lxcfs 6/8] swap: Tweak meminfo logic
> > -MIME-Version: 1.0
> > -Content-Type: text/plain; charset=UTF-8
> > -Content-Transfer-Encoding: 8bit
> > -
> > -Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
> > ----
> > - src/proc_fuse.c | 30 +++++++++---------------------
> > - 1 file changed, 9 insertions(+), 21 deletions(-)
> > -
> > -diff --git a/src/proc_fuse.c b/src/proc_fuse.c
> > -index 002aac9..4c555ec 100644
> > ---- a/src/proc_fuse.c
> > -+++ b/src/proc_fuse.c
> > -@@ -1151,7 +1151,7 @@ static int proc_meminfo_read(char *buf, size_t size, off_t offset,
> > - 	__do_fclose FILE *f = NULL;
> > - 	struct fuse_context *fc = fuse_get_context();
> > - 	struct lxcfs_opts *opts = (struct lxcfs_opts *)fuse_get_context()->private_data;
> > --	bool wants_swap = opts && !opts->swap_off && liblxcfs_can_use_swap(), host_swap = false;
> > -+	bool wants_swap = opts && !opts->swap_off && liblxcfs_can_use_swap();
> > - 	struct file_info *d = INTTYPE_TO_PTR(fi->fh);
> > - 	uint64_t memlimit = 0, memusage = 0, memswlimit = 0, memswusage = 0,
> > - 		 hosttotal = 0, swfree = 0, swusage = 0, swtotal = 0,
> > -@@ -1258,19 +1258,14 @@ static int proc_meminfo_read(char *buf, size_t size, off_t offset,
> > - 
> > - 				sscanf(line + STRLITERALLEN("SwapTotal:"), "%" PRIu64, &hostswtotal);
> > - 
> > --				/*
> > --				 * If swtotal is 0 it should mean that
> > --				 * memory.memsw.limit_in_bytes and
> > --				 * memory.limit_in_bytes are both unlimited or
> > --				 * both set to the same value. In both cases we
> > --				 * have no idea what the technical swap limit
> > --				 * is supposed to be (It's a shared limit
> > --				 * anyway.) so fallback to the host's values in
> > --				 * that case too.
> > --				 */
> > --				if ((hostswtotal < swtotal) || swtotal == 0) {
> > -+				/* The total amount of swap is always reported to be the
> > -+				   lesser of the RAM+SWAP limit or the SWAP device size.
> > -+				   This is because the kernel can swap as much as it
> > -+				   wants and not only up to swtotal. */
> > -+
> > -+				swtotal = memlimit + swtotal;
> > -+				if (hostswtotal < swtotal) {
> > - 					swtotal = hostswtotal;
> > --					host_swap = true;
> > - 				}
> > - 
> > - 				/* When swappiness is 0, pretend we can't swap. */
> > -@@ -1283,14 +1278,7 @@ static int proc_meminfo_read(char *buf, size_t size, off_t offset,
> > - 			printme = lbuf;
> > - 		} else if (startswith(line, "SwapFree:")) {
> > - 			if (wants_swap) {
> > --				uint64_t hostswfree = 0;
> > --
> > --				if (host_swap) {
> > --					sscanf(line + STRLITERALLEN("SwapFree:"), "%" PRIu64, &hostswfree);
> > --					swfree = hostswfree;
> > --				} else if (swtotal >= swusage) {
> > --					swfree = swtotal - swusage;
> > --				}
> > -+				swfree = swtotal - swusage;
> > - 			}
> > - 
> > - 			snprintf(lbuf, 100, "SwapFree:       %8" PRIu64 " kB\n", swfree);
> > --- 
> > -2.20.1
> > -
> > diff --git a/debian/patches/pve/0007-swap-Make-proc-swaps-match-proc-meminfo.patch b/debian/patches/pve/0007-swap-Make-proc-swaps-match-proc-meminfo.patch
> > deleted file mode 100644
> > index 07945e2..0000000
> > --- a/debian/patches/pve/0007-swap-Make-proc-swaps-match-proc-meminfo.patch
> > +++ /dev/null
> > @@ -1,89 +0,0 @@
> > -From a46b7b6978867101e79db1e1a51d30f2a02176ec Mon Sep 17 00:00:00 2001
> > -From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber@ubuntu.com>
> > -Date: Thu, 5 Nov 2020 15:43:01 -0500
> > -Subject: [PATCH lxcfs 7/8] swap: Make /proc/swaps match /proc/meminfo
> > -MIME-Version: 1.0
> > -Content-Type: text/plain; charset=UTF-8
> > -Content-Transfer-Encoding: 8bit
> > -
> > -Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
> > ----
> > - src/proc_fuse.c | 47 ++++++++++++++++++++++++++++-------------------
> > - 1 file changed, 28 insertions(+), 19 deletions(-)
> > -
> > -diff --git a/src/proc_fuse.c b/src/proc_fuse.c
> > -index 4c555ec..fc69789 100644
> > ---- a/src/proc_fuse.c
> > -+++ b/src/proc_fuse.c
> > -@@ -325,11 +325,16 @@ static int proc_swaps_read(char *buf, size_t size, off_t offset,
> > - 	bool wants_swap = opts && !opts->swap_off && liblxcfs_can_use_swap();
> > - 	struct file_info *d = INTTYPE_TO_PTR(fi->fh);
> > - 	uint64_t memswlimit = 0, memlimit = 0, memusage = 0, memswusage = 0,
> > --		 swtotal = 0, swfree = 0, swusage = 0, memswpriority = 1;
> > -+		 swtotal = 0, swfree = 0, swusage = 0, memswpriority = 1
> > -+		 hostswtotal = 0, hostswfree = 0;
> > - 	ssize_t total_len = 0;
> > - 	ssize_t l = 0;
> > - 	char *cache = d->buf;
> > - 	int ret;
> > -+	__do_free char *line = NULL;
> > -+	__do_free void *fopen_cache = NULL;
> > -+	__do_fclose FILE *f = NULL;
> > -+	size_t linelen = 0;
> > - 
> > - 	if (offset) {
> > - 		int left;
> > -@@ -390,28 +395,32 @@ static int proc_swaps_read(char *buf, size_t size, off_t offset,
> > - 
> > - 	total_len = snprintf(d->buf, d->size, "Filename\t\t\t\tType\t\tSize\tUsed\tPriority\n");
> > - 
> > --	/* When no mem + swap limit is specified or swapaccount=0*/
> > --	if (!memswlimit) {
> > --		__do_free char *line = NULL;
> > --		__do_free void *fopen_cache = NULL;
> > --		__do_fclose FILE *f = NULL;
> > --		size_t linelen = 0;
> > -+	/* Read host total and free values */
> > -+	f = fopen_cached("/proc/meminfo", "re", &fopen_cache);
> > -+	if (!f)
> > -+		return 0;
> > - 
> > --		f = fopen_cached("/proc/meminfo", "re", &fopen_cache);
> > --		if (!f)
> > --			return 0;
> > -+	while (getline(&line, &linelen, f) != -1) {
> > -+		if (startswith(line, "SwapTotal:"))
> > -+			sscanf(line, "SwapTotal:      %8" PRIu64 " kB", &hostswtotal);
> > -+		else if (startswith(line, "SwapFree:"))
> > -+			sscanf(line, "SwapFree:      %8" PRIu64 " kB", &hostswfree);
> > -+	}
> > - 
> > --		while (getline(&line, &linelen, f) != -1) {
> > --			if (startswith(line, "SwapTotal:"))
> > --				sscanf(line, "SwapTotal:      %8" PRIu64 " kB", &swtotal);
> > --			else if (startswith(line, "SwapFree:"))
> > --				sscanf(line, "SwapFree:      %8" PRIu64 " kB", &swfree);
> > -+	if (wants_swap) {
> > -+		/* The total amount of swap is always reported to be the
> > -+		   lesser of the RAM+SWAP limit or the SWAP device size.
> > -+		   This is because the kernel can swap as much as it
> > -+		   wants and not only up to swtotal. */
> > -+		swtotal = memlimit / 1024 + swtotal;
> > -+		if (hostswtotal < swtotal) {
> > -+			swtotal = hostswtotal;
> > - 		}
> > --	}
> > - 
> > --	// When swappiness is 0, pretend we can't swap.
> > --	if (memswpriority == 0) {
> > --		swtotal = swusage;
> > -+		/* When swappiness is 0, pretend we can't swap. */
> > -+		if (memswpriority == 0) {
> > -+			swtotal = swusage;
> > -+		}
> > - 	}
> > - 
> > - 	if (swtotal > 0) {
> > --- 
> > -2.20.1
> > -
> > diff --git a/debian/patches/pve/0008-swap-Remove-now-unused-variable.patch b/debian/patches/pve/0008-swap-Remove-now-unused-variable.patch
> > deleted file mode 100644
> > index e9a75eb..0000000
> > --- a/debian/patches/pve/0008-swap-Remove-now-unused-variable.patch
> > +++ /dev/null
> > @@ -1,38 +0,0 @@
> > -From 1d3a4a0dd7411d34f10e47c1d850213a63a3581e Mon Sep 17 00:00:00 2001
> > -From: =?UTF-8?q?St=C3=A9phane=20Graber?= <stgraber@ubuntu.com>
> > -Date: Thu, 5 Nov 2020 15:46:07 -0500
> > -Subject: [PATCH lxcfs 8/8] swap: Remove now unused variable
> > -MIME-Version: 1.0
> > -Content-Type: text/plain; charset=UTF-8
> > -Content-Transfer-Encoding: 8bit
> > -
> > -Signed-off-by: Stéphane Graber <stgraber@ubuntu.com>
> > ----
> > - src/proc_fuse.c | 4 +---
> > - 1 file changed, 1 insertion(+), 3 deletions(-)
> > -
> > -diff --git a/src/proc_fuse.c b/src/proc_fuse.c
> > -index fc69789..9bf963b 100644
> > ---- a/src/proc_fuse.c
> > -+++ b/src/proc_fuse.c
> > -@@ -325,7 +325,7 @@ static int proc_swaps_read(char *buf, size_t size, off_t offset,
> > - 	bool wants_swap = opts && !opts->swap_off && liblxcfs_can_use_swap();
> > - 	struct file_info *d = INTTYPE_TO_PTR(fi->fh);
> > - 	uint64_t memswlimit = 0, memlimit = 0, memusage = 0, memswusage = 0,
> > --		 swtotal = 0, swfree = 0, swusage = 0, memswpriority = 1
> > -+		 swtotal = 0, swusage = 0, memswpriority = 1,
> > - 		 hostswtotal = 0, hostswfree = 0;
> > - 	ssize_t total_len = 0;
> > - 	ssize_t l = 0;
> > -@@ -383,8 +383,6 @@ static int proc_swaps_read(char *buf, size_t size, off_t offset,
> > - 					swusage = 0;
> > - 				else
> > - 					swusage = (memswusage - memusage) / 1024;
> > --				if (swtotal >= swusage)
> > --					swfree = swtotal - swusage;
> > - 			}
> > - 
> > - 			ret = cgroup_ops->get_memory_swappiness(cgroup_ops, cgroup, &memswpriority_str);
> > --- 
> > -2.20.1
> > -
> > diff --git a/debian/patches/series b/debian/patches/series
> > index b4bddb8..bf650b4 100644
> > --- a/debian/patches/series
> > +++ b/debian/patches/series
> > @@ -1,9 +1 @@
> >  do-not-start-without-lxcfs.patch
> > -pve/0001-meminfo-show-host-swap-values-when-no-limit-or-equal.patch
> > -pve/0002-README-clarify-SWAP.patch
> > -pve/0003-cgroups-Add-get_memory_swappiness.patch
> > -pve/0004-swap-Fix-usage-reporting.patch
> > -pve/0005-swap-Only-report-usage-when-swappiness-is-0.patch
> > -pve/0006-swap-Tweak-meminfo-logic.patch
> > -pve/0007-swap-Make-proc-swaps-match-proc-meminfo.patch
> > -pve/0008-swap-Remove-now-unused-variable.patch
> > diff --git a/lxcfs b/lxcfs
> > index db61421..725e90b 160000
> > --- a/lxcfs
> > +++ b/lxcfs
> > @@ -1 +1 @@
> > -Subproject commit db61421bf1a847f39d404f7acc2cbeb6fba89eae
> > +Subproject commit 725e90b5d67e264ee4a7ff0851c79728feab1da8
> > 
> 




^ permalink raw reply	[flat|nested] 4+ messages in thread

* Re: [pve-devel] SPAM: [PATCH lxcfs] bump version to 4.0.7-pve1
  2021-04-15  9:44   ` Oguz Bektas
@ 2021-04-15 10:47     ` Thomas Lamprecht
  0 siblings, 0 replies; 4+ messages in thread
From: Thomas Lamprecht @ 2021-04-15 10:47 UTC (permalink / raw)
  To: Oguz Bektas, Proxmox VE development discussion

On 15.04.21 11:44, Oguz Bektas wrote:
> hi,
> 
>> please ensure that your git-send-email does not picks up S-b, R-b, etc. git trailers
>> of patches by patches and wrongly CC's those people like happened here.
> oops sorry about that.
> 
>> Further, separate debian/changelog entries from the actual changes, in general
>> rather not send updates to debian/changelog.
>>
>> It would be also good to have a short summary of changes/fixes/features from that
>> new release, i.e., why should be update (what's fixed, or what's changed and thus
>> a potential regression?)...
> it's a minor release and the main highlight is the improvements in swap behavior
> consistency.
> 
> basically the previously cherry-picked patches for some swap
> and memory improvements are now merged upstream.
> 
> https://discuss.linuxcontainers.org/t/lxcfs-4-0-7-lts-has-been-released/9893
> 

So this has basically zero value... I'd like to avoid generating work by just
redoing a release with the exact state we have already build and released in
December 2020...




^ permalink raw reply	[flat|nested] 4+ messages in thread

end of thread, other threads:[~2021-04-15 10:47 UTC | newest]

Thread overview: 4+ messages (download: mbox.gz / follow: Atom feed)
-- links below jump to the message on this page --
2021-04-14 12:24 [pve-devel] SPAM: [PATCH lxcfs] bump version to 4.0.7-pve1 Oguz Bektas
2021-04-14 13:57 ` Thomas Lamprecht
2021-04-15  9:44   ` Oguz Bektas
2021-04-15 10:47     ` Thomas Lamprecht

This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.
Service provided by Proxmox Server Solutions GmbH | Privacy | Legal