From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:38024) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UQbnD-0004dS-5L for qemu-devel@nongnu.org; Fri, 12 Apr 2013 07:05:20 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1UQbnB-0007HO-NS for qemu-devel@nongnu.org; Fri, 12 Apr 2013 07:05:19 -0400 Received: from mail-qc0-x22c.google.com ([2607:f8b0:400d:c01::22c]:54910) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1UQbnB-0007HH-K6 for qemu-devel@nongnu.org; Fri, 12 Apr 2013 07:05:17 -0400 Received: by mail-qc0-f172.google.com with SMTP id b25so1147074qca.31 for ; Fri, 12 Apr 2013 04:05:17 -0700 (PDT) Sender: Paolo Bonzini Message-ID: <5167EA64.9080201@redhat.com> Date: Fri, 12 Apr 2013 13:05:08 +0200 From: Paolo Bonzini MIME-Version: 1.0 References: <1365745929-24871-3-git-send-email-mrhines@linux.vnet.ibm.com> <1365745929-24871-5-git-send-email-mrhines@linux.vnet.ibm.com> In-Reply-To: <1365745929-24871-5-git-send-email-mrhines@linux.vnet.ibm.com> Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 7bit Subject: Re: [Qemu-devel] [PATCH 4/8] rdma: implement new QEMUFileOps hooks List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: mrhines@linux.vnet.ibm.com Cc: aliguori@us.ibm.com, mst@redhat.com, qemu-devel@nongnu.org, owasserm@redhat.com, abali@us.ibm.com, mrhines@us.ibm.com, gokul@us.ibm.com Il 12/04/2013 07:52, mrhines@linux.vnet.ibm.com ha scritto: > > +void ram_control_load_hook(QEMUFile *f, uint32_t flags) > +{ > + int ret = 0; > + > + if (f->ops->hook_ram_load) { > + qemu_fflush(f); > + ret = f->ops->hook_ram_load(f, f->opaque, flags); > + if (ret < 0) { > + qemu_file_set_error(f, ret); > + } > + } Almost my last request. Here, qemu_fflush is not needed, we're reading. Also, please fail if there is no hook, that is: if (f->ops->hook_ram_load) { ret = f->ops->hook_ram_load(f, f->opaque, flags); } else { ret = -EIO; } if (ret < 0) { qemu_file_set_error(f, ret); } > + > + bytes = f->ops->save_page(f, f->opaque, block_offset, offset, size, va); > + > + if (bytes > 0) { > + f->pos += bytes; > + } > + And please add an "else { qemu_file_set_error(f, ret); }" too. Paolo