summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArtem Bityutskiy <Artem.Bityutskiy@nokia.com>2011-04-13 16:25:28 +0300
committerArtem Bityutskiy <Artem.Bityutskiy@nokia.com>2011-04-18 17:44:46 +0300
commitb2c9ab7a9ab8f1bb970ccde34d75c206f9abc558 (patch)
treed7cfc5a15b5d3474685959fc3a533744ceded595
parent437f5669965286484ae7f9e771f3a3f34e31ded1 (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>
-rw-r--r--tests/fs-tests/integrity/integck.c18
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 */