[CRIU] [PATCH] kdat: Don't open /run/criu.kdat if doesn't exists

Dmitry Safonov 0x7f454c46 at gmail.com
Mon Jul 2 15:53:22 MSK 2018


2018-07-01 19:13 GMT+01:00 Radostin Stoyanov <rstoyanov1 at gmail.com>:
> When CRIU is called for a first time and the /run/criu.kdat file does
> not exists, the following warning is shown:
>         Warn  (criu/kerndat.c:847): Can't load /run/criu.kdat
>
> This patch is replacing this warning with a more appropriate debug message.
>         File /run/criu.kdat does not exist
>
> Signed-off-by: Radostin Stoyanov <rstoyanov1 at gmail.com>
> ---
>  criu/kerndat.c | 5 +++++
>  1 file changed, 5 insertions(+)
>
> diff --git a/criu/kerndat.c b/criu/kerndat.c
> index 9b93487c..57a97886 100644
> --- a/criu/kerndat.c
> +++ b/criu/kerndat.c
> @@ -842,6 +842,11 @@ static int kerndat_try_load_cache(void)
>  {
>         int fd, ret;
>
> +       if(access(KERNDAT_CACHE_FILE, F_OK) == -1) {
> +               pr_debug("File %s does not exist\n", KERNDAT_CACHE_FILE);
> +               return 1;
> +       }
> +
>         fd = open(KERNDAT_CACHE_FILE, O_RDONLY);
>         if (fd < 0) {
>                 pr_warn("Can't load %s\n", KERNDAT_CACHE_FILE);

I don't quite mind, but why do you need access() syscall?
Will checking (ENOENT == fd) work here?

It's not critical, but it's another syscall we'll be doing each time criu
is launched, so maybe makes sense not adding more calls there,
until necessary?

Thanks,
             Dmitry


More information about the CRIU mailing list