Red Hat Bugzilla – Bug 234595
xendomains init script fails to save a domain with name > 17 characters
Last modified: 2007-11-30 17:12:00 EST
+++ This bug was initially created as a clone of Bug #221268 +++
Description of problem:
If you have a guest running with a name greater than 17 characters in length,
the /etc/init.d/xendomains script will fail to save it upon shutdown.
Version-Release number of selected component (if applicable):
Steps to Reproduce:
1. xm rename demo 12345678901234567890123456789012345678901234567890
2. /etc/init.d/xendomains stop
# /etc/init.d/xendomains stop
Shutting down Xen domains: 12345678901234567(save)Error: Domain
'890123456789012345678901234567890' does not exist.
Usage: xm save <Domain> <CheckpointFile>
Save a domain state to restore later.
!(shut)Error: Domain '890123456789012345678901234567890' does not exist.
Usage: xm shutdown <Domain> [-waRH]
Shutdown a domain.
Guest is saved
If you look at the shell code in /etc/init.d/xendomains there's this interesting
name=`echo "$1" | cut -c0-17`
rest=`echo "$1" | cut -c18- `
read id mem cpu vcpu state tm < <(echo "$rest")
which is used to parse the output of 'xm list'. The 'cut -c0-17' bit looks
like the obvious problem - truncating the name at 17 characters :-(
Yep, confirmed. The weirdness comes from the fact that "xm list" used to only
allow 16 characters for the domain name.
Best fix is probably to use "xm list -l" instead of "xm list" ... that way we'll
get the full name.
Created attachment 154140 [details]
Okay, I suggest something like this (untested) patch ... it's not a bug many
people are going to hit, though, so let's delay this until after Fedora 7
Fixed upstream by:
date: Tue Jun 19 16:29:22 2007 +0100
tools: Allow xendomains to handle domain names >16 characters
Closing as UPSTREAM, not really worth backporting.