#include <sys/time.h>
#include <ext4.h>
-#include "../blockdev/linux/ext4_filedev.h"
-#include "../blockdev/windows/io_raw.h"
+#include "../blockdev/linux/file_dev.h"
+#include "../blockdev/windows/file_windows.h"
#include "common/test_lwext4.h"
#ifdef WIN32
/**@brief Directory test count*/
static int dir_cnt = 0;
-/**@brief Static or dynamic cache mode*/
-static bool cache_mode = true;
-
/**@brief Cleanup after test.*/
static bool cleanup_flag = false;
/**@brief Block device handle.*/
static struct ext4_blockdev *bd;
-/**@brief Static cache instance*/
-EXT4_BCACHE_STATIC_INSTANCE(_lwext4_cache, CONFIG_BLOCK_DEV_CACHE_SIZE, 1024);
-
/**@brief Block cache handle.*/
-static struct ext4_bcache *bc = &_lwext4_cache;
+static struct ext4_bcache *bc;
static const char *usage = " \n\
Welcome in ext4 generic demo. \n\
[-i] --input - input file (default = ext2) \n\
[-w] --rw_size - single R/W size (default = 1024 * 1024) \n\
[-c] --rw_count - R/W count (default = 10) \n\
-[-a] --cache - 0 static, 1 dynamic (default = 1) \n\
[-d] --dirs - directory test count (default = 0) \n\
[-l] --clean - clean up after test \n\
[-b] --bstat - block device stats \n\
static bool open_linux(void)
{
- ext4_filedev_filename(input_name);
- bd = ext4_filedev_get();
+ file_dev_name_set(input_name);
+ bd = file_dev_get();
if (!bd) {
printf("open_filedev: fail\n");
return false;
static bool open_windows(void)
{
#ifdef WIN32
- ext4_io_raw_filename(input_name);
- bd = ext4_io_raw_dev_get();
+ file_windows_name_set(input_name);
+ bd = file_windows_dev_get();
if (!bd) {
printf("open_winpartition: fail\n");
return false;
{"input", required_argument, 0, 'i'},
{"rw_size", required_argument, 0, 's'},
{"rw_count", required_argument, 0, 'c'},
- {"cache", required_argument, 0, 'a'},
{"dirs", required_argument, 0, 'd'},
{"clean", no_argument, 0, 'l'},
{"bstat", no_argument, 0, 'b'},
{"sbstat", no_argument, 0, 't'},
{"wpart", no_argument, 0, 'w'},
{"verbose", no_argument, 0, 'v'},
+ {"version", no_argument, 0, 'x'},
{0, 0, 0, 0}};
- while (-1 != (c = getopt_long(argc, argv, "i:s:c:q:d:lbtwv",
+ while (-1 != (c = getopt_long(argc, argv, "i:s:c:q:d:lbtwvx",
long_options, &option_index))) {
switch (c) {
case 'c':
rw_count = atoi(optarg);
break;
- case 'a':
- cache_mode = atoi(optarg);
- break;
case 'd':
dir_cnt = atoi(optarg);
break;
case 'v':
verbose = true;
break;
+ case 'x':
+ puts(VERSION);
+ exit(0);
+ break;
default:
printf("%s", usage);
return false;
printf("\timput name: %s\n", input_name);
printf("\trw size: %d\n", rw_szie);
printf("\trw count: %d\n", rw_count);
- printf("\tcache mode: %s\n", cache_mode ? "dynamic" : "static");
if (!open_filedev()) {
printf("open_filedev error\n");
if (verbose)
ext4_dmask_set(DEBUG_ALL);
- if (cache_mode)
- bc = NULL;
-
if (!test_lwext4_mount(bd, bc))
return EXIT_FAILURE;