[pve-devel] applied: [PATCH lxcfs] update to lxcfs-2.0.6

Wolfgang Bumiller w.bumiller at proxmox.com
Wed Jan 25 10:55:56 CET 2017


---
dropped patches which went upstream

 Makefile                                           |   6 +-
 debian/changelog                                   |   6 +
 .../0001-fix-swap-values-with-nested-cgroups.patch | 164 ---------------------
 .../fix-offsets-for-memory.stat-parsing.patch      |  45 ------
 debian/patches/series                              |   2 -
 lxcfs.tgz                                          | Bin 143610 -> 142586 bytes
 6 files changed, 9 insertions(+), 214 deletions(-)
 delete mode 100644 debian/patches/0001-fix-swap-values-with-nested-cgroups.patch
 delete mode 100644 debian/patches/fix-offsets-for-memory.stat-parsing.patch

diff --git a/Makefile b/Makefile
index b27c0c6..d03fce2 100644
--- a/Makefile
+++ b/Makefile
@@ -1,8 +1,8 @@
-RELEASE=4.3
+RELEASE=4.4
 
 PACKAGE=lxcfs
-PKGVER=2.0.5
-DEBREL=pve2
+PKGVER=2.0.6
+DEBREL=pve1
 
 SRCDIR=${PACKAGE}
 SRCTAR=${SRCDIR}.tgz
diff --git a/debian/changelog b/debian/changelog
index 0c54a59..18eddcd 100644
--- a/debian/changelog
+++ b/debian/changelog
@@ -1,3 +1,9 @@
+lxcfs (2.0.6-pve1) unstable; urgency=medium
+
+  * update to lxcfs-2.0.6
+
+ -- Proxmox Support Team <support at proxmox.com>  Wed, 25 Jan 2017 10:46:06 +0100
+
 lxcfs (2.0.5-pve2) unstable; urgency=medium
 
   * fix swap values with nested cgroups
