[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH] [mq]: patch_libxl_get_console_tty.diff
Hi, Ian >>>Ian Campbell <Ian.Campbell@xxxxxxxxxx> wrote: > On Tue, 2012-05-15 at 06:06 +0100, Bamvor Jian Zhang wrote: > > >> +int libxl_get_console_tty(libxl_ctx *ctx, uint32_t domid, char **path) > > >> +{ > > > > > >We already have various functions to refer to and open consoles, which > > >have much of this functionality in them already. That shouldn't be > > >duplicated. > > > > > >Also we need to make a policy decision about whether the fact that the > > >console looks like a tty is a part of the API. > > > sorry i only found one api about open console is libxl_console_exec. > > libxl_console_exec call xenconsole command directly which is not > > compatible with libvirt open console api. libvirt open console want a > > console device path and handle the console by libvirt itself. libvirt > > xen(not xenlight) driver read console path from xenstore directly > > which is prohibited by libvirt xenlight drvier. > > So, because these reasons, i guess add this simple api to return > > console path to libvirt is a good choice. it is useful for libvirt and > > do not break libxl api. > > We actually discussed the existing interface in the context of the libxl > stable API (sub-thread starting at > <20357.44324.27939.514126@xxxxxxxxxxxxxxxxxxxxxxxx> which has a lot of > sub-threads. Another interesting bit starts at > <20358.47143.994639.76453@xxxxxxxxxxxxxxxxxxxxxxxx>) > > In that thread IanJ said: > > ] int libxl_vncviewer_exec(libxl_ctx *ctx, uint32_t domid, int autopass); > > ] int libxl_console_exec(libxl_ctx *ctx, uint32_t domid, int cons_num, > libxl_console_type type); > > ] /* libxl_primary_console_exec finds the domid and console number > > ] * corresponding to the primary console of the given vm, then calls > > ] * libxl_console_exec with the right arguments (domid might be > different > > ] * if the guest is using stubdoms). > > ] * This function can be called after creating the device model, in > > ] * case of HVM guests, and before libxl_run_bootloader in case of PV > > ] * guests using pygrub. */ > > ] int libxl_primary_console_exec(libxl_ctx *ctx, uint32_t domid_vm); > > > > These functions should not exec things for you; they should tell you > > the parameters. Any execing helpers should be in libxlu. > > and later on he said, in response to some of my musings: > > But what if your vnc viewer doesn't have the command line options > > these functions expect ? libxl_vncviewer_* should give you an idl > > struct containing the ip address (or perhaps the domain name), port > > number, and password. > > I think the same can be said of libxl_console_*. > > In the end I decided: > > this seems like 4.3 material at this stage. > > > > I'd expect that the functions which behaved this way would not be > > called ..._exec (perhaps ..._get_params or so) so implementing the > > proper interface in 4.3 won't cause a compat issue. > > I think I'd be happy to make a freeze exception for a patch which > implemented the returning of an IDL struct representing the console > device for the benefit of libvirt, so long as it is pretty much self > contained (which I think it will be). thanks. I am working on it. i will send the patch v2 soon. > I don't see any need for it to be a requirement to switch xl over to > this new interface at this stage, but we could mark the exec functions > as already deprecated in 4.2 and plan to do so (with associated libxlu > helpers) in 4.3. > > This still leaves us having to decide if we want to expose the fact that > the console is a tty. Perhaps a compromise would be to include a > libxl_console_type enum and KeyedUnion of params, currently the only > possible value for the enum would be "PTY" (or "TTY")? (or maybe we can > leave that until the second one comes along...) > > Ian. > Bamvor _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |