From 6914aca59ef790340319e28ff3c8ef6c1b24dee8 Mon Sep 17 00:00:00 2001 From: k18700474961 Date: Fri, 1 Nov 2024 03:22:56 +0000 Subject: [PATCH] Rename misnamed nr_pages Signed-off-by: k18700474961 --- 0003-parasite-Rename-misnamed-nr_pages.patch | 58 ++++++++++++++++++++ criu.spec | 6 +- 2 files changed, 63 insertions(+), 1 deletion(-) create mode 100644 0003-parasite-Rename-misnamed-nr_pages.patch diff --git a/0003-parasite-Rename-misnamed-nr_pages.patch b/0003-parasite-Rename-misnamed-nr_pages.patch new file mode 100644 index 0000000..e5c3300 --- /dev/null +++ b/0003-parasite-Rename-misnamed-nr_pages.patch @@ -0,0 +1,58 @@ +From 1639e2b213837f299c06a94b119ba917c3b9bef0 Mon Sep 17 00:00:00 2001 +From: Dmitry Safonov +Date: Thu, 10 May 2018 19:14:42 +0100 +Subject: [PATCH] parasite: Rename misnamed nr_pages + +It's actually number of bytes spliced, not pages. +And I bet (unsigned long) suits the purpose more than (int). + +Signed-off-by: Dmitry Safonov +Signed-off-by: Andrei Vagin +--- + criu/pie/parasite.c | 10 +++++----- + 1 file changed, 5 insertions(+), 5 deletions(-) + +diff --git a/criu/pie/parasite.c b/criu/pie/parasite.c +index 7a48f324e..b9dae3f94 100644 +--- a/criu/pie/parasite.c ++++ b/criu/pie/parasite.c +@@ -67,7 +67,8 @@ static int dump_pages(struct parasite_dump_pages_args *args) + { + int p, ret, tsock; + struct iovec *iovs; +- int off, nr_segs, nr_pages; ++ int off, nr_segs; ++ unsigned long spliced_bytes = 0; + + tsock = parasite_get_rpc_sock(); + p = recv_fd(tsock); +@@ -75,7 +76,6 @@ static int dump_pages(struct parasite_dump_pages_args *args) + return -1; + + iovs = pargs_iovs(args); +- nr_pages = 0; + off = 0; + nr_segs = args->nr_segs; + if (nr_segs > UIO_MAXIOV) +@@ -89,16 +89,16 @@ static int dump_pages(struct parasite_dump_pages_args *args) + ret, nr_segs, args->off + off); + return -1; + } +- nr_pages += ret; ++ spliced_bytes += ret; + off += nr_segs; + if (off == args->nr_segs) + break; + if (off + nr_segs > args->nr_segs) + nr_segs = args->nr_segs - off; + } +- if (nr_pages != args->nr_pages * PAGE_SIZE) { ++ if (spliced_bytes != args->nr_pages * PAGE_SIZE) { + sys_close(p); +- pr_err("Can't splice all pages to pipe (%d/%d)\n", nr_pages, args->nr_pages); ++ pr_err("Can't splice all pages to pipe (%lu/%d)\n", spliced_bytes, args->nr_pages); + return -1; + } + +-- +2.33.0 diff --git a/criu.spec b/criu.spec index c5b8066..9ca4e88 100644 --- a/criu.spec +++ b/criu.spec @@ -1,6 +1,6 @@ Name: criu Version: 3.19 -Release: 1 +Release: 2 Provides: crtools = %{version}-%{release} Obsoletes: crtools <= 1.0-2 Summary: A tool of Checkpoint/Restore in User-space @@ -17,6 +17,7 @@ Provides: %{name}-libs = %{version}-%{release} Obsoletes: %{name}-libs < %{version}-%{release} Patch1: 0001-criu-dump-and-restore-cpu-affinity-of-each-thread.patch +Patch3: 0003-parasite-Rename-misnamed-nr_pages.patch %description Checkpoint/Restore in Userspace(CRIU),is a software tool for the linux operating system. @@ -102,6 +103,9 @@ chmod 0755 %{buildroot}/run/%{name}/ %doc %{_mandir}/man1/{compel.1*,crit.1*,criu-ns.1*,criu-amdgpu-plugin.1*} %changelog +* Fri Nov 1 2024 kangjiangbo - 3.19-2 +- parasite: Rename misnamed nr_pages + * Thu Apr 25 2024 snoweay - 3.19-1 - update to version 3.19 from criu.org -- Gitee