qemu-devel
[Top][All Lists]
Advanced

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

Re: [Qemu-devel] [PATCH V8 0/4] libqblock qemu block layer library


From: Wenchao Xia
Subject: Re: [Qemu-devel] [PATCH V8 0/4] libqblock qemu block layer library
Date: Fri, 26 Oct 2012 14:37:49 +0800
User-agent: Mozilla/5.0 (Windows NT 5.1; rv:16.0) Gecko/20121010 Thunderbird/16.0.1

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




reply via email to

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