On Wed, Aug 25, 2010 at 11:03:42AM +0200, Soren Hansen wrote:
uml_dir overrides user-mode-linux's default of ~/.uml. This is
needed
for a couple of different reasons:
libvirt expects this to default to virGetUserDirectory(geteuid()) +
'/.uml'. However, user-mode-linux actually uses the HOME environment
variable to determine where to look for the uml sockets, but if running
libvirtd under sudo (which I routinely do during development), $HOME is
pointing at my user's homedir, while my euid is 0, so libvirt looks in
/root.
Also (and this was my actual motivation for this patch), if HOME isn't
set at all, user-mode-linux utterly fails. Looking at the code, it seems
it's meant to emit a warning, but alas, it doesn't for some reason.
If running libvirtd from upstart, HOME is not set, so any system using
upstart will need this change.
Signed-off-by: Soren Hansen <soren(a)linux2go.dk>
---
src/uml/uml_conf.c | 4 ++--
1 files changed, 2 insertions(+), 2 deletions(-)
diff --git a/src/uml/uml_conf.c b/src/uml/uml_conf.c
index 65b06c5..4906192 100644
--- a/src/uml/uml_conf.c
+++ b/src/uml/uml_conf.c
@@ -409,7 +409,7 @@ static char *umlNextArg(char *args)
* for a given virtual machine.
*/
int umlBuildCommandLine(virConnectPtr conn,
- struct uml_driver *driver ATTRIBUTE_UNUSED,
+ struct uml_driver *driver,
virDomainObjPtr vm,
fd_set *keepfd,
const char ***retargv,
@@ -499,7 +499,6 @@ int umlBuildCommandLine(virConnectPtr conn,
ADD_ENV_COPY("LD_PRELOAD");
ADD_ENV_COPY("LD_LIBRARY_PATH");
ADD_ENV_COPY("PATH");
- ADD_ENV_COPY("HOME");
ADD_ENV_COPY("USER");
ADD_ENV_COPY("LOGNAME");
ADD_ENV_COPY("TMPDIR");
@@ -508,6 +507,7 @@ int umlBuildCommandLine(virConnectPtr conn,
//ADD_ARG_PAIR("con0", "fd:0,fd:1");
ADD_ARG_PAIR("mem", memory);
ADD_ARG_PAIR("umid", vm->def->name);
+ ADD_ARG_PAIR("uml_dir", driver->monitorDir);
if (vm->def->os.root)
ADD_ARG_PAIR("root", vm->def->os.root);
ACK
Regards,
Daniel
--
|: Red Hat, Engineering, London -o-
http://people.redhat.com/berrange/ :|
|:
http://libvirt.org -o-
http://virt-manager.org -o-
http://deltacloud.org :|
|:
http://autobuild.org -o-
http://search.cpan.org/~danberr/ :|
|: GnuPG: 7D3B9505 -o- F3C9 553F A1DA 4AC2 5648 23C1 B3DF F742 7D3B 9505 :|