Reviewed-by: Konstantin Kostiuk <kkost...@redhat.com> On Wed, Jan 10, 2024 at 9:42 AM Peng Ji <peng...@smartx.com> wrote:
> 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( >> >>