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

Andrei Vagin avagin at virtuozzo.com
Wed Jul 11 03:01:33 MSK 2018


On Mon, Jul 02, 2018 at 01:53:22PM +0100, Dmitry Safonov wrote:
> 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?

+1

> 
> Thanks,
>              Dmitry
> _______________________________________________
> CRIU mailing list
> CRIU at openvz.org
> https://lists.openvz.org/mailman/listinfo/criu


More information about the CRIU mailing list