summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorMohit Agrawal <moagrawal@redhat.com>2019-08-22 15:51:43 +0530
committerRinku Kothiya <rkothiya@redhat.com>2020-04-14 14:00:17 +0000
commit608d824408898bfd299e84e1aa263201dc06b9cb (patch)
tree7f158f744b9a972d6217c3bc0ece8fbf908f8de3
parent03f6c600b201d672a251df95cd8a11decf94e7ef (diff)
posix: log aio_error return codes in posix_fs_health_check
Problem: Sometime brick is going down to health check thread is failed without logging error codes return by aio system calls. As per aio_error man page it returns a positive error number if the asynchronous I/O operation failed. Solution: log aio_error return codes in error message > Change-Id: I2496b1bc16e602b0fd3ad53e211de11ec8c641ef > (Cherry picked from commit 032862fa3944fc7152140aaa13cdc474ae594a51) > (Reviwed on upstream link https://review.gluster.org/#/c/glusterfs/+/23284/ > Signed-off-by: Mohit Agrawal <moagrawal@redhat.com> Change-Id: I2496b1bc16e602b0fd3ad53e211de11ec8c641ef Fixes: #1168 Signed-off-by: Mohit Agrawal <moagrawal@redhat.com>
-rw-r--r--xlators/storage/posix/src/posix-helpers.c5
1 files changed, 2 insertions, 3 deletions
diff --git a/xlators/storage/posix/src/posix-helpers.c b/xlators/storage/posix/src/posix-helpers.c
index 0ee4128..4afe030 100644
--- a/xlators/storage/posix/src/posix-helpers.c
+++ b/xlators/storage/posix/src/posix-helpers.c
@@ -2044,7 +2044,6 @@ posix_fs_health_check(xlator_t *this)
if (ret != 0) {
op_errno = errno;
op = "aio_write_error";
- ret = -1;
goto out;
}
@@ -2083,7 +2082,6 @@ posix_fs_health_check(xlator_t *this)
if (ret != 0) {
op_errno = errno;
op = "aio_read_error";
- ret = -1;
goto out;
}
@@ -2108,7 +2106,8 @@ out:
}
if (ret && file_path[0]) {
gf_msg(this->name, GF_LOG_WARNING, errno, P_MSG_HEALTHCHECK_FAILED,
- "%s() on %s returned", op, file_path);
+ "%s() on %s returned ret is %d error is %s", op, file_path, ret,
+ ret != -1 ? strerror(ret) : strerror(op_errno));
gf_event(EVENT_POSIX_HEALTH_CHECK_FAILED,
"op=%s;path=%s;error=%s;brick=%s:%s timeout is %d", op,
file_path, strerror(op_errno), priv->hostname, priv->base_path,