From: Wenchao Xia <xiawenc@linux.vnet.ibm.com>
Cc: kwolf@redhat.com, aliguori@us.ibm.com, stefanha@gmail.com,
qemu-devel@nongnu.org, blauwirbel@gmail.com, pbonzini@redhat.com
Subject: Re: [Qemu-devel] [PATCH V8 0/4] libqblock qemu block layer library
Date: Fri, 26 Oct 2012 14:37:49 +0800 [thread overview]
Message-ID: <508A2FBD.1000601@linux.vnet.ibm.com> (raw)
In-Reply-To: <1350270787-24200-1-git-send-email-xiawenc@linux.vnet.ibm.com>
Hi, Kevin
Could u take a look at this patch to see if anything need to be
improved, many thanks.
> These patches introduce libqblock API, make libqblock.la and make
> check-libqblock could build this library.
> Functionalities:
> 1 create a new image.
> 2 sync access of an image.
> 3 basic image information retrieving such as backing file.
> 4 detect if a sector is allocated in an image.
> Supported Formats:
> ALL using file protocols.
>
> v2:
> Insert reserved bytes into union.
> Use uint64_t instead of size_t, offset.
> Use const char * in filename pointer.
> Initialization function removed and it was automatically executed when
> library is loaded.
> Added compile flag visibility=hidden, to avoid name space pollution.
> Structure naming style changed.
> Using byte unit instead of sector for every API.
> Added a member in image static information structure, to report logical
> sector size, which is always 512 now.
> Read and write API can take request not aligned to 512 now. It returns the
> byte number that have succeed in operation, but now either negative value
> or the number requested would be returned, because qemu block sync I/O API
> would not return such number.
> Typo fix due to comments and improved documents.
>
> v3:
> Removed the code about OOM error, introduced GError.
> Used a table to map from string to enum types about format.
> Use typedef for every structure.
> Improved the gcc compiler macro to warn if gcc was not used.
> Global variable name changed with prefix libqb_.
> The struct QBlockStaticInfo was changed to folder full format related
> information inside, and a new member with pointers pointing to the mostly used
> members, such as backing file, virt size, was added. This would allow the user
> to get full information about how it is created in the future.
> Each patch in the serial can work with qemu now.
> Typo fixes.
>
> v4:
> Renamed QBroker to QBlockContext.
> Removed tool objs out of libqblock.
> Added a check in initialization about structure size for ABI.
> Added a new helper API to duplicate protocol information, helps to open files
> in a backing file chain.
> Check-libqblock will not rebuild libqblock every time now.
> Test case file renamed to "libqblock-[FMT].c".
> Test use gtest framework now.
> Test do random creation of test file now, added check for information API in
> it.
> Test do random sync io instead of fixed offset io now.
> Test accept one parameter about where to place the test image, now it is
> ./tests/libqblock/test_images.
>
> v5:
> Makefile of libqblock was adjusted to be similar as libcacard, added spec
> file and install section.
> Removed warning when GCC was not found.
> Structure names were changed to better ones.
> Removed the union typedef that contain reserved bytes to reduce the folder
> depth.
> Some format related enum options was changed to better name.
> Added accessors about image static information, hide indirect accessing
> member detail in the structure.
> Test Makefile do not create diretory now, test case create it themself.
> Test build system do not use libtool now, and removed qtest-obj-y in its
> dependency, make check will automatically execute test anyway now.
> Removed "ifeq ($(LIBTOOL),)" in Makefile.
>
> v6:
> Remove address pointer member in image static info structure.
>
> v7:
> Support out of tree building.
>
> v8:
> Fix a bug in out of tree building.
>
> Wenchao Xia (4):
> libqblock build system
> libqblock type defines
> libqblock API
> libqblock test example
>
> .gitignore | 2 +
> Makefile | 14 +-
> block.c | 2 +-
> block.h | 1 +
> configure | 4 +-
> libqblock/Makefile | 72 +++
> libqblock/libqblock-error.c | 57 ++
> libqblock/libqblock-error.h | 49 ++
> libqblock/libqblock-internal.h | 75 +++
> libqblock/libqblock-types.h | 252 ++++++++
> libqblock/libqblock.c | 1191 +++++++++++++++++++++++++++++++++++++
> libqblock/libqblock.h | 341 +++++++++++
> libqblock/libqblock.pc.in | 13 +
> tests/Makefile | 36 ++-
> tests/libqblock/libqblock-qcow2.c | 392 ++++++++++++
> 15 files changed, 2496 insertions(+), 5 deletions(-)
> create mode 100644 libqblock/Makefile
> create mode 100644 libqblock/libqblock-error.c
> create mode 100644 libqblock/libqblock-error.h
> create mode 100644 libqblock/libqblock-internal.h
> create mode 100644 libqblock/libqblock-types.h
> create mode 100644 libqblock/libqblock.c
> create mode 100644 libqblock/libqblock.h
> create mode 100644 libqblock/libqblock.pc.in
> create mode 100644 tests/libqblock/libqblock-qcow2.c
>
>
--
Best Regards
Wenchao Xia
prev parent reply other threads:[~2012-10-26 6:39 UTC|newest]
Thread overview: 6+ messages / expand[flat|nested] mbox.gz Atom feed top
2012-10-15 3:13 [Qemu-devel] [PATCH V8 0/4] libqblock qemu block layer library Wenchao Xia
2012-10-15 3:13 ` [Qemu-devel] [PATCH V8 1/4] libqblock build system Wenchao Xia
2012-10-15 3:13 ` [Qemu-devel] [PATCH V8 2/4] libqblock type defines Wenchao Xia
2012-10-15 3:13 ` [Qemu-devel] [PATCH V8 3/4] libqblock API Wenchao Xia
2012-10-15 3:13 ` [Qemu-devel] [PATCH V8 4/4] libqblock test example Wenchao Xia
2012-10-26 6:37 ` Wenchao Xia [this message]
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=508A2FBD.1000601@linux.vnet.ibm.com \
--to=xiawenc@linux.vnet.ibm.com \
--cc=aliguori@us.ibm.com \
--cc=blauwirbel@gmail.com \
--cc=kwolf@redhat.com \
--cc=pbonzini@redhat.com \
--cc=qemu-devel@nongnu.org \
--cc=stefanha@gmail.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.