diff --git a/debian/patches/0001-fix-swap-values-with-nested-cgroups.patch b/debian/patches/0001-fix-swap-values-with-nested-cgroups.patch
deleted file mode 100644
index c217a7d..0000000
--- a/debian/patches/0001-fix-swap-values-with-nested-cgroups.patch
+++ /dev/null
@@ -1,164 +0,0 @@
-From 018246ffa81294d6d6a9151e0310c82a3548fe2e Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= <f.gruenbichler at proxmox.com>
-Date: Thu, 22 Dec 2016 13:12:04 +0100
-Subject: [PATCH lxcfs] fix swap values with nested cgroups
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-the memory limit was already correctly set by looking at the
-whole cgroup hierarchy and using the minimum value, refactor
-that code to support arbitrary files in the memory cgroup
-and reuse it for the memsw limit as well.
-
-Signed-off-by: Fabian Grünbichler <f.gruenbichler at proxmox.com>
----
- bindings.c | 52 +++++++++++-----------------------------------------
- 1 file changed, 11 insertions(+), 41 deletions(-)
-
-diff --git a/bindings.c b/bindings.c
-index 93c5aaa..3516be6 100644
---- a/bindings.c
-+++ b/bindings.c
-@@ -3046,12 +3046,12 @@ static int read_file(const char *path, char *buf, size_t size,
-  * FUSE ops for /proc
-  */
- 
--static unsigned long get_memlimit(const char *cgroup)
-+static unsigned long get_memlimit(const char *cgroup, const char *file)
- {
- 	char *memlimit_str = NULL;
- 	unsigned long memlimit = -1;
- 
--	if (cgfs_get_value("memory", cgroup, "memory.limit_in_bytes", &memlimit_str))
-+	if (cgfs_get_value("memory", cgroup, file, &memlimit_str))
- 		memlimit = strtoul(memlimit_str, NULL, 10);
- 
- 	free(memlimit_str);
-@@ -3059,16 +3059,16 @@ static unsigned long get_memlimit(const char *cgroup)
- 	return memlimit;
- }
- 
--static unsigned long get_min_memlimit(const char *cgroup)
-+static unsigned long get_min_memlimit(const char *cgroup, const char *file)
- {
- 	char *copy = strdupa(cgroup);
- 	unsigned long memlimit = 0, retlimit;
- 
--	retlimit = get_memlimit(copy);
-+	retlimit = get_memlimit(copy, file);
- 
- 	while (strcmp(copy, "/") != 0) {
- 		copy = dirname(copy);
--		memlimit = get_memlimit(copy);
-+		memlimit = get_memlimit(copy, file);
- 		if (memlimit != -1 && memlimit < retlimit)
- 			retlimit = memlimit;
- 	};
-@@ -3083,8 +3083,7 @@ static int proc_meminfo_read(char *buf, size_t size, off_t offset,
- 	struct file_info *d = (struct file_info *)fi->fh;
- 	char *cg;
- 	char *memusage_str = NULL, *memstat_str = NULL,
--		*memswlimit_str = NULL, *memswusage_str = NULL,
--		*memswlimit_default_str = NULL, *memswusage_default_str = NULL;
-+		*memswlimit_str = NULL, *memswusage_str = NULL;
- 	unsigned long memlimit = 0, memusage = 0, memswlimit = 0, memswusage = 0,
- 		cached = 0, hosttotal = 0, active_anon = 0, inactive_anon = 0,
- 		active_file = 0, inactive_file = 0, unevictable = 0;
-@@ -3113,7 +3112,7 @@ static int proc_meminfo_read(char *buf, size_t size, off_t offset,
- 		return read_file("/proc/meminfo", buf, size, d);
- 	prune_init_slice(cg);
- 
--	memlimit = get_min_memlimit(cg);
-+	memlimit = get_min_memlimit(cg, "memory.limit_in_bytes");
- 	if (!cgfs_get_value("memory", cg, "memory.usage_in_bytes", &memusage_str))
- 		goto err;
- 	if (!cgfs_get_value("memory", cg, "memory.stat", &memstat_str))
-@@ -3124,20 +3123,9 @@ static int proc_meminfo_read(char *buf, size_t size, off_t offset,
- 	if(cgfs_get_value("memory", cg, "memory.memsw.limit_in_bytes", &memswlimit_str) &&
- 		cgfs_get_value("memory", cg, "memory.memsw.usage_in_bytes", &memswusage_str))
- 	{
--		/* If swapaccounting is turned on, then default value is assumed to be that of cgroup / */
--		if (!cgfs_get_value("memory", "/", "memory.memsw.limit_in_bytes", &memswlimit_default_str))
--			goto err;
--		if (!cgfs_get_value("memory", "/", "memory.memsw.usage_in_bytes", &memswusage_default_str))
--			goto err;
--
--		memswlimit = strtoul(memswlimit_str, NULL, 10);
-+		memswlimit = get_min_memlimit(cg, "memory.memsw.limit_in_bytes");
- 		memswusage = strtoul(memswusage_str, NULL, 10);
- 
--		if (!strcmp(memswlimit_str, memswlimit_default_str))
--			memswlimit = 0;
--		if (!strcmp(memswusage_str, memswusage_default_str))
--			memswusage = 0;
--
- 		memswlimit = memswlimit / 1024;
- 		memswusage = memswusage / 1024;
- 	}
-@@ -3257,8 +3245,6 @@ err:
- 	free(memswlimit_str);
- 	free(memswusage_str);
- 	free(memstat_str);
--	free(memswlimit_default_str);
--	free(memswusage_default_str);
- 	return rv;
- }
- 
-@@ -3859,8 +3845,7 @@ static int proc_swaps_read(char *buf, size_t size, off_t offset,
- 	struct fuse_context *fc = fuse_get_context();
- 	struct file_info *d = (struct file_info *)fi->fh;
- 	char *cg = NULL;
--	char *memswlimit_str = NULL, *memlimit_str = NULL, *memusage_str = NULL, *memswusage_str = NULL,
--             *memswlimit_default_str = NULL, *memswusage_default_str = NULL;
-+	char *memswlimit_str = NULL, *memlimit_str = NULL, *memusage_str = NULL, *memswusage_str = NULL;
- 	unsigned long memswlimit = 0, memlimit = 0, memusage = 0, memswusage = 0, swap_total = 0, swap_free = 0;
- 	ssize_t total_len = 0, rv = 0;
- 	ssize_t l = 0;
-@@ -3885,32 +3870,19 @@ static int proc_swaps_read(char *buf, size_t size, off_t offset,
- 		return read_file("/proc/swaps", buf, size, d);
- 	prune_init_slice(cg);
- 
--	if (!cgfs_get_value("memory", cg, "memory.limit_in_bytes", &memlimit_str))
--		goto err;
-+	memlimit = get_min_memlimit(cg, "memory.limit_in_bytes");
- 
- 	if (!cgfs_get_value("memory", cg, "memory.usage_in_bytes", &memusage_str))
- 		goto err;
- 
--	memlimit = strtoul(memlimit_str, NULL, 10);
- 	memusage = strtoul(memusage_str, NULL, 10);
- 
- 	if (cgfs_get_value("memory", cg, "memory.memsw.usage_in_bytes", &memswusage_str) &&
- 	    cgfs_get_value("memory", cg, "memory.memsw.limit_in_bytes", &memswlimit_str)) {
- 
--                /* If swap accounting is turned on, then default value is assumed to be that of cgroup / */
--                if (!cgfs_get_value("memory", "/", "memory.memsw.limit_in_bytes", &memswlimit_default_str))
--                    goto err;
--                if (!cgfs_get_value("memory", "/", "memory.memsw.usage_in_bytes", &memswusage_default_str))
--                    goto err;
--
--		memswlimit = strtoul(memswlimit_str, NULL, 10);
-+		memswlimit = get_min_memlimit(cg, "memory.memsw.limit_in_bytes");
- 		memswusage = strtoul(memswusage_str, NULL, 10);
- 
--                if (!strcmp(memswlimit_str, memswlimit_default_str))
--                    memswlimit = 0;
--                if (!strcmp(memswusage_str, memswusage_default_str))
--                    memswusage = 0;
--
- 		swap_total = (memswlimit - memlimit) / 1024;
- 		swap_free = (memswusage - memusage) / 1024;
- 	}
-@@ -3964,8 +3936,6 @@ err:
- 	free(memlimit_str);
- 	free(memusage_str);
- 	free(memswusage_str);
--	free(memswusage_default_str);
--	free(memswlimit_default_str);
- 	return rv;
- }
- 
--- 
-2.1.4
-
diff --git a/debian/patches/fix-offsets-for-memory.stat-parsing.patch b/debian/patches/fix-offsets-for-memory.stat-parsing.patch
deleted file mode 100644
index ca937fa..0000000
--- a/debian/patches/fix-offsets-for-memory.stat-parsing.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From 145cc4a9922aeabeecce69225c9476aaffe147ad Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Fabian=20Gr=C3=BCnbichler?= <f.gruenbichler at proxmox.com>
-Date: Wed, 19 Oct 2016 09:06:59 +0200
-Subject: [PATCH] fix offsets for memory.stat parsing
-
----
- bindings.c | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/bindings.c b/bindings.c
-index 2f78ab5..f433ea2 100644
---- a/bindings.c
-+++ b/bindings.c
-@@ -2958,22 +2958,22 @@ static void parse_memstat(char *memstat, unsigned long *cached,
- 
- 	while (*memstat) {
- 		if (startswith(memstat, "cache")) {
--			sscanf(memstat + 11, "%lu", cached);
-+			sscanf(memstat + sizeof("cache"), "%lu", cached);
- 			*cached /= 1024;
- 		} else if (startswith(memstat, "active_anon")) {
--			sscanf(memstat + 11, "%lu", active_anon);
-+			sscanf(memstat + sizeof("active_anon"), "%lu", active_anon);
- 			*active_anon /= 1024;
- 		} else if (startswith(memstat, "inactive_anon")) {
--			sscanf(memstat + 11, "%lu", inactive_anon);
-+			sscanf(memstat + sizeof("inactive_anon"), "%lu", inactive_anon);
- 			*inactive_anon /= 1024;
- 		} else if (startswith(memstat, "active_file")) {
--			sscanf(memstat + 11, "%lu", active_file);
-+			sscanf(memstat + sizeof("active_file"), "%lu", active_file);
- 			*active_file /= 1024;
- 		} else if (startswith(memstat, "inactive_file")) {
--			sscanf(memstat + 11, "%lu", inactive_file);
-+			sscanf(memstat + sizeof("inactive_file"), "%lu", inactive_file);
- 			*inactive_file /= 1024;
- 		} else if (startswith(memstat, "unevictable")) {
--			sscanf(memstat + 11, "%lu", unevictable);
-+			sscanf(memstat + sizeof("unevictable"), "%lu", unevictable);
- 			*unevictable /= 1024;
- 		}
- 		eol = strchr(memstat, '\n');
--- 
-2.1.4
-
diff --git a/debian/patches/series b/debian/patches/series
index 411c72e..bf650b4 100644
--- a/debian/patches/series
+++ b/debian/patches/series
@@ -1,3 +1 @@
 do-not-start-without-lxcfs.patch
-fix-offsets-for-memory.stat-parsing.patch
-0001-fix-swap-values-with-nested-cgroups.patch
diff --git a/lxcfs.tgz b/lxcfs.tgz
index f179e0b..4102790 100644
Binary files a/lxcfs.tgz and b/lxcfs.tgz differ
-- 
2.1.4





More information about the pve-devel mailing list