qemu-devel
[Top][All Lists]
Advanced

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

[Qemu-devel] Re: block: format vs. protocol, and how they stack


From: Kevin Wolf
Subject: [Qemu-devel] Re: block: format vs. protocol, and how they stack
Date: Mon, 21 Jun 2010 10:19:31 +0200
User-agent: Mozilla/5.0 (X11; U; Linux x86_64; en-US; rv:1.9.1.9) Gecko/20100430 Fedora/3.0.4-2.fc12 Thunderbird/3.0.4

Am 20.06.2010 12:51, schrieb Avi Kivity:
> On 06/18/2010 03:59 PM, Markus Armbruster wrote:
>> The code is pretty confused about format vs. protocol, and so are we.
>> Let's try to figure them out.
>>
>>  From cruising altitude, all this format, protocol, stacking business
>> doesn't matter.  We provide a bunch of arguments, and get an image.
>>
>> If you look more closely, providing that image involves sub-tasks.  One
>> is to haul bits.  Another one is to translate between bits in different
>> formats.
>>
>> Working hypothesis:
>>
>> * A protocol hauls image bits.  Examples: file, host_device, nbd.
>>
>> * A format translates image formats.  Examples: raw, qcow2.
>>
>>    
> 
> Is there a reason to make the distinction?  Is there a reason to expose 
> the distinction to the user?

There are good reasons to make that distinction internally. There's no
need to expose it to the user - the question is if it helps or not.

Historically, format and protocol are defined like this (so in fact they
are user-visible currently):

* A format is what you specify as file=...
* A protocol is what is encoded in the file name

And I think as long as you have exactly one format and one protocol,
it's easier to understand than a chain of block drivers. But that's
really just about how to expose it.

Kevin



reply via email to

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