[Top][All Lists]
[Date Prev][Date Next][Thread Prev][Thread Next][Date Index][Thread Index]
[Qemu-devel] [PATCH v2 2/7] cutils: Add bytes_to_str() to format byte va
From: |
Stefan Hajnoczi |
Subject: |
[Qemu-devel] [PATCH v2 2/7] cutils: Add bytes_to_str() to format byte values |
Date: |
Fri, 8 Oct 2010 16:48:29 +0100 |
From: Anthony Liguori <address@hidden>
This common function converts byte counts to human-readable strings with
proper units.
Signed-off-by: Anthony Liguori <address@hidden>
Signed-off-by: Stefan Hajnoczi <address@hidden>
---
cutils.c | 15 +++++++++++++++
qemu-common.h | 1 +
2 files changed, 16 insertions(+), 0 deletions(-)
diff --git a/cutils.c b/cutils.c
index 6c32198..5041203 100644
--- a/cutils.c
+++ b/cutils.c
@@ -301,3 +301,18 @@ int get_bits_from_size(size_t size)
return __builtin_ctzl(size);
#endif
}
+
+void bytes_to_str(char *buffer, size_t buffer_len, uint64_t size)
+{
+ if (size < (1ULL << 10)) {
+ snprintf(buffer, buffer_len, "%" PRIu64 " byte(s)", size);
+ } else if (size < (1ULL << 20)) {
+ snprintf(buffer, buffer_len, "%" PRIu64 " KB(s)", size >> 10);
+ } else if (size < (1ULL << 30)) {
+ snprintf(buffer, buffer_len, "%" PRIu64 " MB(s)", size >> 20);
+ } else if (size < (1ULL << 40)) {
+ snprintf(buffer, buffer_len, "%" PRIu64 " GB(s)", size >> 30);
+ } else {
+ snprintf(buffer, buffer_len, "%" PRIu64 " TB(s)", size >> 40);
+ }
+}
diff --git a/qemu-common.h b/qemu-common.h
index e0ca398..80ae834 100644
--- a/qemu-common.h
+++ b/qemu-common.h
@@ -154,6 +154,7 @@ int qemu_fls(int i);
int qemu_fdatasync(int fd);
int fcntl_setfl(int fd, int flag);
int get_bits_from_size(size_t size);
+void bytes_to_str(char *buffer, size_t buffer_len, uint64_t size);
/* path.c */
void init_paths(const char *prefix);
--
1.7.1
- Re: [Qemu-devel] Re: [PATCH v2 6/7] qed: Read/write support, (continued)
- Re: [Qemu-devel] Re: [PATCH v2 6/7] qed: Read/write support, Stefan Hajnoczi, 2010/10/13
- Re: [Qemu-devel] Re: [PATCH v2 6/7] qed: Read/write support, Anthony Liguori, 2010/10/13
- Re: [Qemu-devel] Re: [PATCH v2 6/7] qed: Read/write support, Avi Kivity, 2010/10/13
- Re: [Qemu-devel] Re: [PATCH v2 6/7] qed: Read/write support, Anthony Liguori, 2010/10/13
- Re: [Qemu-devel] Re: [PATCH v2 6/7] qed: Read/write support, Avi Kivity, 2010/10/13
- Re: [Qemu-devel] Re: [PATCH v2 6/7] qed: Read/write support, Anthony Liguori, 2010/10/13
- Re: [Qemu-devel] Re: [PATCH v2 6/7] qed: Read/write support, Avi Kivity, 2010/10/13
- Re: [Qemu-devel] Re: [PATCH v2 6/7] qed: Read/write support, Anthony Liguori, 2010/10/13
- Re: [Qemu-devel] Re: [PATCH v2 6/7] qed: Read/write support, Stefan Hajnoczi, 2010/10/14
- Re: [Qemu-devel] Re: [PATCH v2 6/7] qed: Read/write support, Anthony Liguori, 2010/10/13
[Qemu-devel] [PATCH v2 2/7] cutils: Add bytes_to_str() to format byte values,
Stefan Hajnoczi <=
[Qemu-devel] [PATCH v2 1/7] qcow2: Make get_bits_from_size() common, Stefan Hajnoczi, 2010/10/08
[Qemu-devel] [PATCH v2 5/7] qed: Table, L2 cache, and cluster functions, Stefan Hajnoczi, 2010/10/08