[CRIU] [PATCH] Make descriptive names in vm_area_list

Cyrill Gorcunov gorcunov at openvz.org
Fri Apr 12 05:21:07 EDT 2013


vm_area_list::h and vm_area_list::nr names are
too short for structure which is widely used
in the code. Rename them to @vma_list and @nr_vmas
respectively (moreover, in task_restore_core_args
structure we already have a member named @nr_vmas
so this brings some consistency over naming).

Signed-off-by: Cyrill Gorcunov <gorcunov at openvz.org>
---
 cr-dump.c          | 12 ++++++------
 cr-restore.c       | 31 ++++++++++++++++---------------
 include/crtools.h  | 10 +++++++---
 mem.c              |  4 ++--
 parasite-syscall.c |  4 ++--
 proc_parse.c       |  8 ++++----
 6 files changed, 37 insertions(+), 32 deletions(-)

diff --git a/cr-dump.c b/cr-dump.c
index d5eb072..d2048f1 100644
--- a/cr-dump.c
+++ b/cr-dump.c
@@ -99,14 +99,14 @@ void free_mappings(struct vm_area_list *vma_area_list)
 {
 	struct vma_area *vma_area, *p;
 
-	list_for_each_entry_safe(vma_area, p, &vma_area_list->h, list) {
+	list_for_each_entry_safe(vma_area, p, &vma_area_list->vma_list, list) {
 		if (vma_area->vm_file_fd > 0)
 			close(vma_area->vm_file_fd);
 		free(vma_area);
 	}
 
-	INIT_LIST_HEAD(&vma_area_list->h);
-	vma_area_list->nr = 0;
+	INIT_LIST_HEAD(&vma_area_list->vma_list);
+	vma_area_list->nr_vmas = 0;
 }
 
 int collect_mappings(pid_t pid, struct vm_area_list *vma_area_list)
@@ -122,7 +122,7 @@ int collect_mappings(pid_t pid, struct vm_area_list *vma_area_list)
 		goto err;
 
 	pr_info("Collected, longest ares %lu bytes\n", vma_area_list->longest);
-	pr_info_vma_list(&vma_area_list->h);
+	pr_info_vma_list(&vma_area_list->vma_list);
 
 	pr_info("----------------------------------------\n");
 err:
@@ -355,7 +355,7 @@ static int dump_task_mappings(pid_t pid, const struct vm_area_list *vma_area_lis
 
 	fd = fdset_fd(cr_fdset, CR_FD_VMAS);
 
-	list_for_each_entry(vma_area, &vma_area_list->h, list) {
+	list_for_each_entry(vma_area, &vma_area_list->vma_list, list) {
 		VmaEntry *vma = &vma_area->vma;
 
 		pr_info_vma(vma_area);
@@ -690,7 +690,7 @@ static int dump_task_core_all(struct parasite_ctl *ctl,
 	if (ret)
 		goto err_free;
 
-	mark_stack_vma(CORE_THREAD_ARCH_INFO(core)->gpregs->sp, &vma_area_list->h);
+	mark_stack_vma(CORE_THREAD_ARCH_INFO(core)->gpregs->sp, &vma_area_list->vma_list);
 
 	ret = get_task_futex_robust_list(pid, core->thread_core);
 	if (ret)
diff --git a/cr-restore.c b/cr-restore.c
index c7a31c6..e26a06c 100644
--- a/cr-restore.c
+++ b/cr-restore.c
@@ -274,7 +274,7 @@ static int restore_priv_vma_content(pid_t pid)
 	unsigned int nr_droped = 0;
 	unsigned long va;
 
-	vma = list_first_entry(&rst_vmas.h, struct vma_area, list);
+	vma = list_first_entry(&rst_vmas.vma_list, struct vma_area, list);
 
 	fd = open_image(CR_FD_PAGEMAP, O_RSTR, (long)pid);
 	if (fd < 0) {
@@ -326,7 +326,7 @@ static int restore_priv_vma_content(pid_t pid)
 			 * read from image file.
 			 */
 			while (va >= vma->vma.end) {
-				if (vma->list.next == &rst_vmas.h)
+				if (vma->list.next == &rst_vmas.vma_list)
 					goto err_addr;
 				vma = list_entry(vma->list.next, struct vma_area, list);
 			}
@@ -375,7 +375,7 @@ static int restore_priv_vma_content(pid_t pid)
 		return ret;
 
 	/* Remove pages, which were not shared with a child */
-	list_for_each_entry(vma, &rst_vmas.h, list) {
+	list_for_each_entry(vma, &rst_vmas.vma_list, list) {
 		unsigned long size, i = 0;
 		void *addr = decode_pointer(vma_premmaped_start(&vma->vma));
 
@@ -424,8 +424,8 @@ static int read_vmas(int pid)
 	void *old_premmapped_addr = NULL;
 	unsigned long old_premmapped_len, pstart = 0;
 
-	rst_vmas.nr = 0;
-	list_replace_init(&rst_vmas.h, &old);
+	rst_vmas.nr_vmas = 0;
+	list_replace_init(&rst_vmas.vma_list, &old);
 
 	/* Skip errors, because a zombie doesn't have an image of vmas */
 	fd = open_image(CR_FD_VMAS, O_RSTR, pid);
@@ -450,8 +450,8 @@ static int read_vmas(int pid)
 			break;
 		}
 
-		rst_vmas.nr++;
-		list_add_tail(&vma->list, &rst_vmas.h);
+		rst_vmas.nr_vmas++;
+		list_add_tail(&vma->list, &rst_vmas.vma_list);
 
 		vma->vma = *e;
 		vma_entry__free_unpacked(e, NULL);
@@ -486,7 +486,7 @@ static int read_vmas(int pid)
 
 	pvma = list_entry(&old, struct vma_area, list);
 
-	list_for_each_entry(vma, &rst_vmas.h, list) {
+	list_for_each_entry(vma, &rst_vmas.vma_list, list) {
 		if (pstart > vma->vma.start) {
 			ret = -1;
 			pr_err("VMA-s are not sorted in the image file\n");
@@ -531,7 +531,7 @@ static int open_vmas(int pid)
 	struct vma_area *vma;
 	int ret = 0;
 
-	list_for_each_entry(vma, &rst_vmas.h, list) {
+	list_for_each_entry(vma, &rst_vmas.vma_list, list) {
 		if (!(vma_entry_is(&vma->vma, VMA_AREA_REGULAR)))
 			continue;
 
@@ -1534,7 +1534,7 @@ static VmaEntry *vma_list_remap(void *addr, unsigned long len, struct vm_area_li
 		return NULL;
 	}
 
-	list_for_each_entry(vma_area, &vmas->h, list) {
+	list_for_each_entry(vma_area, &vmas->vma_list, list) {
 		*vma = vma_area->vma;
 		vma++;
 	}
@@ -1803,10 +1803,10 @@ static int sigreturn_restore(pid_t pid, CoreEntry *core)
 		goto err;
 
 	/* required to unmap stack _with_ guard page */
-	mark_stack_vma((long) &self_vmas, &self_vmas.h);
+	mark_stack_vma((long) &self_vmas, &self_vmas.vma_list);
 
-	self_vmas_len = round_up((self_vmas.nr + 1) * sizeof(VmaEntry), PAGE_SIZE);
-	vmas_len = round_up((rst_vmas.nr + 1) * sizeof(VmaEntry), PAGE_SIZE);
+	self_vmas_len = round_up((self_vmas.nr_vmas + 1) * sizeof(VmaEntry), PAGE_SIZE);
+	vmas_len = round_up((rst_vmas.nr_vmas + 1) * sizeof(VmaEntry), PAGE_SIZE);
 
 	/* pr_info_vma_list(&self_vma_list); */
 
@@ -1866,7 +1866,8 @@ static int sigreturn_restore(pid_t pid, CoreEntry *core)
 	 * or inited from scratch).
 	 */
 
-	exec_mem_hint = restorer_get_vma_hint(pid, &rst_vmas.h, &self_vmas.h,
+	exec_mem_hint = restorer_get_vma_hint(pid, &rst_vmas.vma_list,
+					      &self_vmas.vma_list,
 					      restore_bootstrap_len);
 	if (exec_mem_hint == -1) {
 		pr_err("No suitable area for task_restore bootstrap (%ldK)\n",
@@ -1948,7 +1949,7 @@ static int sigreturn_restore(pid_t pid, CoreEntry *core)
 		goto err;
 
 	mem += self_vmas_len;
-	task_args->nr_vmas = rst_vmas.nr;
+	task_args->nr_vmas = rst_vmas.nr_vmas;
 	task_args->tgt_vmas = vma_list_remap(mem, vmas_len, &rst_vmas);
 	task_args->premmapped_addr = (unsigned long) current->rst->premmapped_addr;
 	task_args->premmapped_len = current->rst->premmapped_len;
diff --git a/include/crtools.h b/include/crtools.h
index 6cd4cde..620e013 100644
--- a/include/crtools.h
+++ b/include/crtools.h
@@ -232,13 +232,17 @@ struct cr_fdset *cr_glob_fdset_open(int mode);
 void close_cr_fdset(struct cr_fdset **cr_fdset);
 
 struct vm_area_list {
-	struct list_head	h;
-	unsigned		nr;
+	struct list_head	vma_list;
+	unsigned		nr_vmas;
 	unsigned long		priv_size; /* nr of pages in private VMAs */
 	unsigned long		longest; /* nr of pages in longest VMA */
 };
 
-#define VM_AREA_LIST(name)	struct vm_area_list name = { .h = LIST_HEAD_INIT(name.h), .nr = 0, }
+#define VM_AREA_LIST(name)					\
+	struct vm_area_list name = {				\
+		.vma_list = LIST_HEAD_INIT(name.vma_list),	\
+		.nr_vmas = 0,					\
+	}
 
 int collect_mappings(pid_t pid, struct vm_area_list *vma_area_list);
 void free_mappings(struct vm_area_list *vma_area_list);
diff --git a/mem.c b/mem.c
index f72d2db..081c1dc 100644
--- a/mem.c
+++ b/mem.c
@@ -81,7 +81,7 @@ static int parasite_mprotect_seized(struct parasite_ctl *ctl, struct vm_area_lis
 	p_vma = args->vmas;
 	args->nr = 0;
 
-	list_for_each_entry(vma, &vma_area_list->h, list) {
+	list_for_each_entry(vma, &vma_area_list->vma_list, list) {
 		if (!privately_dump_vma(vma))
 			continue;
 		if (vma->vma.prot & PROT_READ)
@@ -132,7 +132,7 @@ static int __parasite_dump_pages_seized(struct parasite_ctl *ctl,
 	if (!pp)
 		goto out_close;
 
-	list_for_each_entry(vma_area, &vma_area_list->h, list) {
+	list_for_each_entry(vma_area, &vma_area_list->vma_list, list) {
 		if (!privately_dump_vma(vma_area))
 			continue;
 
diff --git a/parasite-syscall.c b/parasite-syscall.c
index ba91123..f5cb96b 100644
--- a/parasite-syscall.c
+++ b/parasite-syscall.c
@@ -488,7 +488,7 @@ int parasite_dump_creds(struct parasite_ctl *ctl, CredsEntry *ce)
 static unsigned int vmas_mprotect_size(struct vm_area_list *vmas)
 {
 	return sizeof(struct parasite_mprotect_args) +
-		(vmas->nr * sizeof(struct parasite_vma_entry));
+		(vmas->nr_vmas * sizeof(struct parasite_vma_entry));
 }
 
 int parasite_drain_fds_seized(struct parasite_ctl *ctl,
@@ -653,7 +653,7 @@ struct parasite_ctl *parasite_prep_ctl(pid_t pid, struct vm_area_list *vma_area_
 		goto err;
 	}
 
-	vma_area = get_vma_by_ip(&vma_area_list->h, REG_IP(ctl->regs_orig));
+	vma_area = get_vma_by_ip(&vma_area_list->vma_list, REG_IP(ctl->regs_orig));
 	if (!vma_area) {
 		pr_err("No suitable VMA found to run parasite "
 		       "bootstrap code (pid: %d)\n", pid);
diff --git a/proc_parse.c b/proc_parse.c
index e735e13..865bd84 100644
--- a/proc_parse.c
+++ b/proc_parse.c
@@ -178,10 +178,10 @@ int parse_smaps(pid_t pid, struct vm_area_list *vma_area_list, bool use_map_file
 	DIR *map_files_dir = NULL;
 	FILE *smaps = NULL;
 
-	vma_area_list->nr = 0;
+	vma_area_list->nr_vmas = 0;
 	vma_area_list->longest = 0;
 	vma_area_list->priv_size = 0;
-	INIT_LIST_HEAD(&vma_area_list->h);
+	INIT_LIST_HEAD(&vma_area_list->vma_list);
 
 	smaps = fopen_proc(pid, "smaps");
 	if (!smaps)
@@ -345,8 +345,8 @@ int parse_smaps(pid_t pid, struct vm_area_list *vma_area_list, bool use_map_file
 			vma_area->vma.flags  |= MAP_ANONYMOUS;
 		}
 done:
-		list_add_tail(&vma_area->list, &vma_area_list->h);
-		vma_area_list->nr++;
+		list_add_tail(&vma_area->list, &vma_area_list->vma_list);
+		vma_area_list->nr_vmas++;
 		if (privately_dump_vma(vma_area)) {
 			unsigned long pages;
 
-- 
1.8.1.4



More information about the CRIU mailing list