qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [Qemu-devel] bdrv_flush for qemu block drivers nbd, rbd and sheepdog


From: Kevin Wolf
Subject: Re: [Qemu-devel] bdrv_flush for qemu block drivers nbd, rbd and sheepdog
Date: Fri, 22 Oct 2010 15:57:41 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.12) Gecko/20100907 Fedora/3.0.7-1.fc12 Thunderbird/3.0.7

Am 22.10.2010 15:45, schrieb Anthony Liguori:
>>> On a physical system, if you don't have a battery backed disk and you
>>> enable the WC on your disk, then even with cache=writethrough we're unsafe.
>>>      
>> I don't think that's right. O_SYNC should guarantee that the volatile
>> disk cache is flushed.
>>    
> 
> If your filesystem does the right thing which an awful lot of them don't 
> today.

The list of really relevant filesystems is rather short, though.

>>> Likewise, if you mount your filesystem with barrier=0, QEMU is unsafe.
>>>      
>> Yeah, if you do something equivalent to cache=unsafe on a lower layer,
>> then qemu can't do much about it. Maybe you can apply the same argument
>> to NBD, even though it's unsafe by default.
>>
>>    
>>> QEMU can't guarantee safety.  The underlying storage needs to be
>>> configured correctly.  As long as we're not introducing caching within
>>> QEMU, I don't think we should assume we're unsafe.
>>>
>>> Do we have any place where we can add docs on a per-block format basis?
>>> It would be good to at least mention for each block device how the
>>> backing storage needed to be configured for safety.
>>>      
>> docs/block-protocols.txt?
>>    
> 
> Maybe docs/block/<name>.txt?  Would be a good home for the qed spec too.

I think spec and documentation for users should be kept separate. I
thought that's the reason why docs/specs/ exists.

And if you exclude specs, I'm not sure if there's a lot left to say for
each format. Having ten files under docs/block/ which consist of two
lines each would be ridiculous. If contrary to my expectations we
actually do have content for it, docs/block/<name>.txt works for me as well.

Kevin



reply via email to

[Prev in Thread] Current Thread [Next in Thread]