[rtems commit] libblock: Print block sizes and count
Sebastian Huber
sebh at rtems.org
Mon Nov 2 07:22:24 UTC 2015
Module: rtems
Branch: master
Commit: 08a807b0ad444bf0e46af5093642b024462632a1
Changeset: http://git.rtems.org/rtems/commit/?id=08a807b0ad444bf0e46af5093642b024462632a1
Author: Sebastian Huber <sebastian.huber at embedded-brains.de>
Date: Mon Nov 2 08:20:11 2015 +0100
libblock: Print block sizes and count
---
cpukit/libblock/include/rtems/blkdev.h | 3 +++
cpukit/libblock/src/blkdev-blkstats.c | 10 ++++++++++
cpukit/libblock/src/blkdev-print-stats.c | 9 +++++++++
testsuites/libtests/block14/block14.scn | 5 ++++-
testsuites/libtests/block14/init.c | 2 +-
5 files changed, 27 insertions(+), 2 deletions(-)
diff --git a/cpukit/libblock/include/rtems/blkdev.h b/cpukit/libblock/include/rtems/blkdev.h
index d17cadc..81e2dfa 100644
--- a/cpukit/libblock/include/rtems/blkdev.h
+++ b/cpukit/libblock/include/rtems/blkdev.h
@@ -345,6 +345,9 @@ rtems_status_code rtems_blkdev_create_partition(
*/
void rtems_blkdev_print_stats(
const rtems_blkdev_stats *stats,
+ uint32_t media_block_size,
+ uint32_t media_block_count,
+ uint32_t block_size,
rtems_printk_plugin_t print,
void *print_arg
);
diff --git a/cpukit/libblock/src/blkdev-blkstats.c b/cpukit/libblock/src/blkdev-blkstats.c
index 40f2428..1e773cf 100644
--- a/cpukit/libblock/src/blkdev-blkstats.c
+++ b/cpukit/libblock/src/blkdev-blkstats.c
@@ -48,12 +48,22 @@ void rtems_blkstats(FILE *output, const char *device, bool reset)
fprintf(output, "error: reset stats: %s\n", strerror(errno));
}
} else {
+ uint32_t media_block_size = 0;
+ uint32_t media_block_count = 0;
+ uint32_t block_size = 0;
rtems_blkdev_stats stats;
+ rtems_disk_fd_get_media_block_size(fd, &media_block_size);
+ rtems_disk_fd_get_block_count(fd, &media_block_count);
+ rtems_disk_fd_get_block_size(fd, &block_size);
+
rv = rtems_disk_fd_get_device_stats(fd, &stats);
if (rv == 0) {
rtems_blkdev_print_stats(
&stats,
+ media_block_size,
+ media_block_count,
+ block_size,
(rtems_printk_plugin_t) fprintf,
output
);
diff --git a/cpukit/libblock/src/blkdev-print-stats.c b/cpukit/libblock/src/blkdev-print-stats.c
index 0446947..edeee90 100644
--- a/cpukit/libblock/src/blkdev-print-stats.c
+++ b/cpukit/libblock/src/blkdev-print-stats.c
@@ -29,6 +29,9 @@
void rtems_blkdev_print_stats(
const rtems_blkdev_stats *stats,
+ uint32_t media_block_size,
+ uint32_t media_block_count,
+ uint32_t block_size,
rtems_printk_plugin_t print,
void *print_arg
)
@@ -38,6 +41,9 @@ void rtems_blkdev_print_stats(
"-------------------------------------------------------------------------------\n"
" DEVICE STATISTICS\n"
"----------------------+--------------------------------------------------------\n"
+ " MEDIA BLOCK SIZE | %" PRIu32 "\n"
+ " MEDIA BLOCK COUNT | %" PRIu32 "\n"
+ " BLOCK SIZE | %" PRIu32 "\n"
" READ HITS | %" PRIu32 "\n"
" READ MISSES | %" PRIu32 "\n"
" READ AHEAD TRANSFERS | %" PRIu32 "\n"
@@ -47,6 +53,9 @@ void rtems_blkdev_print_stats(
" WRITE BLOCKS | %" PRIu32 "\n"
" WRITE ERRORS | %" PRIu32 "\n"
"----------------------+--------------------------------------------------------\n",
+ media_block_size,
+ media_block_count,
+ block_size,
stats->read_hits,
stats->read_misses,
stats->read_ahead_transfers,
diff --git a/testsuites/libtests/block14/block14.scn b/testsuites/libtests/block14/block14.scn
index 009ebb0..7170522 100644
--- a/testsuites/libtests/block14/block14.scn
+++ b/testsuites/libtests/block14/block14.scn
@@ -1,4 +1,4 @@
-*** TEST BLOCK 14 ***
+*** BEGIN OF TEST BLOCK 14 ***
action 0
action 1
action 2
@@ -9,6 +9,9 @@ action 6
-------------------------------------------------------------------------------
DEVICE STATISTICS
----------------------+--------------------------------------------------------
+ MEDIA BLOCK SIZE | 0
+ MEDIA BLOCK COUNT | 1
+ BLOCK SIZE | 2
READ HITS | 2
READ MISSES | 3
READ AHEAD TRANSFERS | 2
diff --git a/testsuites/libtests/block14/init.c b/testsuites/libtests/block14/init.c
index 01d2f5e..98282bc 100644
--- a/testsuites/libtests/block14/init.c
+++ b/testsuites/libtests/block14/init.c
@@ -155,7 +155,7 @@ static void test_actions(rtems_disk_device *dd)
);
}
- rtems_blkdev_print_stats(&dd->stats, rtems_printf_plugin, NULL);
+ rtems_blkdev_print_stats(&dd->stats, 0, 1, 2, rtems_printf_plugin, NULL);
}
static void test(void)
More information about the vc
mailing list