[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] libxl: do not call default block script
On 08/05/13 07:07, Marek Marczykowski wrote: > When user didn't specified disk->script, libxl writes physical-device > node itself, making script call redundant - especially the default one. This change will break NetBSD support, please also attach the necessary NetBSD change or at least mention it in the commit message, so it can be fixed. If I'm right, the block script does other things apart from writing the physical device major/minor, it also checks that no other domain is using this device. If you want to make the hotplug script call non redundant I would recommend to prevent libxl from witting physical device major/minor instead of removing the execution of the hotplug script. > Signed-off-by: Marek Marczykowski <marmarek@xxxxxxxxxxxxxxxxxxxxxx> > --- > tools/libxl/libxl.c | 8 +++++--- > tools/libxl/libxl_linux.c | 5 ++--- > 2 files changed, 7 insertions(+), 6 deletions(-) > > diff --git a/tools/libxl/libxl.c b/tools/libxl/libxl.c > index 6733e71..58b7a03 100644 > --- a/tools/libxl/libxl.c > +++ b/tools/libxl/libxl.c > @@ -2093,9 +2093,11 @@ static void device_disk_add(libxl__egc *egc, uint32_t > domid, > flexarray_append(back, "params"); > flexarray_append(back, dev); > > - script = libxl__abs_path(gc, disk->script?: "block", > - libxl__xen_script_dir_path()); > - flexarray_append_pair(back, "script", script); > + if (disk->script) { > + script = libxl__abs_path(gc, disk->script, > + libxl__xen_script_dir_path()); > + flexarray_append_pair(back, "script", script); > + } > > /* If the user did not supply a block script then we > * write the physical-device node ourselves. > diff --git a/tools/libxl/libxl_linux.c b/tools/libxl/libxl_linux.c > index 115332a..923a1d0 100644 > --- a/tools/libxl/libxl_linux.c > +++ b/tools/libxl/libxl_linux.c libxl_netbsd.c should also be modified to reflect this change. > @@ -334,9 +334,8 @@ static int libxl__hotplug_disk(libxl__gc *gc, > libxl__device *dev, > script = libxl__xs_read(gc, XBT_NULL, > GCSPRINTF("%s/%s", be_path, "script")); > if (!script) { > - LOGEV(ERROR, errno, "unable to read script from %s", be_path); > - rc = ERROR_FAIL; > - goto error; > + LOG(INFO, "no script for %s", be_path); > + return 0; > } > > *env = get_hotplug_env(gc, script, dev); > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |