Isolates qcow2 probe as part of the modularization process. Signed-off-by: Colin Lord <cl...@redhat.com> --- block/Makefile.objs | 2 +- block/probe/qcow2.c | 16 ++++++++++++++++ block/qcow2.c | 13 +------------ include/block/probe.h | 1 + 4 files changed, 19 insertions(+), 13 deletions(-) create mode 100644 block/probe/qcow2.c
diff --git a/block/Makefile.objs b/block/Makefile.objs index 9458da8..23240d9 100644 --- a/block/Makefile.objs +++ b/block/Makefile.objs @@ -25,7 +25,7 @@ block-obj-y += write-threshold.o block-obj-y += crypto.o block-obj-y += probe/bochs.o probe/cloop.o probe/luks.o probe/dmg.o -block-obj-y += probe/parallels.o probe/qcow.o +block-obj-y += probe/parallels.o probe/qcow.o probe/qcow2.o common-obj-y += stream.o common-obj-y += commit.o diff --git a/block/probe/qcow2.c b/block/probe/qcow2.c new file mode 100644 index 0000000..56f4e82 --- /dev/null +++ b/block/probe/qcow2.c @@ -0,0 +1,16 @@ +#include "qemu/osdep.h" +#include "block/block_int.h" +#include "block/probe.h" +#include "block/qcow2.h" + +int qcow2_probe(const uint8_t *buf, int buf_size, const char *filename) +{ + const QCowHeader *cow_header = (const void *)buf; + + if (buf_size >= sizeof(QCowHeader) && + be32_to_cpu(cow_header->magic) == QCOW_MAGIC && + be32_to_cpu(cow_header->version) >= 2) + return 100; + else + return 0; +} diff --git a/block/qcow2.c b/block/qcow2.c index 23f666d..55639eb 100644 --- a/block/qcow2.c +++ b/block/qcow2.c @@ -27,6 +27,7 @@ #include "qemu/module.h" #include <zlib.h> #include "block/qcow2.h" +#include "block/probe.h" #include "qemu/error-report.h" #include "qapi/qmp/qerror.h" #include "qapi/qmp/qbool.h" @@ -64,18 +65,6 @@ typedef struct { #define QCOW2_EXT_MAGIC_BACKING_FORMAT 0xE2792ACA #define QCOW2_EXT_MAGIC_FEATURE_TABLE 0x6803f857 -static int qcow2_probe(const uint8_t *buf, int buf_size, const char *filename) -{ - const QCowHeader *cow_header = (const void *)buf; - - if (buf_size >= sizeof(QCowHeader) && - be32_to_cpu(cow_header->magic) == QCOW_MAGIC && - be32_to_cpu(cow_header->version) >= 2) - return 100; - else - return 0; -} - /* * read qcow2 extension and fill bs diff --git a/include/block/probe.h b/include/block/probe.h index 5230da4..f9dd36e 100644 --- a/include/block/probe.h +++ b/include/block/probe.h @@ -8,5 +8,6 @@ int block_crypto_probe_luks(const uint8_t *buf, int buf_size, int dmg_probe(const uint8_t *buf, int buf_size, const char *filename); int parallels_probe(const uint8_t *buf, int buf_size, const char *filename); int qcow_probe(const uint8_t *buf, int buf_size, const char *filename); +int qcow2_probe(const uint8_t *buf, int buf_size, const char *filename); #endif -- 2.5.5