qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] [PATCH V12 6/7] libqblock API implement


From: Paolo Bonzini
Subject: Re: [Qemu-devel] [PATCH V12 6/7] libqblock API implement
Date: Wed, 28 Nov 2012 10:17:04 +0100
User-agent: Mozilla/5.0 (X11; Linux x86_64; rv:17.0) Gecko/17.0 Thunderbird/17.0

Almost there...

Il 28/11/2012 09:55, Wenchao Xia ha scritto:
> +/* This file was only used in libqblock, codes are copied from main-loop.c,
> + iohandler.c, compatfd.c now, it may have different implemention in the 
> future.
> +*/

No need for this comment.

> +
> +/* Signal fd support, original codes are from compatfd.c */
> +
>  bool qemu_signalfd_available(void)
>  {
>      return false;

I think this stub can instead be placed in stubs/.

> +int qb_image_new(QBlockContext *context,
> +                 QBlockImage **p_qbi)
> +{
> +    *p_qbi = g_malloc0_n(1, sizeof(QBlockImage));
> +    (*p_qbi)->bdrvs = bdrv_new("hda");
> +    if ((*p_qbi)->bdrvs == NULL) {
> +        QB_FREE(*p_qbi);
> +        set_context_err(context, QB_ERR_INTERNAL_ERR,
> +                       "failed to create the driver.");
> +        return context->err_ret;
> +    }
> +    return 0;
> +}

The first reference should already be provided by qb_image_new.

> 
> +__attribute__((constructor))
> +static void libqblock_init(void)
> +{
> +    /* Todo: add an assertion about the ABI. */
> +    if (libqb_global_data.init_flag == 0) {
> +        libqblock_runtime_init();
> +        libqb_global_data.init_flag = 1;
> +    }
> +}


How can this be called with libqb_global_data.init_flag == 1?



reply via email to

[Prev in Thread] Current Thread [Next in Thread]