@@ -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
new file mode 100644
@@ -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;
+}
@@ -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
@@ -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
Isolates qcow2 probe as part of the modularization process. Signed-off-by: Colin Lord <clord@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