virtiofsd: fix the issue of missing stop virtiofsd

The virtiofsd's PID wan't assigned the right pid,
which will result skipping kill it.

Fixes: #2228

Signed-off-by: fupan.lfp <fupan.lfp@antgroup.com>
This commit is contained in:
fupan.lfp 2021-07-14 15:19:46 +08:00
parent 67dfb0b922
commit 34828df9a1

View File

@ -142,6 +142,8 @@ func (v *virtiofsd) Start(ctx context.Context, onQuit onQuitFunc) (int, error) {
} }
}() }()
v.PID = cmd.Process.Pid
return cmd.Process.Pid, nil return cmd.Process.Pid, nil
} }
@ -216,7 +218,8 @@ func (v *virtiofsd) kill(ctx context.Context) (err error) {
defer span.End() defer span.End()
if v.PID == 0 { if v.PID == 0 {
return errors.New("invalid virtiofsd PID(0)") v.Logger().WithField("invalid-virtiofsd-pid", v.PID).Warn("cannot kill virtiofsd")
return nil
} }
err = syscall.Kill(v.PID, syscall.SIGKILL) err = syscall.Kill(v.PID, syscall.SIGKILL)