task: WithExit() doesn't have to overwrite existing options

Signed-off-by: Andrei Vagin <avagin@openvz.org>
This commit is contained in:
Andrei Vagin 2018-06-27 10:16:49 -07:00
parent 394784b3aa
commit fc2fcf6b2a

View File

@ -78,13 +78,23 @@ func withExit(rt string) containerd.CheckpointTaskOpts {
return func(r *containerd.CheckpointTaskInfo) error { return func(r *containerd.CheckpointTaskInfo) error {
switch rt { switch rt {
case "io.containerd.runc.v1": case "io.containerd.runc.v1":
if r.Options == nil {
r.Options = &options.CheckpointOptions{ r.Options = &options.CheckpointOptions{
Exit: true, Exit: true,
} }
} else {
opts, _ := r.Options.(*options.CheckpointOptions)
opts.Exit = true
}
default: default:
if r.Options == nil {
r.Options = &runctypes.CheckpointOptions{ r.Options = &runctypes.CheckpointOptions{
Exit: true, Exit: true,
} }
} else {
opts, _ := r.Options.(*runctypes.CheckpointOptions)
opts.Exit = true
}
} }
return nil return nil
} }