qga: guest-get-fsinfo: add optional 'total-bytes-privileged' field
Since the commit 25b5ff1a86 ("qga: add mountpoint usage info to GuestFilesystemInfo") we have 2 values reported in guest-get-fsinfo: used = (f_blocks - f_bfree), total = (f_blocks - f_bfree + f_bavail) as returned by statvfs(3). While on Windows guests that's all we can get with GetDiskFreeSpaceExA(), on POSIX guests we might also be interested in total file system size, as it's visible for root user. Let's add an optional field 'total-bytes-privileged' to GuestFilesystemInfo struct, which'd only be reported on POSIX and represent f_blocks value as returned by statvfs(3). While here, also tweak the docs to reflect better where those values come from. Signed-off-by: Andrey Drobyshev <andrey.drobyshev@virtuozzo.com> Reviewed-by: Daniel P. Berrangé <berrange@redhat.com> Reviewed-by: Konstantin Kostiuk <kkostiuk@redhat.com> Link: https://lore.kernel.org/r/20240320161648.158226-2-andrey.drobyshev@virtuozzo.com Signed-off-by: Konstantin Kostiuk <kkostiuk@redhat.com>
This commit is contained in:
parent
9c6c079bc6
commit
50761a5a9a
@ -1569,8 +1569,10 @@ static GuestFilesystemInfo *build_guest_fsinfo(struct FsMount *mount,
|
||||
nonroot_total = used + buf.f_bavail;
|
||||
fs->used_bytes = used * fr_size;
|
||||
fs->total_bytes = nonroot_total * fr_size;
|
||||
fs->total_bytes_privileged = buf.f_blocks * fr_size;
|
||||
|
||||
fs->has_total_bytes = true;
|
||||
fs->has_total_bytes_privileged = true;
|
||||
fs->has_used_bytes = true;
|
||||
}
|
||||
|
||||
|
@ -1143,6 +1143,7 @@ static GuestFilesystemInfo *build_guest_fsinfo(char *guid, Error **errp)
|
||||
fs = g_malloc(sizeof(*fs));
|
||||
fs->name = g_strdup(guid);
|
||||
fs->has_total_bytes = false;
|
||||
fs->has_total_bytes_privileged = false;
|
||||
fs->has_used_bytes = false;
|
||||
if (len == 0) {
|
||||
fs->mountpoint = g_strdup("System Reserved");
|
||||
|
@ -1026,7 +1026,10 @@
|
||||
#
|
||||
# @used-bytes: file system used bytes (since 3.0)
|
||||
#
|
||||
# @total-bytes: non-root file system total bytes (since 3.0)
|
||||
# @total-bytes: filesystem capacity in bytes for unprivileged users (since 3.0)
|
||||
#
|
||||
# @total-bytes-privileged: filesystem capacity in bytes for privileged users
|
||||
# (since 9.1)
|
||||
#
|
||||
# @disk: an array of disk hardware information that the volume lies
|
||||
# on, which may be empty if the disk type is not supported
|
||||
@ -1036,7 +1039,7 @@
|
||||
{ 'struct': 'GuestFilesystemInfo',
|
||||
'data': {'name': 'str', 'mountpoint': 'str', 'type': 'str',
|
||||
'*used-bytes': 'uint64', '*total-bytes': 'uint64',
|
||||
'disk': ['GuestDiskAddress']} }
|
||||
'*total-bytes-privileged': 'uint64', 'disk': ['GuestDiskAddress']} }
|
||||
|
||||
##
|
||||
# @guest-get-fsinfo:
|
||||
|
Loading…
x
Reference in New Issue
Block a user