- hw/nvme: Remove redundant dma_blk_write - tests/avocado/machine_s390_ccw_virtio: Adapt test to new default resolution - edid: set default resolution to 1280x800 (WXGA) - iotests/308: Fix for CAP_DAC_OVERRIDE - hvf: remove unused but set variable - vvfat: Fix vvfat_write() for writes before the root directory - hw/misc/nrf51_rng: Don't use BIT_MASK() when we mean BIT() - hw/pci: Remove unused pci_irq_pulse() method - ui/gtk: fix leaks found wtih fuzzing - target/i386: fix size of EBP writeback in gen_enter() - tests/qtest/fuzz: fix memleak in qos_fuzz.c - hw/core/loader: gunzip(): fix memory leak on error path - migration: fix a typo - scsi: fetch unit attention when creating the request - raw-format: Fix error message for invalid offset/size - tcg: Reset data_gen_ptr correctly - Fix calculation of minimum in colo_compare_tcp - hw/intc: Don't clear pending bits on IRQ lowering - target/arm: Drop user-only special case in sve_stN_r - usb-hub: Fix handling port power control messages - target/ppc: Set ctx->opcode for decode_insn32() - linux-user: Add proper strace format strings for getdents()/getdents64() - linux-user: Fix TARGET_PROT_SEM for XTENSA - linux-user/hppa: Set TASK_UNMAPPED_BASE to 0xfa000000 for hppa arch - linux-user/hppa: Dump IIR on register dump - tests: Fix typo in check-help output - qdev-core.h: Fix wrongly named reference to TYPE_SPLIT_IRQ - hw/scsi/megasas: Simplify using the ldst API - gqa-win: get_pci_info: Clean dev_info if handle is valid - target/ppc: Fix 7448 support - vvfat: Fix size of temporary qcow file - docs: Correct 'vhost-user-blk' spelling - jackaudio: use ifdefs to hide unavailable functions - simplebench: Fix Python syntax error (reported by LGTM) - python: update type hints for mypy 0.930 - Python/aqmp: fix type definitions for mypy 0.920 - tcg: Allow top bit of SIMD_DATA_BITS to be set in simd_desc() - hw/ppc/e500: Prefer QOM cast - hw/ppc/e500: Remove unused "irqs" parameter - hw/ppc/e500: Add missing device tree properties to i2c controller node - linux-user: Show timespec on strace for futex() - linux-user: Add strace for clock_nanosleep() - linux-user: Fix strace of chmod() if mode == 0 - linux-user: Log failing executable in EXCP_DUMP() - linux-user: Add pidfd_open(), pidfd_send_signal() and pidfd_getfd() syscalls Signed-off-by: Jiabo Feng <fengjiabo1@huawei.com> (cherry picked from commit 87ebac5b5cfb97ddb7ac2af097703758fb0751c4)
56 lines
2.1 KiB
Diff
56 lines
2.1 KiB
Diff
From af7d805a06677a4fdf55799c080b06483adafc9f Mon Sep 17 00:00:00 2001
|
|
From: Luo Yifan <luoyifan_yewu@cmss.chinamobile.com>
|
|
Date: Wed, 20 Nov 2024 11:23:29 +0800
|
|
Subject: [PATCH] vvfat: Fix size of temporary qcow file
|
|
|
|
cherry picked from commit 2db9b9e96f0b57ceaa49666d9b8a573290114fdf
|
|
|
|
The size of the qcow size was calculated so that only the FAT partition
|
|
would fit on it, but not the whole disk. However, offsets relative to
|
|
the whole disk are used to access it, so increase its size to be large
|
|
enough for that.
|
|
|
|
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
|
|
Message-Id: <20211209151815.23495-1-kwolf@redhat.com>
|
|
Signed-off-by: Kevin Wolf <kwolf@redhat.com>
|
|
Signed-off-by: Luo Yifan <luoyifan_yewu@cmss.chinamobile.com>
|
|
---
|
|
block/vvfat.c | 7 +++----
|
|
1 file changed, 3 insertions(+), 4 deletions(-)
|
|
|
|
diff --git a/block/vvfat.c b/block/vvfat.c
|
|
index 58692133c1..3691c4774e 100644
|
|
--- a/block/vvfat.c
|
|
+++ b/block/vvfat.c
|
|
@@ -1230,6 +1230,7 @@ static int vvfat_open(BlockDriverState *bs, QDict *options, int flags,
|
|
dirname, cyls, heads, secs));
|
|
|
|
s->sector_count = cyls * heads * secs - s->offset_to_bootsector;
|
|
+ bs->total_sectors = cyls * heads * secs;
|
|
|
|
if (qemu_opt_get_bool(opts, "rw", false)) {
|
|
if (!bdrv_is_read_only(bs)) {
|
|
@@ -1250,8 +1251,6 @@ static int vvfat_open(BlockDriverState *bs, QDict *options, int flags,
|
|
}
|
|
}
|
|
|
|
- bs->total_sectors = cyls * heads * secs;
|
|
-
|
|
if (init_directories(s, dirname, heads, secs, errp)) {
|
|
ret = -EIO;
|
|
goto fail;
|
|
@@ -3149,8 +3148,8 @@ static int enable_write_target(BlockDriverState *bs, Error **errp)
|
|
}
|
|
|
|
opts = qemu_opts_create(bdrv_qcow->create_opts, NULL, 0, &error_abort);
|
|
- qemu_opt_set_number(opts, BLOCK_OPT_SIZE, s->sector_count * 512,
|
|
- &error_abort);
|
|
+ qemu_opt_set_number(opts, BLOCK_OPT_SIZE,
|
|
+ bs->total_sectors * BDRV_SECTOR_SIZE, &error_abort);
|
|
qemu_opt_set(opts, BLOCK_OPT_BACKING_FILE, "fat:", &error_abort);
|
|
|
|
ret = bdrv_create(bdrv_qcow, s->qcow_filename, opts, errp);
|
|
--
|
|
2.41.0.windows.1
|
|
|