|
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index] Re: [Xen-devel] [PATCH 1 of 7 v2] blktap3/tapback: Introduce core defines and structure definitions
On Fri, 2013-01-04 at 12:14 +0000, Thanos Makatos wrote:
> +#define BUG_ON(_cond) \
> + if (unlikely(_cond)) { \
> + assert(0); \
This is basically a fancy way to write "assert(!_cond)" I think? I don't
imagine that the unlikely will make a measurable difference for you but
the downside is that a clever assert will print out the condition, so
you get
assertion failed: 0
instead of
assertion failed: <_cond>
So you might almost as well use either abort() or
if (unlikely(_cond))
assert(!_cond)
(evaluating cond twice won't hurt much under the circumstances, and the
compiler will probably optimise that anyway)
> + }
> +
> +/*
> + * XenStore path components.
> + *
> + * To avoid confusion with blktap2, we'll use a new kind of device for libxl
> + * defining it in tools/libxl/libxl_types_internal.idl. This will be done by
> + * the patch that adds libxl support for blktap3. TODO When that patch is
> sent,
> + * use the definition from there instead of hard-coding it here.
> + */
> +#define XENSTORE_BACKEND "backend"
> +#define BLKTAP3_BACKEND_NAME "xenio"
tapback?
> +#define BLKTAP3_BACKEND_PATH XENSTORE_BACKEND"/"BLKTAP3_BACKEND_NAME
> +#define BLKTAP3_BACKEND_TOKEN XENSTORE_BACKEND"-"BLKTAP3_BACKEND_NAME
> +#define BLKTAP3_FRONTEND_TOKEN "otherend-state"
> +#define BLKTAP3_SERIAL BLKTAP3_BACKEND_NAME"-serial"
I'm not sure all of these are worth a #define, but I'm not yet sure what
they are used for.
> + * TODO Put the rest of the front-end nodes defined in blkif.h here and group
> + * them. e.g. FRONTEND_NODE_xxx.
> + */
> +#define RING_REF "ring-ref"
> +#define FEAT_PERSIST "feature-persistent"
> +/**
> + * Iterates over all devices and returns the one for which the condition is
> + * true.
> + */
> +#define tapback_backend_find_device(_device, _cond) \
> +do {
> \
> + vbd_t *__next;
> \
> + int found = 0;
> \
> + tapback_backend_for_each_device(_device, __next) { \
> + if (_cond) {
> \
> + found = 1;
> \
> + break;
> \
> + }
> \
> + }
> \
> + if (!found)
> \
> + _device = NULL;
> \
> +} while (0)
Whitespace...
_______________________________________________
Xen-devel mailing list
Xen-devel@xxxxxxxxxxxxx
http://lists.xen.org/xen-devel
|
![]() |
Lists.xenproject.org is hosted with RackSpace, monitoring our |