summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorArtem Bityutskiy <Artem.Bityutskiy@nokia.com>2011-04-18 14:47:45 +0300
committerArtem Bityutskiy <Artem.Bityutskiy@nokia.com>2011-04-22 14:29:52 +0300
commite9daefff43ef95c7a3b79122d172c04f4d086927 (patch)
treef2861e7ac81b5516589bbdde102d3f394a121f4f
parentad85b3ffcd3152d2655bb30ac7905be02ff540c4 (diff)
fs-tests: integck: make file_open return error on failure
Make 'file_open()' return an error to the caller if it fails to open the file. Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
-rw-r--r--tests/fs-tests/integrity/integck.c30
1 files changed, 15 insertions, 15 deletions
diff --git a/tests/fs-tests/integrity/integck.c b/tests/fs-tests/integrity/integck.c
index c3c3813..3498c76 100644
--- a/tests/fs-tests/integrity/integck.c
+++ b/tests/fs-tests/integrity/integck.c
@@ -738,7 +738,7 @@ static void file_info_display(struct file_info *file)
normsg(" ============================================");
}
-static struct fd_info *file_open(struct file_info *file)
+static int file_open(struct file_info *file)
{
int fd, flags = O_RDWR;
char *path;
@@ -747,9 +747,14 @@ static struct fd_info *file_open(struct file_info *file)
if (random_no(100) == 1)
flags |= O_SYNC;
fd = open(path, flags);
- CHECK(fd != -1);
+ if (fd == -1) {
+ pcv("cannot open file %s", path);
+ free(path);
+ return -1;
+ }
free(path);
- return add_fd(file, fd);
+ add_fd(file, fd);
+ return 0;
}
/*
@@ -1884,20 +1889,15 @@ static int operate_on_dir(struct dir_info *dir);
static int operate_on_file(struct file_info *file)
{
/* Try to keep at least 10 files open */
- if (open_files_count < 10) {
- file_open(file);
- return 0;
- }
+ if (open_files_count < 10)
+ return file_open(file);
/* Try to keep about 20 files open */
- if (open_files_count < 20 && random_no(2) == 0) {
- file_open(file);
- return 0;
- }
+ if (open_files_count < 20 && random_no(2) == 0)
+ return file_open(file);
/* Try to keep up to 40 files open */
- if (open_files_count < 40 && random_no(20) == 0) {
- file_open(file);
- return 0;
- }
+ if (open_files_count < 40 && random_no(20) == 0)
+ return file_open(file);
+
/* Occasionly truncate */
if (shrink && random_no(100) == 0) {
file_truncate_file(file);