From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:37059) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SvrGH-0002BN-37 for qemu-devel@nongnu.org; Mon, 30 Jul 2012 10:47:58 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1SvrGF-000166-Vr for qemu-devel@nongnu.org; Mon, 30 Jul 2012 10:47:57 -0400 Received: from mx1.redhat.com ([209.132.183.28]:8484) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1SvrGF-00015y-MT for qemu-devel@nongnu.org; Mon, 30 Jul 2012 10:47:55 -0400 Message-ID: <50169E93.1020502@redhat.com> Date: Mon, 30 Jul 2012 16:47:47 +0200 From: Kevin Wolf MIME-Version: 1.0 References: <1343127865-16608-1-git-send-email-pbonzini@redhat.com> <1343127865-16608-5-git-send-email-pbonzini@redhat.com> In-Reply-To: <1343127865-16608-5-git-send-email-pbonzini@redhat.com> Content-Type: text/plain; charset=ISO-8859-15 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 04/47] block: add block_job_query List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Paolo Bonzini Cc: jcody@redhat.com, eblake@redhat.com, qemu-devel@nongnu.org, stefanha@linux.vnet.ibm.com Am 24.07.2012 13:03, schrieb Paolo Bonzini: > Extract it out of the implementation of query-block-jobs. > > Signed-off-by: Paolo Bonzini > --- > blockdev.c | 15 ++------------- > blockjob.c | 11 +++++++++++ > blockjob.h | 8 ++++++++ > 3 files changed, 21 insertions(+), 13 deletions(-) > > diff --git a/blockdev.c b/blockdev.c > index e066f8f..dc099f9 100644 > --- a/blockdev.c > +++ b/blockdev.c > @@ -1166,19 +1166,8 @@ static void do_qmp_query_block_jobs_one(void *opaque, BlockDriverState *bs) > BlockJob *job = bs->job; > > if (job) { > - BlockJobInfoList *elem; > - BlockJobInfo *info = g_new(BlockJobInfo, 1); > - *info = (BlockJobInfo){ > - .type = g_strdup(job->job_type->job_type), > - .device = g_strdup(bdrv_get_device_name(bs)), > - .len = job->len, > - .offset = job->offset, > - .speed = job->speed, > - }; > - > - elem = g_new0(BlockJobInfoList, 1); > - elem->value = info; > - > + BlockJobInfoList *elem = g_new0(BlockJobInfoList, 1); > + elem->value = block_job_query(bs->job); > (*prev)->next = elem; > *prev = elem; > } > diff --git a/blockjob.c b/blockjob.c > index 9737a43..a947a6e 100644 > --- a/blockjob.c > +++ b/blockjob.c > @@ -161,3 +161,14 @@ void block_job_sleep_ns(BlockJob *job, QEMUClock *clock, int64_t ns) > job->busy = true; > } > } > + > +BlockJobInfo *block_job_query(BlockJob *job) > +{ > + BlockJobInfo *info = g_new(BlockJobInfo, 1); > + info->type = g_strdup(job->job_type->job_type); > + info->device = g_strdup(bdrv_get_device_name(job->bs)); > + info->len = job->len; > + info->offset = job->offset; > + info->speed = job->speed; > + return info; > +} Why did you convert the initialisation to separate statement? If you really want to do this, I think using g_new0 would be safer now, but I actually like compound literals better. Kevin