qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Kai Meyer <kai.meyer@storagecraft.com>
To: Stefan Weil <weil@mail.berlios.de>
Cc: Nate Bushman <Nate.Bushman@storagecraft.com>, qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] Add support for new image type
Date: Thu, 1 Mar 2012 13:31:50 -0700	[thread overview]
Message-ID: <4F4FDCB6.3060203@storagecraft.com> (raw)
In-Reply-To: <4F4FD9A6.9060308@mail.berlios.de>

On 03/01/2012 01:18 PM, Stefan Weil wrote:
> Am 01.03.2012 21:10, schrieb Stefan Weil:
>> Am 01.03.2012 20:45, schrieb Kai Meyer:
>>> On 03/01/2012 08:03 AM, Kevin Wolf wrote:
>>>> Am 29.02.2012 22:52, schrieb Kai Meyer:
>>>>> Is it possible to extend qemu to support a new image type? I have an
>>>>> image type that is ready for consumption and I'm looking for the
>>>>> integration point between qemu and the new image format.
>>>> Which image format do you want to get integrated?
>>>>
>>>> Have a look at block/qcow2.c to get an idea of what a qemu block 
>>>> driver
>>>> looks like. At the bottom of the file there is a struct that contains
>>>> function pointers to all exported functions, so this is usually a good
>>>> place to start exploring a driver.
>>>>
>>>> Kevin
>>>
>>> Great, this is exactly what we're after. I work for StorageCraft, 
>>> and we would like to figure out some way to allow qemu to directly 
>>> consume our image-based backups. It would provide us with user-space 
>>> mounting (via libguestfs) as well as booting VMs directly from 
>>> Backup images. We already have a proprietary image access library 
>>> that provides block-wise access to our image files. I have been able 
>>> to scratch together a proof of concept already, which I am really 
>>> pleased with.
>>>
>>> I see only two roadblocks for which I don't have immediate answers for.
>>>
>>> 1) Licensing
>>> Is it possible to license our contributions in such a way that we do 
>>> not need to open the source code of our image access library?
>>
>> This is not possible if you want to link your image access library 
>> statically.
>>
>> QEMU uses GPL v2. You can use a patched QEMU internally,
>> but as soon as you want to give it to customers (or get it integrated
>> in the official source tree), you must publish all code which is needed
>> under an open license.
>>
>> If your image access library is a shared library (linked at runtime),
>> the situation is more difficult. The intention of the GPL is still
>> that you have to publish your code (this is also what the FSF says),
>> but there are different opinions for GPL v2. See
>> http://en.wikipedia.org/wiki/GNU_General_Public_License for
>> more information.
>>
>> I personally don't like the idea of QEMU supporting closed source
>> shared libraries.
>>
>>> 2) External dependency on our image access library.
>>> We do not want to force qemu to require our image access library to 
>>> be present to build. Would it be better to do a conditional build 
>>> (./configure --with-spf) or a run-time check for our image access 
>>> library?
>>
>> You'll need the conditional build for those people who don't want 
>> support
>> for your image type.
>>
>> Regards,
>>
>> Stefan Weil
>
>
> I forgot to mention a possible solution: instead of using your image 
> access library
> (which is closed source), you could write new access code (maybe with 
> reduced
> functionality) and publish that code under an open source license.
>
> QEMU uses this approach for some image types where we don't have the
> original source code (for example block/vpc.c or block/vmdk.c).
>
> Regards,
> Stefan Weil
>
I haven't planned on pitching that as a solution, but I will keep it in 
mind.

  reply	other threads:[~2012-03-01 20:31 UTC|newest]

Thread overview: 35+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2012-02-29 21:52 [Qemu-devel] Add support for new image type Kai Meyer
2012-03-01  0:16 ` Brian Jackson
2012-03-01 15:03 ` Kevin Wolf
2012-03-01 19:45   ` Kai Meyer
2012-03-01 20:10     ` Stefan Weil
2012-03-01 20:18       ` Stefan Weil
2012-03-01 20:31         ` Kai Meyer [this message]
2012-03-01 21:05         ` Anthony Liguori
2012-03-01 21:14           ` Kai Meyer
2012-03-02  6:54             ` Paolo Bonzini
2012-03-02 18:38               ` Kai Meyer
2012-03-05  9:14                 ` Paolo Bonzini
2012-03-05 12:14                 ` Stefan Hajnoczi
2012-05-16 17:06               ` Kai Meyer
2012-05-16 17:48                 ` Paolo Bonzini
2012-05-16 18:21                   ` Anthony Liguori
2012-05-16 18:56                     ` Kai Meyer
2012-05-16 19:20                   ` Kai Meyer
2012-05-17  9:10                     ` Artyom Tarasenko
2012-05-17  9:41                       ` Paolo Bonzini
2012-05-17 11:03                         ` Artyom Tarasenko
2012-05-17 17:53                         ` Kai Meyer
2012-05-17 19:43                           ` Paolo Bonzini
2012-05-17 20:18                             ` Kai Meyer
2012-03-01 20:26       ` Kai Meyer
2012-03-01 20:38         ` Paolo Bonzini
2012-03-01 20:53         ` Stefan Weil
2012-03-01 21:02     ` Anthony Liguori
2012-03-08 15:17     ` Kevin Wolf
2012-03-08 17:16       ` Nate Bushman
2012-03-09  9:23         ` Kevin Wolf
2012-03-09 10:28           ` Paolo Bonzini
2012-03-09 11:26             ` Kevin Wolf
2012-03-10 16:54             ` Nate Bushman
2012-03-10 16:53           ` Nate Bushman

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=4F4FDCB6.3060203@storagecraft.com \
    --to=kai.meyer@storagecraft.com \
    --cc=Nate.Bushman@storagecraft.com \
    --cc=qemu-devel@nongnu.org \
    --cc=weil@mail.berlios.de \
    /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 a public inbox, see mirroring instructions
for how to clone and mirror all data and code used for this inbox;
as well as URLs for NNTP newsgroup(s).