qemu-devel.nongnu.org archive mirror
 help / color / mirror / Atom feed
From: Anthony Liguori <anthony@codemonkey.ws>
To: Saggi Mizrahi <smizrahi@redhat.com>
Cc: qemu-devel@nongnu.org
Subject: Re: [Qemu-devel] [PATCH 2/2] Added target to build libvdisk
Date: Wed, 24 Aug 2011 07:50:37 -0500	[thread overview]
Message-ID: <4E54F39D.2040409@codemonkey.ws> (raw)
In-Reply-To: <4E54E140.1060809@redhat.com>

On 08/24/2011 06:32 AM, Saggi Mizrahi wrote:
> On Tue 23 Aug 2011 07:21:56 PM IDT, Anthony Liguori wrote:
>> But QEMU is GPL. Libraries derived from QEMU will also be GPL.
>>
>> Regards,
>>
>> Anthony Liguori
>>
>>>
>>> Regards,
>>> Daniel
>
> OK, I admit it was a pretty naive solution. But I always try to do the
> simplest solution first.
> The license issues can be solved later. (Having it as GPL later changing
> to LGPL if we can).
>
> As for the API I can create start a specialized API for the lib that
> uses the internal API.
> I can hide BlockDriverState and export it as an fd.
> int vdisk_open(path, format, flags)
> size_t vdisk_pread(fd, buf, size, offset)
> size_t vdisk_pwrite(fd, buff, size, offset)
> int vdisk_close(fd)
>
> int vdisk_get_size(fd)

That's not really much better.  You'll only end up reinventing the block 
layer API.

The best route is to focus on cleaning up the block layer interface. 
This means converting existing users to use a single interface, adding 
documentation to each interface, writing test cases against the block 
layer API.

Practically speaking, I think we really need to move the block layer to 
use glib primitives too before you can realistically consume the code 
outside of QEMU.

Regards,

Anthony Liguori

>
> That way no internal structures are exported and we use a minimal set of
> functions that are very unlikely to change.
> There is no support for snapshots, metadata etc. But these APIs can be
> added later.
>
> And of-course we can always define the lib as experimental until the API
> stabilizes.
>

  reply	other threads:[~2011-08-24 12:50 UTC|newest]

Thread overview: 11+ messages / expand[flat|nested]  mbox.gz  Atom feed  top
2011-08-22 17:06 [Qemu-devel] [PATCH 1/2] Better support for distros using lib64 dis Saggi Mizrahi
2011-08-22 17:06 ` [Qemu-devel] [PATCH 2/2] Added target to build libvdisk Saggi Mizrahi
2011-08-22 18:50   ` Blue Swirl
2011-08-22 19:29   ` Anthony Liguori
2011-08-23 16:12     ` Daniel P. Berrange
2011-08-23 16:14       ` Anthony Liguori
2011-08-23 16:18         ` Daniel P. Berrange
2011-08-23 16:21           ` Anthony Liguori
2011-08-24 11:32             ` Saggi Mizrahi
2011-08-24 12:50               ` Anthony Liguori [this message]
2011-08-24 12:55                 ` Daniel P. Berrange

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=4E54F39D.2040409@codemonkey.ws \
    --to=anthony@codemonkey.ws \
    --cc=qemu-devel@nongnu.org \
    --cc=smizrahi@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 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).