[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [RFC Patch v3 16/18] update libxl__device_disk_from_xs_be() to support blktap device
On Fri, Sep 12, 2014 at 05:03:02PM +0800, Wen Congyang wrote: > On 09/12/2014 04:53 PM, Wei Liu wrote: > > On Thu, Sep 11, 2014 at 03:58:37PM +0800, Wen Congyang wrote: > >> On 09/08/2014 07:42 PM, Ian Campbell wrote: > >>> On Fri, 2014-09-05 at 17:10 +0800, Wen Congyang wrote: > >>>> > >>>> +int libxl_string_to_format(libxl_ctx *ctx, char *s, libxl_disk_format > >>>> *format) > >>>> +{ > >>> > >>> This already exists as libxl_disk_format_to_string. > >> > >> Another question: > >> We store format:file to tapdisk-params/params. But we store aio if the > >> format > >> is raw. libxl_disk_format_to_string() doesn't recognize aio... > >> > > > > I think you're talking about libxl_disk_format_from_string... > > Yes > > > > > FWIW, have you looked at libxl__device_disk_string_of_format? > > char *libxl__device_disk_string_of_format(libxl_disk_format format) > { > switch (format) { > case LIBXL_DISK_FORMAT_QCOW: return "qcow"; > case LIBXL_DISK_FORMAT_QCOW2: return "qcow2"; > case LIBXL_DISK_FORMAT_VHD: return "vhd"; > case LIBXL_DISK_FORMAT_RAW: > case LIBXL_DISK_FORMAT_EMPTY: return "aio"; > default: return NULL; > } > } > > If the format is LIBXL_DISK_FORMAT_RAW, we store "aio" in > tapdisk-params/params, > But libxl_disk_format_from_string(): > libxl_enum_string_table libxl_disk_format_string_table[] = { > { .s = "unknown", .v = LIBXL_DISK_FORMAT_UNKNOWN }, > { .s = "qcow", .v = LIBXL_DISK_FORMAT_QCOW }, > { .s = "qcow2", .v = LIBXL_DISK_FORMAT_QCOW2 }, > { .s = "vhd", .v = LIBXL_DISK_FORMAT_VHD }, > { .s = "raw", .v = LIBXL_DISK_FORMAT_RAW }, > { .s = "empty", .v = LIBXL_DISK_FORMAT_EMPTY }, > { NULL, -1 }, > }; > > int libxl_disk_format_from_string(const char *s, libxl_disk_format *e) > { > return libxl__enum_from_string(libxl_disk_format_string_table, > s, (int *)e); > } > If the string is "aio", libxl_disk_format_from_string() will return > ERROR_FAIL. > Heh, interesting. This looks like a bug to me. But I'm not sure whether this is for backward compatibility. Git blame shows that libxl__device_disk_string_of_format hasn't been touched for quite a while. I don't have enough knowledge of how this came into being. > We have two choices: > 1. Introduce a new API IMHO this has the risk of becoming out-of-sync in the future, just like libxl__device_disk_string_of_format (if it is the case for it). Note that functions in _libxl_types*.[ch] are autogenerated so whenever we make change to IDL they get regenerated, so that always reflects the current interface. Wei. > 2. store "raw" in tapdisk-params/params > > Thanks > Wen Congyang > > > > > Wei. > > > >> Is it ok to change the value stored in tapdisk-params/params? > >> > >> Thanks > >> Wen Congyang > >> > >>> > >>> Ian. > >>> > >>> . > >>> > >> > >> > >> _______________________________________________ > >> Xen-devel mailing list > >> Xen-devel@xxxxxxxxxxxxx > >> http://lists.xen.org/xen-devel > > . > > _______________________________________________ Xen-devel mailing list Xen-devel@xxxxxxxxxxxxx http://lists.xen.org/xen-devel
|
Lists.xenproject.org is hosted with RackSpace, monitoring our |