[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH 2/4] block: Read only one sector for format probing
From: |
Kevin Wolf |
Subject: |
[Qemu-devel] [PATCH 2/4] block: Read only one sector for format probing |
Date: |
Thu, 30 Oct 2014 13:26:14 +0100 |
The only image format driver that even potentially accesses anything
after 512 bytes in its bdrv_probe() implementation is VMDK, which reads
a plain-text descriptor file. In practice, the field it's looking for
seems to come first and will be well within the first 512 bytes, too.
Signed-off-by: Kevin Wolf <address@hidden>
---
block.c | 2 +-
include/block/block_int.h | 2 ++
2 files changed, 3 insertions(+), 1 deletion(-)
diff --git a/block.c b/block.c
index 8da6e61..8006685 100644
--- a/block.c
+++ b/block.c
@@ -678,7 +678,7 @@ static int find_image_format(BlockDriverState *bs, const
char *filename,
BlockDriver **pdrv, Error **errp)
{
BlockDriver *drv;
- uint8_t buf[2048];
+ uint8_t buf[BLOCK_PROBE_BUF_SIZE];
int ret = 0;
/* Return the raw BlockDriver * to scsi-generic devices or empty drives */
diff --git a/include/block/block_int.h b/include/block/block_int.h
index 8898c6c..697cd5d 100644
--- a/include/block/block_int.h
+++ b/include/block/block_int.h
@@ -57,6 +57,8 @@
#define BLOCK_OPT_REDUNDANCY "redundancy"
#define BLOCK_OPT_NOCOW "nocow"
+#define BLOCK_PROBE_BUF_SIZE 512
+
typedef struct BdrvTrackedRequest {
BlockDriverState *bs;
int64_t offset;
--
1.8.3.1