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…
Reference in New Issue
Block a user