From mboxrd@z Thu Jan 1 00:00:00 1970 Received: from eggs.gnu.org ([2001:4830:134:3::10]:56325) by lists.gnu.org with esmtp (Exim 4.71) (envelope-from ) id 1bWoxW-0003AW-Gz for qemu-devel@nongnu.org; Mon, 08 Aug 2016 14:07:31 -0400 Received: from Debian-exim by eggs.gnu.org with spam-scanned (Exim 4.71) (envelope-from ) id 1bWoxU-0002O2-CL for qemu-devel@nongnu.org; Mon, 08 Aug 2016 14:07:29 -0400 From: Colin Lord Date: Mon, 8 Aug 2016 14:07:16 -0400 Message-Id: <1470679640-18366-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 v7 0/4] 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 One more minor revision from v6, no big changes. v7: - Add ifdef around qemu_iscsi_opts in vl.c (first patch) v6: - Fix bug so that users can specify a modularized driver on the cli without qemu exiting - Remove extra lines from Makefile - Add patch to modularize NFS v5: - No format drivers are modularized, therefore the probe functions are all being left completely untouched. - 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 (2): blockdev: prepare iSCSI block driver for dynamic loading blockdev: Modularize nfs block driver Marc Mari (2): blockdev: Add dynamic generation of module_block.h blockdev: Add dynamic module loading for block drivers Makefile | 10 ++-- block.c | 62 ++++++++++++++++++++--- block/Makefile.objs | 4 +- block/iscsi.c | 36 -------------- configure | 4 +- include/qemu/module.h | 3 ++ scripts/modules/module_block.py | 108 ++++++++++++++++++++++++++++++++++= ++++++ util/module.c | 38 ++++---------- vl.c | 40 +++++++++++++++ 9 files changed, 228 insertions(+), 77 deletions(-) create mode 100644 scripts/modules/module_block.py --=20 2.5.5