mirror of https://gitee.com/openkylin/qemu.git
qga-win: add driver path usage to GuestFilesystemInfo
This patch adds support for getting the usage of windows driver path. The usage of fs stored as used_bytes and total_bytes. Cc: Michael Roth <mdroth@linux.vnet.ibm.com> Signed-off-by: Chen Hanxiao <chenhanxiao@gmail.com> Signed-off-by: Michael Roth <mdroth@linux.vnet.ibm.com>
This commit is contained in:
parent
25b5ff1a86
commit
c07e5e6ef3
|
@ -670,6 +670,7 @@ static GuestFilesystemInfo *build_guest_fsinfo(char *guid, Error **errp)
|
|||
char fs_name[32];
|
||||
char vol_info[MAX_PATH+1];
|
||||
size_t len;
|
||||
uint64_t i64FreeBytesToCaller, i64TotalBytes, i64FreeBytes;
|
||||
GuestFilesystemInfo *fs = NULL;
|
||||
|
||||
GetVolumePathNamesForVolumeName(guid, (LPCH)&mnt, 0, &info_size);
|
||||
|
@ -699,10 +700,21 @@ static GuestFilesystemInfo *build_guest_fsinfo(char *guid, Error **errp)
|
|||
fs_name[sizeof(fs_name) - 1] = 0;
|
||||
fs = g_malloc(sizeof(*fs));
|
||||
fs->name = g_strdup(guid);
|
||||
fs->has_total_bytes = false;
|
||||
fs->has_used_bytes = false;
|
||||
if (len == 0) {
|
||||
fs->mountpoint = g_strdup("System Reserved");
|
||||
} else {
|
||||
fs->mountpoint = g_strndup(mnt_point, len);
|
||||
if (GetDiskFreeSpaceEx(fs->mountpoint,
|
||||
(PULARGE_INTEGER) & i64FreeBytesToCaller,
|
||||
(PULARGE_INTEGER) & i64TotalBytes,
|
||||
(PULARGE_INTEGER) & i64FreeBytes)) {
|
||||
fs->used_bytes = i64TotalBytes - i64FreeBytes;
|
||||
fs->total_bytes = i64TotalBytes;
|
||||
fs->has_total_bytes = true;
|
||||
fs->has_used_bytes = true;
|
||||
}
|
||||
}
|
||||
fs->type = g_strdup(fs_name);
|
||||
fs->disk = build_guest_disk_info(guid, errp);
|
||||
|
|
Loading…
Reference in New Issue