All of lore.kernel.org
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: quintela@redhat.com
Cc: Kevin Wolf <kwolf@redhat.com>, Chris Wright <chrisw@redhat.com>,
	qemu-devel@nongnu.org, kvm-devel <kvm@vger.kernel.org>
Subject: Re: [Qemu-devel] Re: KVM call agenda for Jan 11
Date: Tue, 11 Jan 2011 08:43:04 -0600	[thread overview]
Message-ID: <4D2C6C78.70606@codemonkey.ws> (raw)
In-Reply-To: <m31v4jblrb.fsf@trasno.org>

On 01/11/2011 07:41 AM, Juan Quintela wrote:
> Kevin Wolf<kwolf@redhat.com>  wrote:
>    
>> Am 10.01.2011 14:32, schrieb Juan Quintela:
>>      
>>> Juan Quintela<quintela@redhat.com>  wrote:
>>>        
>>>> Juan Quintela<quintela@redhat.com>  wrote:
>>>>
>>>> Now sent it to the right kvm list.  Sorry for the second sent.
>>>>
>>>>          
>>>>> Please send any agenda items you are interested in covering.
>>>>>
>>>>> - KVM Forum 2011 (Jes).
>>>>>
>>>>> thanks, Juan.
>>>>>            
>>> - migration and block devices: a mess.
>>>    * patches I sent last week: only work for root (for some definition of
>>>      work)
>>>    * qemu is used as non-root user.
>>>    * forcing to have cache=none solves the issue
>>>        
>> I need to have a look at the specific problem, but it's hard to imagine
>> that cache=none fixes anything reliably.
>>      
> It uses O_DIRECT, that means that we don't have buffering problems.
> I state the problem again:
>
> machine A read 1st block of device.
> <and stays without doing anything else>
> machine B reads writes lots of places including 1st block
>
> now guest from machine A migrates to machine B
> machine A re-reads the 1st block, and lo and behold, it reads the old
> contents, not the new ones.
>
> Solutions:
> - invalidate all buffers for that block device on machine A after
>    migration.
>     * with NFS, just close + reopen the file (and pray that nobody else
>     has it also opened)
>     * with block devices: use BLKFLBLK ioctl, and pray that nobody else is
>       using the device, that device is not a ramdisk, and some more
>       things.  To add injury to insult, you need to be root to be able
>       to issue that ioctl (technically have CAP_SYS_ADMIN).
>    

Why isn't fsync() enough for a block device?

Regards,

Anthony Liguori

> O_DIRECT fixes this problem altogether, because there is no buffering,
> and if there are not buffers, they can't be invalid O:-)
>
> Notice the "pray" part in the other solutions, we are basically trying
> to do a "poor man" DLM, and that is not trivial to do. (althougth our
> problem is not the general one, the principles are the same).
>
> Later, Juan.
>
>
>    


  reply	other threads:[~2011-01-11 14:43 UTC|newest]

Thread overview: 19+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-01-10 10:17 [Qemu-devel] KVM call agenda for Jan 11 Juan Quintela
2011-01-10 11:59 ` Juan Quintela
2011-01-10 11:59   ` [Qemu-devel] " Juan Quintela
2011-01-10 13:05   ` Jes Sorensen
2011-01-10 13:05     ` Jes Sorensen
2011-01-10 13:45     ` Stefan Hajnoczi
2011-01-10 13:45       ` Stefan Hajnoczi
2011-01-10 16:46       ` Peter Maydell
2011-01-10 16:46         ` Peter Maydell
2011-01-10 13:32   ` Juan Quintela
2011-01-10 13:32     ` [Qemu-devel] " Juan Quintela
2011-01-11 11:13     ` Kevin Wolf
2011-01-11 11:13       ` Kevin Wolf
2011-01-11 13:41       ` Juan Quintela
2011-01-11 13:41         ` [Qemu-devel] " Juan Quintela
2011-01-11 14:43         ` Anthony Liguori [this message]
2011-01-13 16:12           ` Avi Kivity
2011-01-13 16:12             ` Avi Kivity
2011-01-10 16:02 ` [Qemu-devel] " Anthony Liguori

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=4D2C6C78.70606@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=chrisw@redhat.com \
    --cc=kvm@vger.kernel.org \
    --cc=kwolf@redhat.com \
    --cc=qemu-devel@nongnu.org \
    --cc=quintela@redhat.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.