From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:54816) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bPsWi-00077d-Cn for qemu-devel@nongnu.org; Wed, 20 Jul 2016 10:31:12 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bPsWd-0001zP-3Q for qemu-devel@nongnu.org; Wed, 20 Jul 2016 10:31:07 -0400 From: Colin Lord Date: Wed, 20 Jul 2016 10:30:47 -0400 Message-Id: <1469025050-12715-1-git-send-email-clord@redhat.com> MIME-Version: 1.0 Content-Type: text/plain; charset=UTF-8 Content-Transfer-Encoding: quoted-printable Subject: [Qemu-devel] [PATCH v5 0/3] Dynamic module loading for block drivers List-Id: List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , To: qemu-devel@nongnu.org Cc: kwolf@redhat.com, qemu-block@nongnu.org, mreitz@redhat.com, Colin Lord Here's v5 of the modularization series. Since it seems the concensus is that modularizing the format drivers is unnecessary, this series no longer modularizes those and is thus much shorter than before. v5: - No format drivers are modularized, therefore the probe functions are all being left completely untouched. The bdrv_find_format function is also left untouched as a result. - Remove dmg from block-obj-m since it is not a target of the modularization effort. - Modify module_block.py to only include the library name and protocol name fields in the generated struct. The other fields are no longer necessary for the drivers that are being modularized. v4: - Fix indentation of the generated header file module_block.h - Drivers and probe functions are now all located in the block/ directory, rather than being split between block/ and block/probe/. In addition the header files for each probe/driver pair are in the block/ directory, not the include/block/driver/ directory (which no longer exists). - Since the probe files are in block/ now, they follow the naming pattern of format-probe.c - Renamed crypto probe file to be crypto-probe.c, luks is no longer in the filename - Fixed formatting of parallels_probe() function header - Enforced consistent naming convention for the probe functions. They now follow the pattern bdrv_format_probe(). Colin Lord (1): blockdev: prepare iSCSI block driver for dynamic loading Marc Mari (2): blockdev: Add dynamic generation of module_block.h blockdev: Add dynamic module loading for block drivers Makefile | 7 +++ block.c | 37 ++++++++++++--- block/Makefile.objs | 3 +- block/iscsi.c | 36 -------------- include/qemu/module.h | 3 ++ scripts/modules/module_block.py | 102 ++++++++++++++++++++++++++++++++++= ++++++ util/module.c | 38 +++++---------- vl.c | 38 +++++++++++++++ 8 files changed, 193 insertions(+), 71 deletions(-) create mode 100644 scripts/modules/module_block.py --=20 2.5.5