[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] [Xen-devel] Re: [PATCH] Expand non absolute paths in domain config to xen dir
Bastian Blank wrote: Hi folks The attached patch changes the behaviour of xm create to expand the values of kernel, ramdisk and device_model with the correct path within the xen dir if relative, like /usr/lib/xen/boot and /usr/lib/xen/bin. The old behaviour was unreliable as it used the working dir. Why does that make it unreliable?This patch will break a large number of existing configs that rely on relative path being the CWD. I frequently make use of this behavior. Regards, Anthony Liguori This change makes it possible to use only relative paths for supplied parts like hvmloader and qemu-dm and don't rely on a known location. Bastian ------------------------------------------------------------------------ diff -r 38f9bd7a4ce6 tools/python/xen/xm/create.py --- a/tools/python/xen/xm/create.py Tue Oct 03 11:39:22 2006 +0100 +++ b/tools/python/xen/xm/create.py Tue Oct 03 19:45:29 2006 +0000 @@ -460,6 +460,14 @@ def strip(pre, s): else: return s+def abspath(file, dir):+ if file[0] == '/': + return file + + import xen.util.auxbin + path = xen.util.auxbin.libpath() + return os.path.join(path, dir, file) + def configure_image(vals): """Create the image config. """ @@ -467,9 +475,9 @@ def configure_image(vals): return None config_image = [ vals.builder ] if vals.kernel: - config_image.append([ 'kernel', os.path.abspath(vals.kernel) ]) + config_image.append([ 'kernel', abspath(vals.kernel, 'boot') ]) if vals.ramdisk: - config_image.append([ 'ramdisk', os.path.abspath(vals.ramdisk) ]) + config_image.append([ 'ramdisk', abspath(vals.ramdisk, 'boot') ]) if vals.cmdline_ip: cmdline_ip = strip('ip=', vals.cmdline_ip) config_image.append(['ip', cmdline_ip]) @@ -631,13 +639,15 @@ def configure_hvm(config_image, vals): def configure_hvm(config_image, vals): """Create the config for HVM devices. """ - args = [ 'device_model', 'pae', 'vcpus', 'boot', 'fda', 'fdb', + args = [ 'pae', 'vcpus', 'boot', 'fda', 'fdb', 'localtime', 'serial', 'stdvga', 'isa', 'nographic', 'soundhw', 'vnc', 'vncdisplay', 'vncunused', 'vncconsole', 'sdl', 'display', 'acpi', 'apic', 'xauthority', 'usb', 'usbdevice' ] for a in args: if (vals.__dict__[a]): config_image.append([a, vals.__dict__[a]]) + if vals.device_model: + config_image.append([ 'device_model', abspath(vals.device_model, 'bin') ])def run_bootloader(vals, config_image):if not os.access(vals.bootloader, os.X_OK): ------------------------------------------------------------------------ _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxxxxxxxx http://lists.xensource.com/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |