All of lore.kernel.org
 help / color / mirror / Atom feed
From: Ori Mamluk <omamluk@zerto.com>
To: Anthony Liguori <anthony@codemonkey.ws>
Cc: "Kevin Wolf" <kwolf@redhat.com>, "עודד קדם" <oded@zerto.com>,
	dlaor@redhat.com, "תומר בן אור" <tomer@zertodata.com>,
	qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [RFC PATCH] replication agent module
Date: Tue, 07 Feb 2012 16:06:11 +0200	[thread overview]
Message-ID: <4F312FD3.5020206@zerto.com> (raw)
In-Reply-To: <4F311BBA.8000708@codemonkey.ws>

On 07/02/2012 14:40, Anthony Liguori wrote:
> On 02/07/2012 06:30 AM, Ori Mamluk wrote:
>>> In addition, I don't see that the listener thread holds any lock while
>> it reads the image. I guess that during that period the guest runs 
>> and may
>> race w/ this new thread.
>>
>> Yes - I mentioned that in the patch mail as one of the open issues. Can
>> you direct me to the lock I need? The function I call from a new thread
>> context is bdrv_aio_readv.
>
> One thing that has me confused about this proposal.  Why not just make 
> rehub be an iSCSI target provider and call it a day?
>
You've got a point there. This also goes with what Kevin wrote about 
splitting the IOs with a block driver and not at the generic level.

The main issue about it is that the Rephub also needs the other 
direction - to read the protected volume.

I get the feeling that with live block copy and NBD there's probably 
something that might fit this need, no?
With a 'new' agent like I need this is relatively easily achieved by a 
bidirectional protocol, but I agree a more generic protocol would be 
more elegant, although it will probably require a socket per direction, no?

I Some smaller questions:
* Is there already a working iScsi initiator as a block driver (I hope 
I'm using the right terminology) in Qemu, or do I need to write one?
* This driver would need to be added in run-time - to allow starting to 
protect a running VM. Maybe via a monitor command. I guess that's OK, right?
* What can you say about NBD via iScsi - with respect to our 
requirements- who is more mature in Qemu?

One more thing about the iScsi initiator - it will not be a standard 
backing for a drive, because the 'production' drive (i.e. the original 
image) is more important than the replicated one. This means that even 
though we use iScsi, this is still a replication agent - not a generic 
'additional' iscsi backing.




> Regards,
>
> Anthony Liguori
>
>>
>> -----Original Message-----
>> From: Dor Laor [mailto:dlaor@redhat.com]
>> Sent: Tuesday, February 07, 2012 2:25 PM
>> To: Anthony Liguori
>> Cc: Ori Mamluk; Kevin Wolf; qemu-devel@nongnu.org
>> Subject: Re: [Qemu-devel] [RFC PATCH] replication agent module
>>
>> On 02/07/2012 02:12 PM, Anthony Liguori wrote:
>>> Hi,
>>>
>>> On 02/07/2012 04:29 AM, Ori Mamluk wrote:
>>>> Repagent is a new module that allows an external replication system
>>>> to replicate a volume of a Qemu VM.
>>>>
>>>> This RFC patch adds the repagent client module to Qemu.
>>>
>>> Please read http://wiki.qemu.org/Contribute/SubmitAPatch
>>>
>>> In particular, use a tool like git-send-email and split this patch up
>>> into more manageable chunks.
>>>
>>> Is there an Open Source rehub available? As a project policy, adding
>>> external APIs specifically for proprietary software is not something
>>> we're willing to do.
>>>
>>> Regards,
>>>
>>> Anthony Liguori
>>
>> In addition, I don't see that the listener thread holds any lock 
>> while it
>> reads the image. I guess that during that period the guest runs and may
>> race w/ this new thread.
>>
>> About image ID for the replication hub, you can use the VM's pid or VM's
>> uuid paired w/ the specific disk uuid
>>
>> Thanks,
>> Dor
>>
>

  reply	other threads:[~2012-02-07 14:06 UTC|newest]

Thread overview: 66+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-07 10:29 [Qemu-devel] [RFC PATCH] replication agent module Ori Mamluk
2012-02-07 12:12 ` Anthony Liguori
2012-02-07 12:25   ` Dor Laor
2012-02-07 12:30     ` Ori Mamluk
2012-02-07 12:40       ` Anthony Liguori
2012-02-07 14:06         ` Ori Mamluk [this message]
2012-02-07 14:40           ` Paolo Bonzini
2012-02-07 14:48             ` Ori Mamluk
2012-02-07 15:47               ` Paolo Bonzini
2012-02-08  6:10                 ` Ori Mamluk
2012-02-08  8:49                   ` Dor Laor
2012-02-08 11:59                     ` Stefan Hajnoczi
2012-02-08  8:55                   ` Kevin Wolf
2012-02-08  9:47                     ` Ori Mamluk
2012-02-08 10:04                       ` Kevin Wolf
2012-02-08 13:28                         ` [Qemu-devel] [RFC] Replication agent design (was [RFC PATCH] replication agent module) Ori Mamluk
2012-02-08 14:59                           ` Stefan Hajnoczi
2012-02-08 14:59                             ` Stefan Hajnoczi
2012-02-19 13:40                             ` Ori Mamluk
2012-02-20 14:32                               ` Paolo Bonzini
2012-02-21  9:03                                 ` [Qemu-devel] BlockDriverState stack and BlockListeners (was: [RFC] Replication agent design) Kevin Wolf
2012-02-21  9:15                                   ` [Qemu-devel] BlockDriverState stack and BlockListeners Paolo Bonzini
2012-02-21  9:49                                     ` Kevin Wolf
2012-02-21 10:09                                       ` Paolo Bonzini
2012-02-21 10:51                                         ` Kevin Wolf
2012-02-21 11:36                                           ` Paolo Bonzini
2012-02-21 12:22                                             ` Stefan Hajnoczi
2012-02-21 12:57                                               ` Paolo Bonzini
2012-02-21 15:49                                               ` Markus Armbruster
2012-02-21 13:10                                             ` Kevin Wolf
2012-02-21 13:21                                               ` Paolo Bonzini
2012-02-21 15:56                                               ` Markus Armbruster
2012-02-21 16:04                                                 ` Kevin Wolf
2012-02-21 16:19                                                   ` Markus Armbruster
2012-02-21 16:39                                                     ` Kevin Wolf
2012-02-21 17:16                                               ` Stefan Hajnoczi
2012-02-21 10:20                                       ` Ori Mamluk
2012-02-29  8:38                                   ` Ori Mamluk
2012-03-03 11:46                                     ` Stefan Hajnoczi
2012-03-04  5:14                                       ` Ori Mamluk
2012-03-04  8:56                                         ` Paolo Bonzini
2012-03-05 12:04                                         ` Stefan Hajnoczi
2012-02-08 11:02                   ` [Qemu-devel] [RFC PATCH] replication agent module Stefan Hajnoczi
2012-02-08 13:00                     ` [Qemu-devel] [RFC] Replication agent requirements (was [RFC PATCH] replication agent module) Ori Mamluk
2012-02-08 13:30                       ` Anthony Liguori
2012-02-08 12:03                   ` [Qemu-devel] [RFC PATCH] replication agent module Stefan Hajnoczi
2012-02-08 12:46                     ` Paolo Bonzini
2012-02-08 14:39                       ` Stefan Hajnoczi
2012-02-08 14:55                         ` Paolo Bonzini
2012-02-08 15:07                           ` Stefan Hajnoczi
2012-02-07 14:53             ` Kevin Wolf
2012-02-07 15:00             ` Anthony Liguori
2012-02-07 13:34 ` Kevin Wolf
2012-02-07 13:50   ` Stefan Hajnoczi
2012-02-07 13:58     ` Paolo Bonzini
2012-02-07 14:05     ` Paolo Bonzini
2012-02-08 12:17       ` Orit Wasserman
2012-02-07 14:18     ` Ori Mamluk
2012-02-07 14:59     ` Anthony Liguori
2012-02-07 15:20       ` Stefan Hajnoczi
2012-02-07 16:25         ` Anthony Liguori
2012-02-21 16:01       ` Markus Armbruster
2012-02-21 17:31         ` Stefan Hajnoczi
2012-02-07 14:45   ` Ori Mamluk
2012-02-08 12:29     ` Orit Wasserman
2012-02-08 11:45   ` Luiz Capitulino

Reply instructions:

You may reply publicly to this message via plain-text email
using any one of the following methods:

* Save the following mbox file, import it into your mail client,
  and reply-to-all from there: mbox

  Avoid top-posting and favor interleaved quoting:
  https://en.wikipedia.org/wiki/Posting_style#Interleaved_style

* Reply using the --to, --cc, and --in-reply-to
  switches of git-send-email(1):

  git send-email \
    --in-reply-to=4F312FD3.5020206@zerto.com \
    --to=omamluk@zerto.com \
    --cc=anthony@codemonkey.ws \
    --cc=dlaor@redhat.com \
    --cc=kwolf@redhat.com \
    --cc=oded@zerto.com \
    --cc=qemu-devel@nongnu.org \
    --cc=tomer@zertodata.com \
    /path/to/YOUR_REPLY

  https://kernel.org/pub/software/scm/git/docs/git-send-email.html

* If your mail client supports setting the In-Reply-To header
  via mailto: links, try the mailto: link
Be sure your reply has a Subject: header at the top and a blank line before the message body.
This is an external index of several public inboxes,
see mirroring instructions on how to clone and mirror
all data and code used by this external index.