[CRIU] [PATCH] criu: pagemap-cache -- Fix map filling in greedy mode
Andrey Vagin
avagin at virtuozzo.com
Mon May 2 10:09:13 PDT 2016
Acked-by: Andrew Vagin <avagin at openvz.org>
On Fri, Apr 29, 2016 at 09:14:08PM +0300, Cyrill Gorcunov wrote:
> Reported-by: Andrew Vagin <avagin at openvz.org>
> Signed-off-by: Cyrill Gorcunov <gorcunov at openvz.org>
> ---
> criu/pagemap-cache.c | 7 ++++++-
> 1 file changed, 6 insertions(+), 1 deletion(-)
>
> diff --git a/criu/pagemap-cache.c b/criu/pagemap-cache.c
> index c2e467b673be..e38bc3fb6b16 100644
> --- a/criu/pagemap-cache.c
> +++ b/criu/pagemap-cache.c
> @@ -7,6 +7,7 @@
> #include "util.h"
> #include "log.h"
> #include "vma.h"
> +#include "mem.h"
> #include "kerndat.h"
>
> #undef LOG_PREFIX
> @@ -131,12 +132,16 @@ static int pmc_fill_cache(pmc_t *pmc, const struct vma_area *vma)
> BUG_ON(pmc->map_len < size_map);
>
> if (unlikely(pmc->fd < 0)) {
> + u64 pme = PME_PRESENT;
> + size_t i;
> +
> /*
> * We don't have access to the dumpee pagemap so fill
> * everything as present. It's better than refuse
> * to dump because it simply disables optimisation.
> */
> - memset(pmc->map, 1, size_map);
> + for (i = 0; i < (size_map / sizeof(pme)); i++)
> + pmc->map[i] = pme;
> } else {
> if (pread(pmc->fd, pmc->map, size_map, PAGEMAP_PFN_OFF(pmc->start)) != size_map) {
> pmc_zap(pmc);
> --
> 2.5.5
>
More information about the CRIU
mailing list