From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([208.118.235.92]:59940) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T6g45-00049w-S1 for qemu-devel@nongnu.org; Wed, 29 Aug 2012 07:04:09 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1T6g43-0006sX-WA for qemu-devel@nongnu.org; Wed, 29 Aug 2012 07:04:05 -0400 Received: from e28smtp01.in.ibm.com ([122.248.162.1]:35169) by eggs.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1T6g43-0006rr-Ad for qemu-devel@nongnu.org; Wed, 29 Aug 2012 07:04:03 -0400 Received: from /spool/local by e28smtp01.in.ibm.com with IBM ESMTP SMTP Gateway: Authorized Use Only! Violators will be prosecuted for from ; Wed, 29 Aug 2012 16:33:57 +0530 Received: from d28av03.in.ibm.com (d28av03.in.ibm.com [9.184.220.65]) by d28relay02.in.ibm.com (8.13.8/8.13.8/NCO v10.0) with ESMTP id q7TB3sVV52756530 for ; Wed, 29 Aug 2012 16:33:54 +0530 Received: from d28av03.in.ibm.com (loopback [127.0.0.1]) by d28av03.in.ibm.com (8.14.4/8.13.1/NCO v10.0 AVout) with ESMTP id q7TB3rA0007153 for ; Wed, 29 Aug 2012 21:03:54 +1000 From: Wenchao Xia Date: Wed, 29 Aug 2012 19:02:53 +0800 Message-Id: <1346238173-24379-1-git-send-email-xiawenc@linux.vnet.ibm.com> Subject: [Qemu-devel] [PATCH v3 0/5] [RFC] lobqblock, qemu block layer library List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: kwolf@redhat.com, aliguori@us.ibm.com, stefanha@gmail.com, Wenchao Xia , blauwirbel@gmail.com, pbonzini@redhat.com, eblake@redhat.com, afaerber@suse.de This patch intrudce libqblock API, libqblock-test is used as a test case. make libqblock-test at root diretory could make it build. Test it with ./libqblock/libqblock-test [FILE] [BACKINGFILE] V2: Format specific options were brought to API surface. All option were changed to enum type instead of string. ALL flags used were defined in libqblock.h. V3: Introduced broker, which was used for each thread, now it is used only to handle errors. Introduced AIO, it is based on qemu's aio implemetion. Balanced the structure folder depth and extension-bility, now parameters are classed into two kinds: location and formats. Using reserved bytes in structure to make ABI code simpler. Wenchao Xia (5): libqblock, API design libqblock, user example libqblock, implemention major libqblock, implemention minor libqblock, build system Makefile | 23 +- aio.c | 95 ++++ block.c | 2 +- block.h | 1 + libqblock/Makefile | 74 ++++ libqblock/libqblock-test.c | 242 +++++++++++ libqblock/libqblock.c | 1031 ++++++++++++++++++++++++++++++++++++++++++++ libqblock/libqblock.h | 550 +++++++++++++++++++++++ qemu-aio.h | 1 + 9 files changed, 2017 insertions(+), 2 deletions(-) create mode 100644 libqblock/Makefile create mode 100644 libqblock/libqblock-test.c create mode 100644 libqblock/libqblock.c create mode 100644 libqblock/libqblock.h