From 9128c82161b4d9b91c2ce5548e9e00a49f2cb081 Mon Sep 17 00:00:00 2001 From: Artem Bityutskiy Date: Tue, 12 Apr 2011 12:25:32 +0300 Subject: fs-tests: integck: add own get_free_space function Do not use the shared 'tests_get_free_space' function but use own implementation instead. This is another step to make integck independent on the common infrastructure. Signed-off-by: Artem Bityutskiy --- tests/fs-tests/integrity/integck.c | 20 ++++++++++++++++---- 1 file changed, 16 insertions(+), 4 deletions(-) diff --git a/tests/fs-tests/integrity/integck.c b/tests/fs-tests/integrity/integck.c index e29db49..bfedeb2 100644 --- a/tests/fs-tests/integrity/integck.c +++ b/tests/fs-tests/integrity/integck.c @@ -35,6 +35,7 @@ #include #include #include +#include #include "tests.h" #define PROGRAM_VERSION "1.1" @@ -258,6 +259,17 @@ static char *cat_paths(const char *a, const char *b) return str; } +/* + * Get the free space for the tested file system. + */ +static uint64_t get_free_space(void) +{ + struct statvfs st; + + CHECK(statvfs(args.mount_point, &st) != -1); + return (uint64_t)st.f_bavail * (uint64_t)st.f_frsize; +} + static char *dir_path(struct dir_info *parent, const char *name) { char *parent_path; @@ -834,7 +846,7 @@ static void file_mmap_write(struct file_info *file) if (!file->links) return; - free_space = tests_get_free_space(); + free_space = get_free_space(); if (!free_space) return; /* Randomly pick a written area of the file */ @@ -1911,7 +1923,7 @@ static void create_test_data(void) uint64_t total; for (i = 0; i < 10; ++i) do_an_operation(); - free = tests_get_free_space(); + free = get_free_space(); total = tests_get_total_space(); if ((free * 100) / total >= 10) break; @@ -1942,7 +1954,7 @@ static void update_test_data(void) uint64_t total; for (i = 0; i < 10; ++i) do_an_operation(); - free = tests_get_free_space(); + free = get_free_space(); total = tests_get_total_space(); if ((free * 100) / total >= 50) break; @@ -1972,7 +1984,7 @@ static int integck(void) CHECK(chdir("..") != -1); CHECK(rmdir(dir_name) != -1); } - initial_free_space = tests_get_free_space(); + initial_free_space = get_free_space(); log10_initial_free_space = 0; for (z = initial_free_space; z >= 10; z /= 10) ++log10_initial_free_space; -- cgit v1.2.3