criu: Move mod preload into kdat

Modules pre-load is also slow, but guarding this code with
the presence of criu.kdat cache file seems reasonable.

Or course, one may unload the needed modules by hands, but
such smart user may as well remove the /run/criu.kdat file :)

Signed-off-by: Pavel Emelyanov <xemul@virtuozzo.com>
Signed-off-by: Andrei Vagin <avagin@virtuozzo.com>
This commit is contained in:
Pavel Emelyanov 2017-05-04 16:32:46 +03:00 committed by Andrei Vagin
parent 07a00662ad
commit fc33d333af
2 changed files with 4 additions and 6 deletions

View file

@ -25,11 +25,9 @@
#include "crtools.h"
#include "cr_options.h"
#include "external.h"
#include "sockets.h"
#include "files.h"
#include "sk-inet.h"
#include "net.h"
#include "netfilter.h"
#include "version.h"
#include "page-xfer.h"
#include "tty.h"
@ -700,9 +698,6 @@ int main(int argc, char *argv[], char *envp[])
pr_info("Will do snapshot from %s\n", opts.img_parent);
if (!strcmp(argv[optind], "dump")) {
preload_socket_modules();
preload_netfilter_modules();
if (!tree_id)
goto opt_pid_missing;
return cr_dump_tasks(tree_id);
@ -716,7 +711,6 @@ int main(int argc, char *argv[], char *envp[])
}
if (!strcmp(argv[optind], "restore")) {
preload_netfilter_modules();
if (tree_id)
pr_warn("Using -t with criu restore is obsoleted\n");

View file

@ -29,6 +29,7 @@
#include "sk-inet.h"
#include <compel/plugins/std/syscall-codes.h>
#include <compel/compel.h>
#include "netfilter.h"
struct kerndat_s kdat = {
};
@ -647,6 +648,9 @@ int kerndat_init(void)
if (ret <= 0)
return ret;
preload_socket_modules();
preload_netfilter_modules();
ret = check_pagemap();
if (!ret)
ret = kerndat_get_shmemdev();