From mboxrd@z Thu Jan 1 00:00:00 1970 From: Juan Quintela Subject: Re: [PATCH 07/18] Introduce fault tolerant VM transaction QEMUFile and ft_mode. Date: Thu, 24 Feb 2011 10:30:24 +0100 Message-ID: References: <1298468927-19193-1-git-send-email-tamura.yoshiaki@lab.ntt.co.jp> <1298468927-19193-8-git-send-email-tamura.yoshiaki@lab.ntt.co.jp> <4D65D679.3010607@lab.ntt.co.jp> Reply-To: quintela@redhat.com Mime-Version: 1.0 Content-Type: text/plain; charset=us-ascii Cc: qemu-devel@nongnu.org, kvm-devel To: Yoshiaki Tamura Return-path: Received: from mx1.redhat.com ([209.132.183.28]:44421 "EHLO mx1.redhat.com" rhost-flags-OK-OK-OK-OK) by vger.kernel.org with ESMTP id S1755509Ab1BXJbz (ORCPT ); Thu, 24 Feb 2011 04:31:55 -0500 In-Reply-To: <4D65D679.3010607@lab.ntt.co.jp> (Yoshiaki Tamura's message of "Thu, 24 Feb 2011 12:54:33 +0900") Sender: kvm-owner@vger.kernel.org List-ID: [ trimming cc to kvm & qemu lists] Yoshiaki Tamura wrote: > Juan Quintela wrote: >> Yoshiaki Tamura wrote: >>> This code implements VM transaction protocol. Like buffered_file, it >>> sits between savevm and migration layer. With this architecture, VM >>> transaction protocol is implemented mostly independent from other >>> existing code. >> >> Could you explain what is the difference with buffered_file.c? >> I am fixing problems on buffered_file, and having something that copies >> lot of code from there makes me nervous. > > The objective is different: > > buffered_file buffers data for transmission control. > ft_trans_file adds headers to the stream, and controls the transaction > between sender and receiver. > > Although ft_trans_file sometimes buffers date, but it's not the main objective. > If you're fixing the problems on buffered_file, I'll keep eyes on them. > >>> +typedef ssize_t (FtTransPutBufferFunc)(void *opaque, const void *data, size_t size); >> >> Can we get some sharing here? >> typedef ssize_t (BufferedPutFunc)(void *opaque, const void *data, size_t size); >> >> There are not so much types for a write function that the 1st element is >> one opaque :p > > You're right, but I want to keep ft_trans_file independent of > buffered_file at this point. Once Kemari gets merged, I'm happy to > work with you to fix the problems on buffered_file and ft_trans_file, > and refactoring them. My goal is getting its own thread for migration on 0.15, that basically means that we can do rm buffered_file.c. I guess that something similar could happen for kemari. But for now, this is just the start + handwaving, once I start doing the work I will told you. Later, Juan. From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from [140.186.70.92] (port=45192 helo=eggs.gnu.org) by lists.gnu.org with esmtp (Exim 4.43) id 1PsXYC-0008UG-O7 for qemu-devel@nongnu.org; Thu, 24 Feb 2011 04:31:57 -0500 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1PsXYB-0006gp-CT for qemu-devel@nongnu.org; Thu, 24 Feb 2011 04:31:56 -0500 Received: from mx1.redhat.com ([209.132.183.28]:62544) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1PsXYB-0006gh-17 for qemu-devel@nongnu.org; Thu, 24 Feb 2011 04:31:55 -0500 From: Juan Quintela In-Reply-To: <4D65D679.3010607@lab.ntt.co.jp> (Yoshiaki Tamura's message of "Thu, 24 Feb 2011 12:54:33 +0900") References: <1298468927-19193-1-git-send-email-tamura.yoshiaki@lab.ntt.co.jp> <1298468927-19193-8-git-send-email-tamura.yoshiaki@lab.ntt.co.jp> <4D65D679.3010607@lab.ntt.co.jp> Date: Thu, 24 Feb 2011 10:30:24 +0100 Message-ID: MIME-Version: 1.0 Content-Type: text/plain; charset=us-ascii Subject: [Qemu-devel] Re: [PATCH 07/18] Introduce fault tolerant VM transaction QEMUFile and ft_mode. Reply-To: quintela@redhat.com List-Id: qemu-devel.nongnu.org List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: Yoshiaki Tamura Cc: qemu-devel@nongnu.org, kvm-devel [ trimming cc to kvm & qemu lists] Yoshiaki Tamura wrote: > Juan Quintela wrote: >> Yoshiaki Tamura wrote: >>> This code implements VM transaction protocol. Like buffered_file, it >>> sits between savevm and migration layer. With this architecture, VM >>> transaction protocol is implemented mostly independent from other >>> existing code. >> >> Could you explain what is the difference with buffered_file.c? >> I am fixing problems on buffered_file, and having something that copies >> lot of code from there makes me nervous. > > The objective is different: > > buffered_file buffers data for transmission control. > ft_trans_file adds headers to the stream, and controls the transaction > between sender and receiver. > > Although ft_trans_file sometimes buffers date, but it's not the main objective. > If you're fixing the problems on buffered_file, I'll keep eyes on them. > >>> +typedef ssize_t (FtTransPutBufferFunc)(void *opaque, const void *data, size_t size); >> >> Can we get some sharing here? >> typedef ssize_t (BufferedPutFunc)(void *opaque, const void *data, size_t size); >> >> There are not so much types for a write function that the 1st element is >> one opaque :p > > You're right, but I want to keep ft_trans_file independent of > buffered_file at this point. Once Kemari gets merged, I'm happy to > work with you to fix the problems on buffered_file and ft_trans_file, > and refactoring them. My goal is getting its own thread for migration on 0.15, that basically means that we can do rm buffered_file.c. I guess that something similar could happen for kemari. But for now, this is just the start + handwaving, once I start doing the work I will told you. Later, Juan.