qemu-devel
[Top][All Lists]
Advanced

[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]

Re: [PATCH] hw/usb/dev-mtp: Correctly report free space


From: Philippe Mathieu-Daudé
Subject: Re: [PATCH] hw/usb/dev-mtp: Correctly report free space
Date: Tue, 18 Jun 2024 06:27:15 +0200
User-agent: Mozilla Thunderbird

On 18/6/24 02:36, Fabio D'Urso wrote:
In order to compute the amount of free space (in bytes), the number
of available blocks (f_bavail) should be multiplied by the block
size (f_frsize) instead of the total number of blocks (f_blocks).

Signed-off-by: Fabio D'Urso <fdurso@google.com>
---
  hw/usb/dev-mtp.c | 2 +-
  1 file changed, 1 insertion(+), 1 deletion(-)

diff --git a/hw/usb/dev-mtp.c b/hw/usb/dev-mtp.c
index 7e4a0765ae..554b397e88 100644
--- a/hw/usb/dev-mtp.c
+++ b/hw/usb/dev-mtp.c
@@ -886,7 +886,7 @@ static MTPData *usb_mtp_get_storage_info(MTPState *s, 
MTPControl *c)
      rc = statvfs(s->root, &buf);
      if (rc == 0) {
          usb_mtp_add_u64(d, (uint64_t)buf.f_frsize * buf.f_blocks);
-        usb_mtp_add_u64(d, (uint64_t)buf.f_bavail * buf.f_blocks);
+        usb_mtp_add_u64(d, (uint64_t)buf.f_frsize * buf.f_bavail);

Indeed (USB MTP Spec v1.1, 5.2.2.5 "Free Space In Bytes").

Reviewed-by: Philippe Mathieu-Daudé <philmd@linaro.org>

          usb_mtp_add_u32(d, buf.f_ffree);
      } else {
          usb_mtp_add_u64(d, 0xffffffff);




reply via email to

[Prev in Thread] Current Thread [Next in Thread]