Adding Paul
On Mon, 21 Sep 2020, Dr. David Alan Gilbert wrote: > * Dov Murik (dovmu...@linux.vnet.ibm.com) wrote: > > > > > > On 21/09/2020 14:17, Dr. David Alan Gilbert wrote: > > > * Dov Murik (dovmu...@linux.vnet.ibm.com) wrote: > > > > When running the xen-save-devices-state QMP command, if the filename > > > > already exists it will be truncated before dumping the devices' state > > > > into it. > > > > > > > > Signed-off-by: Dov Murik <dovmu...@linux.vnet.ibm.com> > > > > --- > > > > > > OK, that looks fine to me, so: > > > > > > Reviewed-by: Dr. David Alan Gilbert <dgilb...@redhat.com> > > > > > > > > > > > Note that I found the above issue while trying to debug > > > > xen-load-devices-state which simply fails (prints "Configuration section > > > > missing" to stderr) directly after xen-save-devices-state (in the same > > > > VM). I wonder if I should file a bug report as-is or investigate some > > > > more. Advice welcome. > > > > > > I don't try the xen-* commands normally; I've cc'ing in Stefano and > > > Anthony. > > > > Thanks Dave. Just to be clear, I'm running this without Xen at all; but > > these commands seem to work OK for dumping/restoring guest's devices > > state (without RAM) -- if I modify the code to circumvent the mentioned > > problem. > > Yeh, although you can't rely on them not doing something Xen in the > future. There are a few other similar ways of doing what you want; eg. > if your RAM is 'shared' then you can set the x-ignore-shared migration > capability. > > Dave > > > Dov > > > > > > > > Dave > > > > > > > > > > > -Dov > > > > > > > > --- > > > > migration/savevm.c | 3 ++- > > > > 1 file changed, 2 insertions(+), 1 deletion(-) > > > > > > > > diff --git a/migration/savevm.c b/migration/savevm.c > > > > index 304d98ff78..e1b26672cc 100644 > > > > --- a/migration/savevm.c > > > > +++ b/migration/savevm.c > > > > @@ -2803,7 +2803,8 @@ void qmp_xen_save_devices_state(const char > > > > *filename, bool has_live, bool live, > > > > vm_stop(RUN_STATE_SAVE_VM); > > > > global_state_store_running(); > > > > - ioc = qio_channel_file_new_path(filename, O_WRONLY | O_CREAT, > > > > 0660, errp); > > > > + ioc = qio_channel_file_new_path(filename, O_WRONLY | O_CREAT | > > > > O_TRUNC, > > > > + 0660, errp); > > > > if (!ioc) { > > > > goto the_end; > > > > } > > > > -- > > > > 2.20.1 > > > > > > > -- > Dr. David Alan Gilbert / dgilb...@redhat.com / Manchester, UK >