On 07/02/2018 01:08 PM, dubo163 wrote: > From: dubobo <dubobo@xxxxxxxxxxxxxxx> > > the libvirtd pid file is not match the os process pid number > which is smaller than before. > > this would be exist if the libvirtd process coredump or the os > process was killed which the next pid number is smaller. > > you can be also edit the pid file to write the longer number than > before,then restart the libvirtd service. > > Signed-off-by: dubobo <dubobo@xxxxxxxxxxxxxxx> I'm sorry, but this has to be your legal name, which I believe dubobo is not. Also as I was pointed out earlier, the name of the author of the patch has to be legal name. > --- > src/util/virpidfile.c | 6 ++++++ > 1 file changed, 6 insertions(+) > > diff --git a/src/util/virpidfile.c b/src/util/virpidfile.c > index 58ab29f..8b0ff99 100644 > --- a/src/util/virpidfile.c > +++ b/src/util/virpidfile.c > @@ -445,6 +445,12 @@ int virPidFileAcquirePath(const char *path, > } > > snprintf(pidstr, sizeof(pidstr), "%lld", (long long) pid); > + if (ftruncate(fd, 0) < 0) { > + VIR_FORCE_CLOSE(fd); > + return -1; So if ftruncate() fails, caller sees -1 but no error message. This is not nice because users then have no idea what went wrong. All they see is a failed attempt to start libvirtd. We need virReportSystemError() here. > + } > + > + lseek(fd, 0, SEEK_SET); This is pretty useless. Since open() nothing was written to/read from the pidfile. So we don't really need to seek in it. Michal -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list