diff options
author | Artem Bityutskiy <Artem.Bityutskiy@nokia.com> | 2011-04-13 16:25:28 +0300 |
---|---|---|
committer | Artem Bityutskiy <Artem.Bityutskiy@nokia.com> | 2011-04-18 17:44:46 +0300 |
commit | b2c9ab7a9ab8f1bb970ccde34d75c206f9abc558 (patch) | |
tree | d7cfc5a15b5d3474685959fc3a533744ceded595 /tests | |
parent | 437f5669965286484ae7f9e771f3a3f34e31ded1 (diff) |
fs-tests: integck: do not use tests_get_total_space
Do not use the common tests_get_total_space but extend our own
get_free_space function and make it return both free and total
amount of space.
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Diffstat (limited to 'tests')
-rw-r--r-- | tests/fs-tests/integrity/integck.c | 18 |
1 files changed, 10 insertions, 8 deletions
diff --git a/tests/fs-tests/integrity/integck.c b/tests/fs-tests/integrity/integck.c index 9bf42af..a53be64 100644 --- a/tests/fs-tests/integrity/integck.c +++ b/tests/fs-tests/integrity/integck.c @@ -278,12 +278,15 @@ static char *cat_paths(const char *a, const char *b) /* * Get the free space for the tested file system. */ -static uint64_t get_free_space(void) +static void get_fs_space(uint64_t *total, uint64_t *free) { struct statvfs st; CHECK(statvfs(fsinfo.mount_point, &st) == 0); - return (uint64_t)st.f_bavail * (uint64_t)st.f_frsize; + if (total) + *total = (uint64_t)st.f_blocks * (uint64_t)st.f_frsize; + if (free) + *free = (uint64_t)st.f_bavail * (uint64_t)st.f_frsize; } static char *dir_path(struct dir_info *parent, const char *name) @@ -862,7 +865,7 @@ static void file_mmap_write(struct file_info *file) if (!file->links) return; - free_space = get_free_space(); + get_fs_space(NULL, &free_space); if (!free_space) return; /* Randomly pick a written area of the file */ @@ -1939,8 +1942,7 @@ static void create_test_data(void) uint64_t total; for (i = 0; i < 10; ++i) do_an_operation(); - free = get_free_space(); - total = tests_get_total_space(); + get_fs_space(&total, &free); if ((free * 100) / total >= 10) break; } @@ -2006,8 +2008,7 @@ static void update_test_data(void) uint64_t total; for (i = 0; i < 10; ++i) do_an_operation(); - free = get_free_space(); - total = tests_get_total_space(); + get_fs_space(&total, &free); if ((free * 100) / total >= 50) break; } @@ -2281,7 +2282,8 @@ static void get_tested_fs_info(void) fsinfo.can_mmap = 0; } - for (z = get_free_space(); z >= 10; z /= 10) + get_fs_space(NULL, &z); + for (; z >= 10; z /= 10) fsinfo.log10_initial_free += 1; /* Pick the test directory name */ |