This patch only defines a macro STATE_FILE_LEN. It doesn't aim to fix the issue. VSH_MAX_XML_FILE is 10MB, but I got a saved XML file about 180MB. Best Regards, Olivia > -----Original Message----- > From: Ján Tomko [mailto:jtomko@xxxxxxxxxx] > Sent: Friday, April 04, 2014 2:06 PM > To: Yin Olivia-R63875; libvir-list@xxxxxxxxxx > Subject: Re: [PATCH] Define STATE_XMLFILE_LEN as 8192 > > On 04/03/2014 08:43 AM, Olivia Yin wrote: > > Save/restore the state of domain and migrate need read state XML file. > > 8192B is not the exactly maximum file length of state file. > > > > restore command could work successfully in virsh shell. > > virsh # list --all > > Id Name State > > ---------------------------------------------------- > > 9 sdk running > > > > virsh # save sdk pp > > > > Domain sdk saved to pp > > > > virsh # list --all > > Id Name State > > ---------------------------------------------------- > > - sdk shut off > > > > virsh # restore pp > > Domain restored from pp > > > > virsh # list --all > > Id Name State > > ---------------------------------------------------- > > 10 sdk running > > > > But it will fail with 'virsh restore' command because the state file is > oversized. > > ~# virsh restore pp > > error: Failed to read file 'pp': Value too large for defined data type > > There is no xml file supplied here, just the save file... > > > > > Signed-off-by: Olivia Yin <Hong-Hua.Yin@xxxxxxxxxxxxx> > > --- > > tools/virsh-domain.c | 6 +++--- > > tools/virsh.h | 1 + > > 2 files changed, 4 insertions(+), 3 deletions(-) > > > > diff --git a/tools/virsh-domain.c b/tools/virsh-domain.c index > > 73414f8..8ade296 100644 > > --- a/tools/virsh-domain.c > > +++ b/tools/virsh-domain.c > > @@ -3547,7 +3547,7 @@ doSave(void *opaque) > > goto out; > > > > if (xmlfile && > > - virFileReadAll(xmlfile, 8192, &xml) < 0) { > > + virFileReadAll(xmlfile, STATE_XMLFILE_LEN, &xml) < 0) { > > vshReportError(ctl); > > goto out; > > } > > @@ -3840,7 +3840,7 @@ cmdSaveImageDefine(vshControl *ctl, const vshCmd > *cmd) > > if (vshCommandOptStringReq(ctl, cmd, "xml", &xmlfile) < 0) > > return false; > > > > - if (virFileReadAll(xmlfile, 8192, &xml) < 0) > > + if (virFileReadAll(xmlfile, STATE_XMLFILE_LEN, &xml) < 0) > > goto cleanup; > > > > if (virDomainSaveImageDefineXML(ctl->conn, file, xml, flags) < 0) > > { @@ -4424,7 +4424,7 @@ cmdRestore(vshControl *ctl, const vshCmd *cmd) > > return false; > > > > if (xmlfile && > > - virFileReadAll(xmlfile, 8192, &xml) < 0) > > + virFileReadAll(xmlfile, STATE_XMLFILE_LEN, &xml) < 0) > > ... but this changes the limit for the XML file of the updated domain, so > it shouldn't be executed by the above command. Does this actually fix the > issue? > > Also, VSH_MAX_XML_FILE can be used for all of these. > > Jan > -- libvir-list mailing list libvir-list@xxxxxxxxxx https://www.redhat.com/mailman/listinfo/libvir-list