diff options
author | Pavel Emelyanov <xemul@virtuozzo.com> | 2017-02-10 14:33:19 +0300 |
---|---|---|
committer | Andrei Vagin <avagin@virtuozzo.com> | 2017-03-02 00:19:03 +0300 |
commit | 8054c345d2612b0d91efb4494632f9e99d3da104 (patch) | |
tree | 7daca70066e9960c781182ce64069d10222081db | |
parent | ff967070e3516866e8b941e521a5fb73c7af1cf4 (diff) |
vma: Remove vma_area_list arg from handle_vma
Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
-rw-r--r-- | criu/proc_parse.c | 13 |
1 files changed, 6 insertions, 7 deletions
diff --git a/criu/proc_parse.c b/criu/proc_parse.c index 0c4afd664..a4d900752 100644 --- a/criu/proc_parse.c +++ b/criu/proc_parse.c @@ -503,18 +503,16 @@ static int handle_vma(pid_t pid, struct vma_area *vma_area, char *file_path, DIR *map_files_dir, struct vma_file_info *vfi, struct vma_file_info *prev_vfi, - struct vm_area_list *vma_area_list, int *vm_file_fd) { if (vma_get_mapfile(file_path, vma_area, map_files_dir, vfi, prev_vfi, vm_file_fd)) goto err_bogus_mapfile; - if (vma_area->e->status != 0) { - if (vma_area->e->status & VMA_AREA_AIORING) - vma_area_list->nr_aios++; + if (vma_area->e->status != 0) return 0; - } else if (!strcmp(file_path, "[vsyscall]") || + + if (!strcmp(file_path, "[vsyscall]") || !strcmp(file_path, "[vectors]")) { vma_area->e->status |= VMA_AREA_VSYSCALL; } else if (!strcmp(file_path, "[vdso]")) { @@ -758,14 +756,15 @@ int parse_smaps(pid_t pid, struct vm_area_list *vma_area_list, } if (handle_vma(pid, vma_area, str + path_off, map_files_dir, - &vfi, &prev_vfi, vma_area_list, &vm_file_fd)) + &vfi, &prev_vfi, &vm_file_fd)) goto err; if (vma_entry_is(vma_area->e, VMA_FILE_PRIVATE) || vma_entry_is(vma_area->e, VMA_FILE_SHARED)) { if (dump_filemap && dump_filemap(vma_area, vm_file_fd)) goto err; - } + } else if (vma_entry_is(vma_area->e, VMA_AREA_AIORING)) + vma_area_list->nr_aios++; } vma_area = NULL; |