ping ! please review this patch : https://patchew.org/QEMU/20231227071540.4035803-1-peng...@smartx.com/
thanks On Fri, Jan 5, 2024 at 9:47 PM Philippe Mathieu-Daudé <phi...@linaro.org> wrote: > On 27/12/23 08:15, peng...@smartx.com wrote: > > From: Peng Ji <peng...@smartx.com> > > > > When a volume has more than one disk, all disks cannot be > > returned correctly because there is not enough malloced memory > > for disk extents, so before executing DeviceIoControl for the > > second time, get the correct size of the required memory space > > to store all disk extents. > > > > Signed-off-by: Peng Ji <peng...@smartx.com> > > Resolves: https://gitlab.com/qemu-project/qemu/-/issues/2075 > > > --- > > qga/commands-win32.c | 2 ++ > > 1 file changed, 2 insertions(+) > > > > diff --git a/qga/commands-win32.c b/qga/commands-win32.c > > index 697c65507c..a1015757d8 100644 > > --- a/qga/commands-win32.c > > +++ b/qga/commands-win32.c > > @@ -935,6 +935,8 @@ static GuestDiskAddressList > *build_guest_disk_info(char *guid, Error **errp) > > DWORD last_err = GetLastError(); > > if (last_err == ERROR_MORE_DATA) { > > /* Try once more with big enough buffer */ > > + size = sizeof(VOLUME_DISK_EXTENTS) + > > + (sizeof(DISK_EXTENT) * (extents->NumberOfDiskExtents - > 1)); > > g_free(extents); > > extents = g_malloc0(size); > > if (!DeviceIoControl( > >