qemu-devel
[Top][All Lists]
Advanced

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

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


From: Blue Swirl
Subject: Re: [Qemu-devel] [PATCH V7 0/4] libqblock qemu block layer library
Date: Sat, 13 Oct 2012 10:49:45 +0000

On Sat, Oct 13, 2012 at 5:10 AM, Wenchao Xia <address@hidden> wrote:
> From: Wenchao Xia <address@hidden>
>
>   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.

Still does not work:
  lt CC libqblock/libqblock.lo
In file included from /src/qemu/qemu-common.h:6,
                 from /src/qemu/qemu-aio.h:17,
                 from /src/qemu/block.h:4,
                 from /src/qemu/libqblock/libqblock-internal.h:19,
                 from /src/qemu/libqblock/libqblock.c:18:
/src/qemu/compiler.h:6:25: error: config-host.h: No such file or directory

>
> 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
>
>
>



reply via email to

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