[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
Re: [PATCH] migration: Truncate state file in xen-save-devices-state
From: |
Dr. David Alan Gilbert |
Subject: |
Re: [PATCH] migration: Truncate state file in xen-save-devices-state |
Date: |
Mon, 21 Sep 2020 18:56:39 +0100 |
User-agent: |
Mutt/1.14.6 (2020-07-11) |
* Dov Murik (dovmurik@linux.vnet.ibm.com) wrote:
>
>
> On 21/09/2020 14:17, Dr. David Alan Gilbert wrote:
> > * Dov Murik (dovmurik@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 <dovmurik@linux.vnet.ibm.com>
> > > ---
> >
> > OK, that looks fine to me, so:
> >
> > Reviewed-by: Dr. David Alan Gilbert <dgilbert@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 / dgilbert@redhat.com / Manchester, UK