diff options
| author | Peter Maydell <peter.maydell@linaro.org> | 2018-07-24 12:40:11 +0100 |
|---|---|---|
| committer | Peter Maydell <peter.maydell@linaro.org> | 2018-07-24 12:40:11 +0100 |
| commit | aabbca41053e85ffbebcac279c4b85cb2696c55d (patch) | |
| tree | e9281fd561d359f7bacad17e004763c736210afe /qga/commands-win32.c | |
| parent | 1a5182c0d2eaa8dc8e7dbd914fba8d07d5595fe0 (diff) | |
| parent | ae7da1e5f658ea21d96e565514de20ff2cf24fa1 (diff) | |
| download | focaccia-qemu-aabbca41053e85ffbebcac279c4b85cb2696c55d.tar.gz focaccia-qemu-aabbca41053e85ffbebcac279c4b85cb2696c55d.zip | |
Merge remote-tracking branch 'remotes/mdroth/tags/qga-pull-2018-07-23-tag' into staging
qemu-ga patch queue for hard-freeze * fix leak in qga main loop error path * better error reporting when Windows version doesn't support fstrim # gpg: Signature made Tue 24 Jul 2018 00:58:29 BST # gpg: using RSA key 3353C9CEF108B584 # gpg: Good signature from "Michael Roth <flukshun@gmail.com>" # gpg: aka "Michael Roth <mdroth@utexas.edu>" # gpg: aka "Michael Roth <mdroth@linux.vnet.ibm.com>" # Primary key fingerprint: CEAC C9E1 5534 EBAB B82D 3FA0 3353 C9CE F108 B584 * remotes/mdroth/tags/qga-pull-2018-07-23-tag: qga: process_event() simplification and leak fix qga-win: Handle fstrim for OSes lower than Win8 Signed-off-by: Peter Maydell <peter.maydell@linaro.org>
Diffstat (limited to 'qga/commands-win32.c')
| -rw-r--r-- | qga/commands-win32.c | 13 |
1 files changed, 13 insertions, 0 deletions
diff --git a/qga/commands-win32.c b/qga/commands-win32.c index 318d760a74..98d9735389 100644 --- a/qga/commands-win32.c +++ b/qga/commands-win32.c @@ -865,6 +865,19 @@ qmp_guest_fstrim(bool has_minimum, int64_t minimum, Error **errp) GuestFilesystemTrimResponse *resp; HANDLE handle; WCHAR guid[MAX_PATH] = L""; + OSVERSIONINFO osvi; + BOOL win8_or_later; + + ZeroMemory(&osvi, sizeof(OSVERSIONINFO)); + osvi.dwOSVersionInfoSize = sizeof(OSVERSIONINFO); + GetVersionEx(&osvi); + win8_or_later = (osvi.dwMajorVersion > 6 || + ((osvi.dwMajorVersion == 6) && + (osvi.dwMinorVersion >= 2))); + if (!win8_or_later) { + error_setg(errp, "fstrim is only supported for Win8+"); + return NULL; + } handle = FindFirstVolumeW(guid, ARRAYSIZE(guid)); if (handle == INVALID_HANDLE_VALUE) { |