diff options
| author | Artem Bityutskiy <Artem.Bityutskiy@nokia.com> | 2011-04-18 14:06:40 +0300 | 
|---|---|---|
| committer | Artem Bityutskiy <Artem.Bityutskiy@nokia.com> | 2011-04-22 14:29:52 +0300 | 
| commit | 02fba0803844e2205397e6eab8983eae6581574f (patch) | |
| tree | 950dcb85a539cb77b9339fb2abc2d22431f7bac0 /tests | |
| parent | 6c9452e6985d144d000a97e390cd430a13cae501 (diff) | |
fs-tests: integck: teach symlink_remove return error on removal failure
When 'symlink_remove()' fails to unling a symlink - return an error to
the calling function.
Signed-off-by: Artem Bityutskiy <Artem.Bityutskiy@nokia.com>
Diffstat (limited to 'tests')
| -rw-r--r-- | tests/fs-tests/integrity/integck.c | 14 | 
1 files changed, 9 insertions, 5 deletions
| diff --git a/tests/fs-tests/integrity/integck.c b/tests/fs-tests/integrity/integck.c index f56ff66..a486229 100644 --- a/tests/fs-tests/integrity/integck.c +++ b/tests/fs-tests/integrity/integck.c @@ -482,7 +482,7 @@ static int dir_new(struct dir_info *parent, const char *name)  static int file_delete(struct file_info *file);  static int file_unlink(struct dir_entry_info *entry); -static void symlink_remove(struct symlink_info *symlink); +static int symlink_remove(struct symlink_info *symlink);  static void dir_remove(struct dir_info *dir)  { @@ -1851,16 +1851,20 @@ static int symlink_new(struct dir_info *dir, const char *nm)  	return 0;  } -static void symlink_remove(struct symlink_info *symlink) +static int symlink_remove(struct symlink_info *symlink)  {  	char *path;  	path = dir_path(symlink->entry->parent, symlink->entry->name); +	if (unlink(path) != 0) { +		pcv("cannot unlink symlink %s", path); +		free(path); +		return -1; +	}  	remove_dir_entry(symlink->entry); - -	CHECK(unlink(path) == 0);  	free(path); +	return 0;  }  static int operate_on_dir(struct dir_info *dir); @@ -1915,7 +1919,7 @@ static int operate_on_entry(struct dir_entry_info *entry)  		symlink_check(entry->symlink);  		/* If shrinking, 1 time in 50, remove a symlink */  		if (shrink && random_no(50) == 0) -			symlink_remove(entry->symlink); +			return symlink_remove(entry->symlink);  		return 0;  	}  	if (entry->type == 'd') { | 
