upgrade to 5.0.4
Signed-off-by: vegbir <yangjiaqi16@huawei.com>
This commit is contained in:
parent
113939866c
commit
9cae669874
@ -1,7 +1,7 @@
|
||||
From 04c55841409a238f8b12c15395006c5793b4a508 Mon Sep 17 00:00:00 2001
|
||||
From c0a2baa7e79ef6d7a0060611b4244c4946c246b8 Mon Sep 17 00:00:00 2001
|
||||
From: vegbir <yangjiaqi16@huawei.com>
|
||||
Date: Tue, 11 Jul 2023 08:41:53 +0000
|
||||
Subject: [PATCH 01/16] systemd
|
||||
Subject: [PATCH 01/15] systemd
|
||||
|
||||
append:remove-lxcfs-tools-dependency-for-common-use
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From a6346a7a51385ee588a624775a91ce7ac3fb4dd3 Mon Sep 17 00:00:00 2001
|
||||
From 79d335011ffccfee542ee5068fda6257a9ac1e59 Mon Sep 17 00:00:00 2001
|
||||
From: vegbir <yangjiaqi16@huawei.com>
|
||||
Date: Tue, 11 Jul 2023 09:18:09 +0000
|
||||
Subject: [PATCH 02/16] show dev name in container
|
||||
Date: Thu, 27 Jul 2023 06:40:47 +0000
|
||||
Subject: [PATCH 02/15] show dev name in container
|
||||
|
||||
append: fix hang
|
||||
append: limit-stat-by-quota-period-setting
|
||||
@ -16,7 +16,7 @@ Signed-off-by: vegbir <yangjiaqi16@huawei.com>
|
||||
1 file changed, 181 insertions(+), 2 deletions(-)
|
||||
|
||||
diff --git a/src/proc_fuse.c b/src/proc_fuse.c
|
||||
index 23e0b43..4503373 100644
|
||||
index 25af10a..cde48ca 100644
|
||||
--- a/src/proc_fuse.c
|
||||
+++ b/src/proc_fuse.c
|
||||
@@ -28,6 +28,7 @@
|
||||
@ -78,7 +78,7 @@ index 23e0b43..4503373 100644
|
||||
+ struct dirent *ptr;
|
||||
+ struct stat dev_stat;
|
||||
+ struct devinfo *head = NULL, *end;
|
||||
+ char fpath[261], dev_name[256];
|
||||
+ char fpath[261], dev_name[101];
|
||||
+ pid_t child_pid;
|
||||
+ int mypipe[2];
|
||||
+ int dev_num;
|
||||
@ -156,7 +156,7 @@ index 23e0b43..4503373 100644
|
||||
+ wait_for_pid(child_pid);
|
||||
+ child_pid = 0;
|
||||
+ memset(dev_name, 0, sizeof(dev_name));
|
||||
+ while (fscanf(stream, "%255s%d", dev_name, &dev_num) == 2) {
|
||||
+ while (fscanf(stream, "%100s%d", dev_name, &dev_num) == 2) {
|
||||
+ if (dev_num == 0) {
|
||||
+ break;
|
||||
+ }
|
||||
@ -236,8 +236,8 @@ index 23e0b43..4503373 100644
|
||||
get_blkio_io_value(io_serviced_str, stats.major, stats.minor, "Read", &stats.read);
|
||||
get_blkio_io_value(io_serviced_str, stats.major, stats.minor, "Write", &stats.write);
|
||||
get_blkio_io_value(io_serviced_str, stats.major, stats.minor, "Discard", &stats.discard);
|
||||
@@ -664,10 +838,14 @@ static int proc_diskstats_read(char *buf, size_t size, off_t offset,
|
||||
continue;
|
||||
@@ -672,10 +846,14 @@ static int proc_diskstats_read(char *buf, size_t size, off_t offset,
|
||||
}
|
||||
|
||||
l = snprintf(cache, cache_size, "%s", lbuf);
|
||||
- if (l < 0)
|
||||
@ -253,7 +253,7 @@ index 23e0b43..4503373 100644
|
||||
|
||||
cache += l;
|
||||
cache_size -= l;
|
||||
@@ -679,6 +857,7 @@ static int proc_diskstats_read(char *buf, size_t size, off_t offset,
|
||||
@@ -687,6 +865,7 @@ static int proc_diskstats_read(char *buf, size_t size, off_t offset,
|
||||
if (total_len > size)
|
||||
total_len = size;
|
||||
memcpy(buf, d->buf, total_len);
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From 2a7730cfc9d7ca747b6ff4c99a1fc6508f667b27 Mon Sep 17 00:00:00 2001
|
||||
From 735d69c8696b5ddc8090ad7906f07fe2fe5f9992 Mon Sep 17 00:00:00 2001
|
||||
From: vegbir <yangjiaqi16@huawei.com>
|
||||
Date: Tue, 11 Jul 2023 09:26:08 +0000
|
||||
Subject: [PATCH 03/16] lxcfs fix cpuinfo print
|
||||
Date: Thu, 27 Jul 2023 07:00:28 +0000
|
||||
Subject: [PATCH 03/15] lxcfs fix cpuinfo print
|
||||
|
||||
Signed-off-by: vegbir <yangjiaqi16@huawei.com>
|
||||
---
|
||||
@ -9,10 +9,10 @@ Signed-off-by: vegbir <yangjiaqi16@huawei.com>
|
||||
1 file changed, 11 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/proc_cpuview.c b/src/proc_cpuview.c
|
||||
index 89f3666..0cf37eb 100644
|
||||
index f5464de..76f8089 100644
|
||||
--- a/src/proc_cpuview.c
|
||||
+++ b/src/proc_cpuview.c
|
||||
@@ -1048,7 +1048,17 @@ int proc_cpuinfo_read(char *buf, size_t size, off_t offset,
|
||||
@@ -1051,7 +1051,17 @@ int proc_cpuinfo_read(char *buf, size_t size, off_t offset,
|
||||
|
||||
}
|
||||
if (am_printing) {
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From b2c83183e7ace5049bab265ec3084335165ff570 Mon Sep 17 00:00:00 2001
|
||||
From 611a0dec7317fa0441a5923a8e825e804060c998 Mon Sep 17 00:00:00 2001
|
||||
From: vegbir <yangjiaqi16@huawei.com>
|
||||
Date: Wed, 12 Jul 2023 07:07:16 +0000
|
||||
Subject: [PATCH 04/16] fix memory leak
|
||||
Date: Thu, 27 Jul 2023 07:07:55 +0000
|
||||
Subject: [PATCH 04/15] fix memory leak
|
||||
|
||||
Signed-off-by: vegbir <yangjiaqi16@huawei.com>
|
||||
---
|
||||
@ -9,7 +9,7 @@ Signed-off-by: vegbir <yangjiaqi16@huawei.com>
|
||||
1 file changed, 7 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/src/proc_fuse.c b/src/proc_fuse.c
|
||||
index 4503373..c615e8e 100644
|
||||
index cde48ca..ed70ea7 100644
|
||||
--- a/src/proc_fuse.c
|
||||
+++ b/src/proc_fuse.c
|
||||
@@ -304,6 +304,8 @@ static uint64_t get_min_memlimit(const char *cgroup, bool swap)
|
||||
@ -30,7 +30,7 @@ index 4503373..c615e8e 100644
|
||||
|
||||
ret = cgroup_ops->get_memory_current(cgroup_ops, cgroup, &memusage_str);
|
||||
if (ret < 0)
|
||||
@@ -1442,6 +1446,8 @@ static int proc_meminfo_read(char *buf, size_t size, off_t offset,
|
||||
@@ -1453,6 +1457,8 @@ static int proc_meminfo_read(char *buf, size_t size, off_t offset,
|
||||
return read_file_fuse("/proc/meminfo", buf, size, d);
|
||||
|
||||
memlimit = get_min_memlimit(cgroup, false);
|
||||
@ -39,7 +39,7 @@ index 4503373..c615e8e 100644
|
||||
|
||||
/*
|
||||
* Following values are allowed to fail, because swapaccount might be
|
||||
@@ -1456,9 +1462,9 @@ static int proc_meminfo_read(char *buf, size_t size, off_t offset,
|
||||
@@ -1467,9 +1473,9 @@ static int proc_meminfo_read(char *buf, size_t size, off_t offset,
|
||||
|
||||
memusage /= 1024;
|
||||
memlimit /= 1024;
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From fb10b60dd72ba36752978c0740b66b572ded4feb Mon Sep 17 00:00:00 2001
|
||||
From a7f9759ef8ce354ab2ad420d4a8c5b4260d491fc Mon Sep 17 00:00:00 2001
|
||||
From: vegbir <yangjiaqi16@huawei.com>
|
||||
Date: Wed, 12 Jul 2023 07:19:20 +0000
|
||||
Subject: [PATCH 05/16] fix concurrency problem
|
||||
Date: Thu, 27 Jul 2023 07:24:18 +0000
|
||||
Subject: [PATCH 05/15] fix concurrency problem
|
||||
|
||||
Signed-off-by: vegbir <yangjiaqi16@huawei.com>
|
||||
---
|
||||
@ -81,10 +81,10 @@ index f431686..d4c8598 100644
|
||||
extern char *readat_file(int fd, const char *path);
|
||||
extern char *read_file_strip_newline(const char *fnam);
|
||||
diff --git a/src/proc_fuse.c b/src/proc_fuse.c
|
||||
index c615e8e..80db328 100644
|
||||
index ed70ea7..0af559f 100644
|
||||
--- a/src/proc_fuse.c
|
||||
+++ b/src/proc_fuse.c
|
||||
@@ -1736,6 +1736,9 @@ __lxcfs_fuse_ops int proc_read(const char *path, char *buf, size_t size,
|
||||
@@ -1747,6 +1747,9 @@ __lxcfs_fuse_ops int proc_read(const char *path, char *buf, size_t size,
|
||||
{
|
||||
struct file_info *f = INTTYPE_TO_PTR(fi->fh);
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From 615f5343cd8180308fa4b1a42faf17686c9f7651 Mon Sep 17 00:00:00 2001
|
||||
From 6a744fd9ba541e535e611f066c4038330605fe2b Mon Sep 17 00:00:00 2001
|
||||
From: vegbir <yangjiaqi16@huawei.com>
|
||||
Date: Wed, 12 Jul 2023 07:48:40 +0000
|
||||
Subject: [PATCH 06/16] set null after free
|
||||
Subject: [PATCH 06/15] set null after free
|
||||
|
||||
Signed-off-by: vegbir <yangjiaqi16@huawei.com>
|
||||
---
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From ded1a411d27dde558cc3d057cd65909e9cba1974 Mon Sep 17 00:00:00 2001
|
||||
From a6e4ec48f7ad6e64eb95bcd46e8656f1cef95cfd Mon Sep 17 00:00:00 2001
|
||||
From: vegbir <yangjiaqi16@huawei.com>
|
||||
Date: Wed, 12 Jul 2023 08:25:20 +0000
|
||||
Subject: [PATCH 07/16] limit stat by quota period setting
|
||||
Subject: [PATCH 07/15] limit stat by quota period setting
|
||||
|
||||
Signed-off-by: vegbir <yangjiaqi16@huawei.com>
|
||||
---
|
||||
@ -9,10 +9,10 @@ Signed-off-by: vegbir <yangjiaqi16@huawei.com>
|
||||
1 file changed, 12 insertions(+)
|
||||
|
||||
diff --git a/src/proc_fuse.c b/src/proc_fuse.c
|
||||
index 80db328..dfcd72c 100644
|
||||
index 0af559f..e69e867 100644
|
||||
--- a/src/proc_fuse.c
|
||||
+++ b/src/proc_fuse.c
|
||||
@@ -1079,6 +1079,8 @@ static int proc_stat_read(char *buf, size_t size, off_t offset,
|
||||
@@ -1087,6 +1087,8 @@ static int proc_stat_read(char *buf, size_t size, off_t offset,
|
||||
size_t linelen = 0, total_len = 0;
|
||||
int curcpu = -1; /* cpu numbering starts at 0 */
|
||||
int physcpu = 0;
|
||||
@ -21,7 +21,7 @@ index 80db328..dfcd72c 100644
|
||||
uint64_t user = 0, nice = 0, system = 0, idle = 0, iowait = 0, irq = 0,
|
||||
softirq = 0, steal = 0, guest = 0, guest_nice = 0;
|
||||
uint64_t user_sum = 0, nice_sum = 0, system_sum = 0, idle_sum = 0,
|
||||
@@ -1127,6 +1129,13 @@ static int proc_stat_read(char *buf, size_t size, off_t offset,
|
||||
@@ -1138,6 +1140,13 @@ static int proc_stat_read(char *buf, size_t size, off_t offset,
|
||||
if (!cpuset)
|
||||
return 0;
|
||||
|
||||
@ -30,12 +30,12 @@ index 80db328..dfcd72c 100644
|
||||
+ else
|
||||
+ use_view = false;
|
||||
+ if (use_view)
|
||||
+ max_cpus = max_cpu_count(cg);
|
||||
+ max_cpus = max_cpu_count(cg, cpu_cg);
|
||||
+
|
||||
f = fopen_cached("/proc/stat", "re", &fopen_cache);
|
||||
if (!f)
|
||||
return 0;
|
||||
@@ -1175,6 +1184,9 @@ static int proc_stat_read(char *buf, size_t size, off_t offset,
|
||||
@@ -1186,6 +1195,9 @@ static int proc_stat_read(char *buf, size_t size, off_t offset,
|
||||
continue;
|
||||
}
|
||||
|
||||
|
||||
@ -1,15 +1,15 @@
|
||||
From 21c359672300c687ad9b1f28c4c1be4ca00f590a Mon Sep 17 00:00:00 2001
|
||||
From 0dded445efa7b53886081beab5b74facf0378287 Mon Sep 17 00:00:00 2001
|
||||
From: vegbir <yangjiaqi16@huawei.com>
|
||||
Date: Wed, 12 Jul 2023 08:31:21 +0000
|
||||
Subject: [PATCH 08/16] diskstats support devicemapper device
|
||||
Date: Thu, 27 Jul 2023 08:15:49 +0000
|
||||
Subject: [PATCH 08/15] diskstats support devicemapper device
|
||||
|
||||
Signed-off-by: vegbir <yangjiaqi16@huawei.com>
|
||||
---
|
||||
src/proc_fuse.c | 99 ++++++++++++++++++++++++++++++++++++++-----------
|
||||
1 file changed, 77 insertions(+), 22 deletions(-)
|
||||
src/proc_fuse.c | 133 ++++++++++++++++++++++++++++++++++++++++++------
|
||||
1 file changed, 117 insertions(+), 16 deletions(-)
|
||||
|
||||
diff --git a/src/proc_fuse.c b/src/proc_fuse.c
|
||||
index dfcd72c..f68212d 100644
|
||||
index e69e867..1f732ff 100644
|
||||
--- a/src/proc_fuse.c
|
||||
+++ b/src/proc_fuse.c
|
||||
@@ -638,6 +638,15 @@ void free_devinfo_list(struct devinfo *ptr)
|
||||
@ -59,15 +59,99 @@ index dfcd72c..f68212d 100644
|
||||
get_blkio_io_value(io_serviced_str, stats.major, stats.minor, "Read", &stats.read);
|
||||
get_blkio_io_value(io_serviced_str, stats.major, stats.minor, "Write", &stats.write);
|
||||
get_blkio_io_value(io_serviced_str, stats.major, stats.minor, "Discard", &stats.discard);
|
||||
@@ -800,27 +816,28 @@ static int proc_diskstats_read(char *buf, size_t size, off_t offset,
|
||||
if (stats.read || stats.write || stats.read_merged || stats.write_merged ||
|
||||
@@ -801,26 +817,111 @@ static int proc_diskstats_read(char *buf, size_t size, off_t offset,
|
||||
stats.read_sectors || stats.write_sectors || stats.read_ticks ||
|
||||
stats.write_ticks || stats.ios_pgr || stats.total_ticks || stats.rq_ticks ||
|
||||
- stats.discard_merged || stats.discard_sectors || stats.discard_ticks)
|
||||
- snprintf(
|
||||
- lbuf,
|
||||
- 256,
|
||||
- "%u %u" /* major, minor */
|
||||
stats.write_ticks || stats.ios_pgr || stats.total_ticks || stats.rq_ticks || stats.discard ||
|
||||
stats.discard_merged || stats.discard_sectors || stats.discard_ticks) {
|
||||
+ if (need_record_diskstats(stats.major, stats.minor)) {
|
||||
+ sscanf(line, "%u %u %71s %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu\n",
|
||||
+ &stats.major,
|
||||
+ &stats.minor,
|
||||
+ tmp_dev_name,
|
||||
+ &stats.read,
|
||||
+ &stats.read_merged,
|
||||
+ &stats.read_sectors,
|
||||
+ &stats.read_ticks,
|
||||
+ &stats.write,
|
||||
+ &stats.write_merged,
|
||||
+ &stats.write_sectors,
|
||||
+ &stats.write_ticks,
|
||||
+ &stats.ios_pgr,
|
||||
+ &stats.total_ticks,
|
||||
+ &stats.rq_ticks,
|
||||
+ &stats.discard,
|
||||
+ &stats.discard_merged,
|
||||
+ &stats.discard_sectors,
|
||||
+ &stats.discard_ticks);
|
||||
+ }
|
||||
+ ret = strnprintf(
|
||||
+ lbuf,
|
||||
+ sizeof(lbuf),
|
||||
+ "%u %u" /* major, minor */
|
||||
+ " %s" /* dev_name */
|
||||
+ " %" PRIu64 /* read */
|
||||
+ " %" PRIu64 /* read_merged */
|
||||
+ " %" PRIu64 /* read_sectors */
|
||||
+ " %" PRIu64 /* read_ticks */
|
||||
+ " %" PRIu64 /* write */
|
||||
+ " %" PRIu64 /* write_merged */
|
||||
+ " %" PRIu64 /* write_sectors */
|
||||
+ " %" PRIu64 /* write_ticks */
|
||||
+ " %" PRIu64 /* ios_pgr */
|
||||
+ " %" PRIu64 /* total_ticks */
|
||||
+ " %" PRIu64 /* rq_ticks */
|
||||
+ " %" PRIu64 /* discard */
|
||||
+ " %" PRIu64 /* discard_merged */
|
||||
+ " %" PRIu64 /* discard_sectors */
|
||||
+ " %" PRIu64 /* discard_ticks */
|
||||
+ "\n",
|
||||
+ stats.major,
|
||||
+ stats.minor,
|
||||
+ stats.dev_name,
|
||||
+ stats.read,
|
||||
+ stats.read_merged,
|
||||
+ stats.read_sectors,
|
||||
+ stats.read_ticks,
|
||||
+ stats.write,
|
||||
+ stats.write_merged,
|
||||
+ stats.write_sectors,
|
||||
+ stats.write_ticks,
|
||||
+ stats.ios_pgr,
|
||||
+ stats.total_ticks,
|
||||
+ stats.rq_ticks,
|
||||
+ stats.discard,
|
||||
+ stats.discard_merged,
|
||||
+ stats.discard_sectors,
|
||||
+ stats.discard_ticks);
|
||||
+ if (ret < 0) {
|
||||
+ lxcfs_error("Insufficient buffer for %u:%u %s diskstats",
|
||||
+ stats.major, stats.minor, stats.dev_name);
|
||||
+ continue;
|
||||
+ }
|
||||
+ } else if (need_record_diskstats(stats.major, stats.minor)) {
|
||||
+ sscanf(line, "%u %u %71s %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu\n",
|
||||
+ &stats.major,
|
||||
+ &stats.minor,
|
||||
+ tmp_dev_name,
|
||||
+ &stats.read,
|
||||
+ &stats.read_merged,
|
||||
+ &stats.read_sectors,
|
||||
+ &stats.read_ticks,
|
||||
+ &stats.write,
|
||||
+ &stats.write_merged,
|
||||
+ &stats.write_sectors,
|
||||
+ &stats.write_ticks,
|
||||
+ &stats.ios_pgr,
|
||||
+ &stats.total_ticks,
|
||||
+ &stats.rq_ticks,
|
||||
+ &stats.discard,
|
||||
+ &stats.discard_merged,
|
||||
+ &stats.discard_sectors,
|
||||
+ &stats.discard_ticks);
|
||||
ret = strnprintf(
|
||||
lbuf,
|
||||
sizeof(lbuf),
|
||||
"%u %u" /* major, minor */
|
||||
- " %s" /* dev_name */
|
||||
- " %" PRIu64 /* read */
|
||||
- " %" PRIu64 /* read_merged */
|
||||
@ -80,83 +164,29 @@ index dfcd72c..f68212d 100644
|
||||
- " %" PRIu64 /* ios_pgr */
|
||||
- " %" PRIu64 /* total_ticks */
|
||||
- " %" PRIu64 /* rq_ticks */
|
||||
- " %" PRIu64 /* discard */
|
||||
- " %" PRIu64 /* discard_merged */
|
||||
- " %" PRIu64 /* discard_sectors */
|
||||
- " %" PRIu64 /* discard_ticks */
|
||||
- "\n",
|
||||
+ stats.discard_merged || stats.discard_sectors || stats.discard_ticks) {
|
||||
+ if (need_record_diskstats(stats.major, stats.minor)) {
|
||||
+ sscanf(line, "%u %u %71s %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu\n",
|
||||
+ &stats.major,
|
||||
+ &stats.minor,
|
||||
+ tmp_dev_name,
|
||||
+ &stats.read,
|
||||
+ &stats.read_merged,
|
||||
+ &stats.read_sectors,
|
||||
+ &stats.read_ticks,
|
||||
+ &stats.write,
|
||||
+ &stats.write_merged,
|
||||
+ &stats.write_sectors,
|
||||
+ &stats.write_ticks,
|
||||
+ &stats.ios_pgr,
|
||||
+ &stats.total_ticks,
|
||||
+ &stats.rq_ticks,
|
||||
+ &stats.discard_merged,
|
||||
+ &stats.discard_sectors,
|
||||
+ &stats.discard_ticks);
|
||||
+ }
|
||||
+ snprintf(lbuf, 256, "%u %u %s %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu\n",
|
||||
+ " %s" /* dev_name */
|
||||
+ " %" PRIu64 /* read */
|
||||
+ " %" PRIu64 /* read_merged */
|
||||
+ " %" PRIu64 /* read_sectors */
|
||||
+ " %" PRIu64 /* read_ticks */
|
||||
+ " %" PRIu64 /* write */
|
||||
+ " %" PRIu64 /* write_merged */
|
||||
+ " %" PRIu64 /* write_sectors */
|
||||
+ " %" PRIu64 /* write_ticks */
|
||||
+ " %" PRIu64 /* ios_pgr */
|
||||
+ " %" PRIu64 /* total_ticks */
|
||||
+ " %" PRIu64 /* rq_ticks */
|
||||
+ " %" PRIu64 /* discard */
|
||||
+ " %" PRIu64 /* discard_merged */
|
||||
+ " %" PRIu64 /* discard_sectors */
|
||||
+ " %" PRIu64 /* discard_ticks */
|
||||
"\n",
|
||||
stats.major,
|
||||
stats.minor,
|
||||
stats.dev_name,
|
||||
@@ -838,8 +855,46 @@ static int proc_diskstats_read(char *buf, size_t size, off_t offset,
|
||||
stats.discard_merged,
|
||||
stats.discard_sectors,
|
||||
stats.discard_ticks);
|
||||
- else
|
||||
+ } else if (need_record_diskstats(stats.major, stats.minor)) {
|
||||
+ sscanf(line, "%u %u %71s %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu\n",
|
||||
+ &stats.major,
|
||||
+ &stats.minor,
|
||||
+ tmp_dev_name,
|
||||
+ &stats.read,
|
||||
+ &stats.read_merged,
|
||||
+ &stats.read_sectors,
|
||||
+ &stats.read_ticks,
|
||||
+ &stats.write,
|
||||
+ &stats.write_merged,
|
||||
+ &stats.write_sectors,
|
||||
+ &stats.write_ticks,
|
||||
+ &stats.ios_pgr,
|
||||
+ &stats.total_ticks,
|
||||
+ &stats.rq_ticks,
|
||||
+ &stats.discard_merged,
|
||||
+ &stats.discard_sectors,
|
||||
+ &stats.discard_ticks);
|
||||
+ snprintf(lbuf, 256, "%u %u %s %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu\n",
|
||||
+ stats.major,
|
||||
+ stats.minor,
|
||||
+ stats.dev_name,
|
||||
+ stats.read,
|
||||
+ stats.read_merged,
|
||||
+ stats.read_sectors,
|
||||
+ stats.read_ticks,
|
||||
+ stats.write,
|
||||
+ stats.write_merged,
|
||||
+ stats.write_sectors,
|
||||
+ stats.write_ticks,
|
||||
+ stats.ios_pgr,
|
||||
+ stats.total_ticks,
|
||||
+ stats.rq_ticks,
|
||||
+ stats.discard_merged,
|
||||
+ stats.discard_sectors,
|
||||
+ stats.discard_ticks);
|
||||
+ } else {
|
||||
continue;
|
||||
+ }
|
||||
|
||||
l = snprintf(cache, cache_size, "%s", lbuf);
|
||||
if (l < 0) {
|
||||
--
|
||||
2.41.0
|
||||
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From 60b82439ccb656ffe79c6499d251627404fd388c Mon Sep 17 00:00:00 2001
|
||||
From f230a8816877cc803d52661a444cb6d1b9d55f96 Mon Sep 17 00:00:00 2001
|
||||
From: vegbir <yangjiaqi16@huawei.com>
|
||||
Date: Wed, 12 Jul 2023 08:42:05 +0000
|
||||
Subject: [PATCH 09/16] lxcfs add proc partitions
|
||||
Date: Thu, 27 Jul 2023 08:28:00 +0000
|
||||
Subject: [PATCH 09/15] lxcfs add proc partitions
|
||||
|
||||
Signed-off-by: vegbir <yangjiaqi16@huawei.com>
|
||||
---
|
||||
@ -24,7 +24,7 @@ index 8d9d6eb..fcf408a 100644
|
||||
LXC_TYPE_SYS_DEVICES,
|
||||
LXC_TYPE_SYS_DEVICES_SYSTEM,
|
||||
diff --git a/src/proc_fuse.c b/src/proc_fuse.c
|
||||
index f68212d..e1896dd 100644
|
||||
index 1f732ff..0dbbefe 100644
|
||||
--- a/src/proc_fuse.c
|
||||
+++ b/src/proc_fuse.c
|
||||
@@ -119,14 +119,15 @@ __lxcfs_fuse_ops int proc_getattr(const char *path, struct stat *sb)
|
||||
@ -70,7 +70,7 @@ index f68212d..e1896dd 100644
|
||||
if (type == -1)
|
||||
return -ENOENT;
|
||||
|
||||
@@ -921,6 +925,115 @@ static int proc_diskstats_read(char *buf, size_t size, off_t offset,
|
||||
@@ -975,6 +979,115 @@ static int proc_diskstats_read(char *buf, size_t size, off_t offset,
|
||||
return total_len;
|
||||
}
|
||||
|
||||
@ -186,7 +186,7 @@ index f68212d..e1896dd 100644
|
||||
#ifdef RELOADTEST
|
||||
static inline void iwashere(void)
|
||||
{
|
||||
@@ -1855,6 +1968,12 @@ __lxcfs_fuse_ops int proc_read(const char *path, char *buf, size_t size,
|
||||
@@ -1912,6 +2025,12 @@ __lxcfs_fuse_ops int proc_read(const char *path, char *buf, size_t size,
|
||||
|
||||
return read_file_fuse_with_offset(LXC_TYPE_PROC_SLABINFO_PATH,
|
||||
buf, size, offset, f);
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From b610b5534da182a7618d396da481e22624e5e7cf Mon Sep 17 00:00:00 2001
|
||||
From d7582ba91869e19936c76f4d63b803d82d8e1caf Mon Sep 17 00:00:00 2001
|
||||
From: vegbir <yangjiaqi16@huawei.com>
|
||||
Date: Wed, 12 Jul 2023 08:53:42 +0000
|
||||
Subject: [PATCH 10/16] lxcfs proc_diskstats_read func obtain data from blki
|
||||
Subject: [PATCH 10/15] lxcfs proc_diskstats_read func obtain data from blki
|
||||
|
||||
Signed-off-by: vegbir <yangjiaqi16@huawei.com>
|
||||
---
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
From 4e468a948874f661a53b498ac1a30012c7860fd1 Mon Sep 17 00:00:00 2001
|
||||
From cd4988df0a9f7140758c0429485322dc6d9467d5 Mon Sep 17 00:00:00 2001
|
||||
From: vegbir <yangjiaqi16@huawei.com>
|
||||
Date: Fri, 14 Jul 2023 07:54:27 +0000
|
||||
Subject: [PATCH 11/16] add secure compile option in meson
|
||||
Subject: [PATCH 11/15] add secure compile option in meson
|
||||
|
||||
Signed-off-by: vegbir <yangjiaqi16@huawei.com>
|
||||
---
|
||||
Makefile | 2 +-
|
||||
meson.build | 3 +++
|
||||
2 files changed, 4 insertions(+), 1 deletion(-)
|
||||
meson.build | 4 ++++
|
||||
2 files changed, 5 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 94f2021..38fbe04 100644
|
||||
@ -23,16 +23,24 @@ index 94f2021..38fbe04 100644
|
||||
.PHONY: meson
|
||||
meson:
|
||||
diff --git a/meson.build b/meson.build
|
||||
index 379757f..56338b6 100644
|
||||
index a0289ad..7eb1f06 100644
|
||||
--- a/meson.build
|
||||
+++ b/meson.build
|
||||
@@ -109,6 +109,9 @@ possible_cc_flags = [
|
||||
@@ -12,6 +12,7 @@ project(
|
||||
'b_pie=true',
|
||||
'c_std=gnu11',
|
||||
'warning_level=2',
|
||||
+ 'optimization=2',
|
||||
],
|
||||
meson_version: '>= 0.50')
|
||||
|
||||
@@ -109,6 +110,9 @@ possible_cc_flags = [
|
||||
'-Wreturn-local-addr',
|
||||
'-fsanitize=cfi',
|
||||
'-Wstringop-overflow',
|
||||
+ '-ftrapv',
|
||||
+ '-fPIC',
|
||||
+ '-O2 -D_FORTIFY_SOURCE=2',
|
||||
+ '-D_FORTIFY_SOURCE=2',
|
||||
]
|
||||
|
||||
possible_link_flags = [
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From 390636cc3246ecaaea6903ae4f97552248b663c5 Mon Sep 17 00:00:00 2001
|
||||
From 60eefa396251acebd02f06538ccee1081dcdcd0d Mon Sep 17 00:00:00 2001
|
||||
From: vegbir <yangjiaqi16@huawei.com>
|
||||
Date: Fri, 14 Jul 2023 09:02:39 +0000
|
||||
Subject: [PATCH 12/16] lxcfs adapt 4.18 kernel
|
||||
Date: Thu, 27 Jul 2023 09:10:52 +0000
|
||||
Subject: [PATCH 12/15] lxcfs adapt 4.18 kernel
|
||||
|
||||
Signed-off-by: vegbir <yangjiaqi16@huawei.com>
|
||||
---
|
||||
@ -9,7 +9,7 @@ Signed-off-by: vegbir <yangjiaqi16@huawei.com>
|
||||
1 file changed, 30 insertions(+), 39 deletions(-)
|
||||
|
||||
diff --git a/src/proc_fuse.c b/src/proc_fuse.c
|
||||
index e1896dd..fa5b055 100644
|
||||
index 0dbbefe..392115c 100644
|
||||
--- a/src/proc_fuse.c
|
||||
+++ b/src/proc_fuse.c
|
||||
@@ -686,8 +686,8 @@ static int proc_diskstats_read(char *buf, size_t size, off_t offset,
|
||||
@ -116,7 +116,7 @@ index e1896dd..fa5b055 100644
|
||||
- stats.total_ticks = stats.total_ticks / 1000000;
|
||||
+ stats.total_ticks = total_ticks / 1000000;
|
||||
|
||||
memset(lbuf, 0, 256);
|
||||
memset(lbuf, 0, sizeof(lbuf));
|
||||
if (stats.read || stats.write || stats.read_merged || stats.write_merged ||
|
||||
--
|
||||
2.41.0
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From 9b853f8d16f08e837ec330c5906e918ebac70d78 Mon Sep 17 00:00:00 2001
|
||||
From 30f3e8cf0c6e34c5a8e4dd9d599c6c96646bd2ba Mon Sep 17 00:00:00 2001
|
||||
From: vegbir <yangjiaqi16@huawei.com>
|
||||
Date: Sat, 15 Jul 2023 03:43:12 +0000
|
||||
Subject: [PATCH 13/16] enable cfs option to show correct proc cpuinfo view
|
||||
Subject: [PATCH 13/15] enable cfs option to show correct proc cpuinfo view
|
||||
|
||||
Signed-off-by: vegbir <yangjiaqi16@huawei.com>
|
||||
---
|
||||
|
||||
@ -1,7 +1,7 @@
|
||||
From 35b8b46aeea72d27d931b0bc767ce1e8d3b32db4 Mon Sep 17 00:00:00 2001
|
||||
From 2c07195cd633c270ddcc6ef5349dbbc7063302d5 Mon Sep 17 00:00:00 2001
|
||||
From: vegbir <yangjiaqi16@huawei.com>
|
||||
Date: Sat, 15 Jul 2023 04:25:53 +0000
|
||||
Subject: [PATCH 14/16] fix pidfd_open pidfd_send_signal function compilation
|
||||
Subject: [PATCH 14/15] fix pidfd_open pidfd_send_signal function compilation
|
||||
|
||||
Signed-off-by: vegbir <yangjiaqi16@huawei.com>
|
||||
---
|
||||
|
||||
@ -1,13 +1,13 @@
|
||||
From 4dadabe36fb3277996870869c62d5cffab72f781 Mon Sep 17 00:00:00 2001
|
||||
From c79ce840026f83a8582d31e5e80529f0c230126c Mon Sep 17 00:00:00 2001
|
||||
From: vegbir <yangjiaqi16@huawei.com>
|
||||
Date: Mon, 17 Jul 2023 08:36:34 +0000
|
||||
Subject: [PATCH 16/16] adapt meson build & install
|
||||
Date: Thu, 27 Jul 2023 09:18:15 +0000
|
||||
Subject: [PATCH 15/15] adapt meson build & install
|
||||
|
||||
Signed-off-by: vegbir <yangjiaqi16@huawei.com>
|
||||
---
|
||||
Makefile | 2 +-
|
||||
config/init/meson.build | 3 ++-
|
||||
2 files changed, 3 insertions(+), 2 deletions(-)
|
||||
config/init/meson.build | 1 +
|
||||
2 files changed, 2 insertions(+), 1 deletion(-)
|
||||
|
||||
diff --git a/Makefile b/Makefile
|
||||
index 38fbe04..891d7ad 100644
|
||||
@ -23,18 +23,9 @@ index 38fbe04..891d7ad 100644
|
||||
.PHONY: dist
|
||||
dist: meson
|
||||
diff --git a/config/init/meson.build b/config/init/meson.build
|
||||
index 8445955..c781b59 100644
|
||||
index 5200570..c781b59 100644
|
||||
--- a/config/init/meson.build
|
||||
+++ b/config/init/meson.build
|
||||
@@ -2,7 +2,7 @@
|
||||
|
||||
if 'systemd' in init_script
|
||||
systemd = dependency('systemd')
|
||||
- systemd_system_unit_dir = get_option('prefix') + systemd.get_pkgconfig_variable('systemdsystemunitdir')
|
||||
+ systemd_system_unit_dir = systemd.get_pkgconfig_variable('systemdsystemunitdir')
|
||||
systemd_service = custom_target(
|
||||
'lxcfs.service',
|
||||
input: 'systemd/lxcfs.service.in',
|
||||
@@ -14,6 +14,7 @@ if 'systemd' in init_script
|
||||
'@OUTPUT@',
|
||||
],
|
||||
@ -1,92 +0,0 @@
|
||||
From 19bedb98bf93ac67d78cc0606d66e03217e15cbb Mon Sep 17 00:00:00 2001
|
||||
From: vegbir <yangjiaqi16@huawei.com>
|
||||
Date: Sat, 15 Jul 2023 08:15:57 +0000
|
||||
Subject: [PATCH 15/16] proc fix proc diskstats output format
|
||||
|
||||
Signed-off-by: vegbir <yangjiaqi16@huawei.com>
|
||||
---
|
||||
src/proc_fuse.c | 24 +++++++++++++++++++-----
|
||||
1 file changed, 19 insertions(+), 5 deletions(-)
|
||||
|
||||
diff --git a/src/proc_fuse.c b/src/proc_fuse.c
|
||||
index fa5b055..97bfff8 100644
|
||||
--- a/src/proc_fuse.c
|
||||
+++ b/src/proc_fuse.c
|
||||
@@ -810,10 +810,10 @@ static int proc_diskstats_read(char *buf, size_t size, off_t offset,
|
||||
memset(lbuf, 0, 256);
|
||||
if (stats.read || stats.write || stats.read_merged || stats.write_merged ||
|
||||
stats.read_sectors || stats.write_sectors || stats.read_ticks ||
|
||||
- stats.write_ticks || stats.ios_pgr || stats.total_ticks || stats.rq_ticks ||
|
||||
+ stats.write_ticks || stats.ios_pgr || stats.total_ticks || stats.rq_ticks || stats.discard ||
|
||||
stats.discard_merged || stats.discard_sectors || stats.discard_ticks) {
|
||||
if (need_record_diskstats(stats.major, stats.minor)) {
|
||||
- sscanf(line, "%u %u %71s %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu\n",
|
||||
+ sscanf(line, "%u %u %71s %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu\n",
|
||||
&stats.major,
|
||||
&stats.minor,
|
||||
tmp_dev_name,
|
||||
@@ -828,11 +828,12 @@ static int proc_diskstats_read(char *buf, size_t size, off_t offset,
|
||||
&stats.ios_pgr,
|
||||
&stats.total_ticks,
|
||||
&stats.rq_ticks,
|
||||
+ &stats.discard,
|
||||
&stats.discard_merged,
|
||||
&stats.discard_sectors,
|
||||
&stats.discard_ticks);
|
||||
}
|
||||
- snprintf(lbuf, 256, "%u %u %s %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu\n",
|
||||
+ ret = snprintf(lbuf, 256, "%u %u %s %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu\n",
|
||||
stats.major,
|
||||
stats.minor,
|
||||
stats.dev_name,
|
||||
@@ -847,11 +848,17 @@ static int proc_diskstats_read(char *buf, size_t size, off_t offset,
|
||||
stats.ios_pgr,
|
||||
stats.total_ticks,
|
||||
stats.rq_ticks,
|
||||
+ stats.discard,
|
||||
stats.discard_merged,
|
||||
stats.discard_sectors,
|
||||
stats.discard_ticks);
|
||||
+ if(ret >= 256) {
|
||||
+ lxcfs_error("Insufficient buffer for %u:%u %s diskstats",
|
||||
+ stats.major, stats.minor, stats.dev_name);
|
||||
+ continue;
|
||||
+ }
|
||||
} else if (need_record_diskstats(stats.major, stats.minor)) {
|
||||
- sscanf(line, "%u %u %71s %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu\n",
|
||||
+ sscanf(line, "%u %u %71s %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu\n",
|
||||
&stats.major,
|
||||
&stats.minor,
|
||||
tmp_dev_name,
|
||||
@@ -866,10 +873,11 @@ static int proc_diskstats_read(char *buf, size_t size, off_t offset,
|
||||
&stats.ios_pgr,
|
||||
&stats.total_ticks,
|
||||
&stats.rq_ticks,
|
||||
+ &stats.discard,
|
||||
&stats.discard_merged,
|
||||
&stats.discard_sectors,
|
||||
&stats.discard_ticks);
|
||||
- snprintf(lbuf, 256, "%u %u %s %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu\n",
|
||||
+ ret = snprintf(lbuf, 256, "%u %u %s %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu %lu\n",
|
||||
stats.major,
|
||||
stats.minor,
|
||||
stats.dev_name,
|
||||
@@ -884,9 +892,15 @@ static int proc_diskstats_read(char *buf, size_t size, off_t offset,
|
||||
stats.ios_pgr,
|
||||
stats.total_ticks,
|
||||
stats.rq_ticks,
|
||||
+ stats.discard,
|
||||
stats.discard_merged,
|
||||
stats.discard_sectors,
|
||||
stats.discard_ticks);
|
||||
+ if(ret >= 256) {
|
||||
+ lxcfs_error("Insufficient buffer for %u:%u %s diskstats",
|
||||
+ stats.major, stats.minor, stats.dev_name);
|
||||
+ continue;
|
||||
+ }
|
||||
} else {
|
||||
continue;
|
||||
}
|
||||
--
|
||||
2.41.0
|
||||
|
||||
Binary file not shown.
BIN
lxcfs-5.0.4.tar.gz
Normal file
BIN
lxcfs-5.0.4.tar.gz
Normal file
Binary file not shown.
11
lxcfs.spec
11
lxcfs.spec
@ -3,7 +3,7 @@
|
||||
|
||||
#Basic Information
|
||||
Name: lxcfs
|
||||
Version: 5.0.3
|
||||
Version: 5.0.4
|
||||
Release: 1
|
||||
Summary: FUSE filesystem for LXC
|
||||
License: LGPL 2.1+
|
||||
@ -24,8 +24,7 @@ Patch9011: 0011-add-secure-compile-option-in-meson.patch
|
||||
Patch9012: 0012-lxcfs-adapt-4.18-kernel.patch
|
||||
Patch9013: 0013-enable-cfs-option-to-show-correct-proc-cpuinfo-view.patch
|
||||
Patch9014: 0014-fix-pidfd_open-pidfd_send_signal-function-compilatio.patch
|
||||
Patch9015: 0015-proc-fix-proc-diskstats-output-format.patch
|
||||
Patch9016: 0016-adapt-meson-build-install.patch
|
||||
Patch9015: 0015-adapt-meson-build-install.patch
|
||||
|
||||
#Dependency
|
||||
BuildRequires: meson python3-jinja2 help2man
|
||||
@ -82,6 +81,12 @@ fi
|
||||
%{_unitdir}/*
|
||||
|
||||
%changelog
|
||||
* Thu July 27 2023 yangjiaqi <yangjiaqi16@huawei.com> - 5.0.4-1
|
||||
- Type:bugfix
|
||||
- CVE:NA
|
||||
- SUG:NA
|
||||
- DESC:upgrade to 5.0.4
|
||||
|
||||
* Mon July 17 2023 yangjiaqi <yangjiaqi16@huawei.com> - 5.0.3-1
|
||||
- Type:bugfix
|
||||
- CVE:NA
|
||||
|
||||
Loading…
x
Reference in New Issue
Block a user