changeset 20748:c51e205f7e62

fs-randomfail: Operation is unfinished on EAGAIN, not ENOENT. This caused crashes and other problems when using randomfail with asynchronous fs drivers.
author Timo Sirainen <timo.sirainen@dovecot.fi>
date Fri, 16 Sep 2016 17:13:24 +0300
parents 0f5809a9f137
children 060c9249d7af
files src/lib-fs/fs-randomfail.c
diffstat 1 files changed, 1 insertions(+), 1 deletions(-) [+]
line wrap: on
line diff
--- a/src/lib-fs/fs-randomfail.c	Thu Sep 15 11:30:15 2016 +0300
+++ b/src/lib-fs/fs-randomfail.c	Fri Sep 16 17:13:24 2016 +0300
@@ -259,7 +259,7 @@
 fs_file_random_fail_end(struct randomfail_fs_file *file,
 			int ret, enum fs_op op)
 {
-	if (ret == 0 || errno != ENOENT) {
+	if (ret == 0 || errno != EAGAIN) {
 		if (fs_random_fail(file->file.fs, 2, op))
 			return TRUE;
 		file->op_pending[op] = FALSE;