On 20.07.2016 16:30, Colin Lord wrote: > 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.
You also left the (host) device probing functions untouched in this revision. However, those are actually only used by protocol drivers (raw-posix and raw-win32, to be specific). Probably fine since I think it's impossible to build raw-posix or raw-win32 as a module anyway (because bdrv_file is used as a "static" reference in block.c). > - Remove dmg from block-obj-m since it is not a target of the > modularization effort. Hm, I'm afraid I don't quite understand the reasoning behind this. Intuitively, I'd say "Doesn't matter, it was already modular, so what prevents it from staying that way?" Is it because the changes to util/module.c in patch 3 break how the dmg module worked, e.g. that it was always implicitly fully loaded on qemu startup if it was available, but now modules are only loaded on request? Max > - 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 >
signature.asc
Description: OpenPGP digital signature