diff options
Diffstat (limited to 'xlators/storage/posix/src/posix.c')
-rw-r--r-- | xlators/storage/posix/src/posix.c | 62 |
1 files changed, 27 insertions, 35 deletions
diff --git a/xlators/storage/posix/src/posix.c b/xlators/storage/posix/src/posix.c index 8784571470f..a963f8a3b6b 100644 --- a/xlators/storage/posix/src/posix.c +++ b/xlators/storage/posix/src/posix.c @@ -572,9 +572,8 @@ posix_fsetattr (call_frame_t *frame, xlator_t *this, VALIDATE_OR_GOTO (this, out); VALIDATE_OR_GOTO (fd, out); - ret = posix_fd_ctx_get (fd, this, &pfd); + ret = posix_fd_ctx_get (fd, this, &pfd, &op_errno); if (ret < 0) { - op_errno = -ret; gf_msg_debug (this->name, 0, "pfd is NULL from fd=%p", fd); goto out; } @@ -664,6 +663,7 @@ posix_do_fallocate (call_frame_t *frame, xlator_t *this, fd_t *fd, struct iatt *statpre, struct iatt *statpost, dict_t *xdata) { int32_t ret = -1; + int32_t op_errno = 0; struct posix_fd *pfd = NULL; gf_boolean_t locked = _gf_false; @@ -675,7 +675,7 @@ posix_do_fallocate (call_frame_t *frame, xlator_t *this, fd_t *fd, VALIDATE_OR_GOTO (this, out); VALIDATE_OR_GOTO (fd, out); - ret = posix_fd_ctx_get (fd, this, &pfd); + ret = posix_fd_ctx_get (fd, this, &pfd, &op_errno); if (ret < 0) { gf_msg_debug (this->name, 0, "pfd is NULL from fd=%p", fd); goto out; @@ -820,6 +820,7 @@ posix_do_zerofill (call_frame_t *frame, xlator_t *this, fd_t *fd, off_t offset, dict_t *xdata) { int32_t ret = -1; + int32_t op_errno = 0; struct posix_fd *pfd = NULL; gf_boolean_t locked = _gf_false; @@ -831,7 +832,7 @@ posix_do_zerofill (call_frame_t *frame, xlator_t *this, fd_t *fd, off_t offset, VALIDATE_OR_GOTO (this, out); VALIDATE_OR_GOTO (fd, out); - ret = posix_fd_ctx_get (fd, this, &pfd); + ret = posix_fd_ctx_get (fd, this, &pfd, &op_errno); if (ret < 0) { gf_msg_debug (this->name, 0, "pfd is NULL from fd=%p", fd); goto out; @@ -1011,7 +1012,7 @@ posix_seek (call_frame_t *frame, xlator_t *this, fd_t *fd, off_t offset, goto out; } - ret = posix_fd_ctx_get (fd, this, &pfd); + ret = posix_fd_ctx_get (fd, this, &pfd, &err); if (ret < 0) { gf_msg_debug (this->name, 0, "pfd is NULL from fd=%p", fd); goto out; @@ -3058,9 +3059,8 @@ posix_readv (call_frame_t *frame, xlator_t *this, priv = this->private; VALIDATE_OR_GOTO (priv, out); - ret = posix_fd_ctx_get (fd, this, &pfd); + ret = posix_fd_ctx_get (fd, this, &pfd, &op_errno); if (ret < 0) { - op_errno = -ret; gf_msg (this->name, GF_LOG_WARNING, op_errno, P_MSG_PFD_NULL, "pfd is NULL from fd=%p", fd); goto out; @@ -3293,7 +3293,7 @@ posix_writev (call_frame_t *frame, xlator_t *this, fd_t *fd, VALIDATE_OR_GOTO (priv, out); - ret = posix_fd_ctx_get (fd, this, &pfd); + ret = posix_fd_ctx_get (fd, this, &pfd, &op_errno); if (ret < 0) { gf_msg (this->name, GF_LOG_WARNING, ret, P_MSG_PFD_NULL, "pfd is NULL from fd=%p", fd); @@ -3479,9 +3479,8 @@ posix_flush (call_frame_t *frame, xlator_t *this, VALIDATE_OR_GOTO (this, out); VALIDATE_OR_GOTO (fd, out); - ret = posix_fd_ctx_get (fd, this, &pfd); + ret = posix_fd_ctx_get (fd, this, &pfd, &op_errno); if (ret < 0) { - op_errno = -ret; gf_msg (this->name, GF_LOG_WARNING, op_errno, P_MSG_PFD_NULL, "pfd is NULL on fd=%p", fd); goto out; @@ -3602,9 +3601,8 @@ posix_fsync (call_frame_t *frame, xlator_t *this, return 0; } - ret = posix_fd_ctx_get (fd, this, &pfd); + ret = posix_fd_ctx_get (fd, this, &pfd, &op_errno); if (ret < 0) { - op_errno = -ret; gf_msg (this->name, GF_LOG_WARNING, op_errno, P_MSG_PFD_NULL, "pfd not found in fd's ctx"); goto out; @@ -4707,10 +4705,9 @@ posix_fgetxattr (call_frame_t *frame, xlator_t *this, SET_FS_ID (frame->root->uid, frame->root->gid); - ret = posix_fd_ctx_get (fd, this, &pfd); + ret = posix_fd_ctx_get (fd, this, &pfd, &op_errno); if (ret < 0) { op_ret = -1; - op_errno = -ret; gf_msg (this->name, GF_LOG_WARNING, op_errno, P_MSG_PFD_NULL, "pfd is NULL from fd=%p", fd); goto out; @@ -4949,9 +4946,8 @@ posix_fsetxattr (call_frame_t *frame, xlator_t *this, VALIDATE_OR_GOTO (fd, out); VALIDATE_OR_GOTO (dict, out); - ret = posix_fd_ctx_get (fd, this, &pfd); + ret = posix_fd_ctx_get (fd, this, &pfd, &op_errno); if (ret < 0) { - op_errno = -ret; gf_msg (this->name, GF_LOG_WARNING, op_errno, P_MSG_PFD_NULL, "pfd is NULL from fd=%p", fd); goto out; @@ -5180,9 +5176,8 @@ posix_fremovexattr (call_frame_t *frame, xlator_t *this, goto out; } - ret = posix_fd_ctx_get (fd, this, &pfd); + ret = posix_fd_ctx_get (fd, this, &pfd, &op_errno); if (ret < 0) { - op_errno = -ret; gf_msg (this->name, GF_LOG_WARNING, op_errno, P_MSG_PFD_NULL, "pfd is NULL from fd=%p", fd); goto out; @@ -5241,9 +5236,8 @@ posix_fsyncdir (call_frame_t *frame, xlator_t *this, VALIDATE_OR_GOTO (this, out); VALIDATE_OR_GOTO (fd, out); - ret = posix_fd_ctx_get (fd, this, &pfd); + ret = posix_fd_ctx_get (fd, this, &pfd, &op_errno); if (ret < 0) { - op_errno = -ret; gf_msg (this->name, GF_LOG_WARNING, op_errno, P_MSG_PFD_NULL, "pfd is NULL, fd=%p", fd); goto out; @@ -5613,12 +5607,12 @@ do_xattrop (call_frame_t *frame, xlator_t *this, loc_t *loc, fd_t *fd, VALIDATE_OR_GOTO (this, out); if (fd) { - op_ret = posix_fd_ctx_get (fd, this, &pfd); + op_ret = posix_fd_ctx_get (fd, this, &pfd, &op_errno); if (op_ret < 0) { - gf_msg (this->name, GF_LOG_WARNING, EBADFD, + gf_msg (this->name, GF_LOG_WARNING, + fop_log_level(GF_FOP_FXATTROP, op_errno), P_MSG_PFD_GET_FAILED, "failed to get pfd from" " fd=%p", fd); - op_errno = EBADFD; goto out; } _fd = pfd->fd; @@ -5748,11 +5742,10 @@ posix_ftruncate (call_frame_t *frame, xlator_t *this, priv = this->private; VALIDATE_OR_GOTO (priv, out); - ret = posix_fd_ctx_get (fd, this, &pfd); + ret = posix_fd_ctx_get (fd, this, &pfd, &op_errno); if (ret < 0) { - gf_msg (this->name, GF_LOG_WARNING, -ret, P_MSG_PFD_NULL, + gf_msg (this->name, GF_LOG_WARNING, op_errno, P_MSG_PFD_NULL, "pfd is NULL, fd=%p", fd); - op_errno = -ret; goto out; } @@ -5818,9 +5811,9 @@ posix_fstat (call_frame_t *frame, xlator_t *this, priv = this->private; VALIDATE_OR_GOTO (priv, out); - ret = posix_fd_ctx_get (fd, this, &pfd); + ret = posix_fd_ctx_get (fd, this, &pfd, &op_errno); if (ret < 0) { - gf_msg (this->name, GF_LOG_WARNING, -ret, P_MSG_PFD_NULL, + gf_msg (this->name, GF_LOG_WARNING, op_errno, P_MSG_PFD_NULL, "pfd is NULL, fd=%p", fd); op_errno = -ret; goto out; @@ -5958,13 +5951,14 @@ posix_fill_readdir (fd_t *fd, DIR *dir, off_t off, size_t size, char *hpath = NULL; int len = 0; int ret = 0; + int op_errno = 0; - ret = posix_fd_ctx_get (fd, this, &pfd); + ret = posix_fd_ctx_get (fd, this, &pfd, &op_errno); if (ret < 0) { - gf_msg (this->name, GF_LOG_WARNING, -ret, P_MSG_PFD_NULL, + gf_msg (this->name, GF_LOG_WARNING, op_errno, P_MSG_PFD_NULL, "pfd is NULL, fd=%p", fd); count = -1; - errno = -ret; + errno = op_errno; goto out; } @@ -6248,11 +6242,10 @@ posix_do_readdir (call_frame_t *frame, xlator_t *this, INIT_LIST_HEAD (&entries.list); - ret = posix_fd_ctx_get (fd, this, &pfd); + ret = posix_fd_ctx_get (fd, this, &pfd, &op_errno); if (ret < 0) { gf_msg (this->name, GF_LOG_WARNING, -ret, P_MSG_PFD_NULL, "pfd is NULL, fd=%p", fd); - op_errno = -ret; goto out; } @@ -6421,11 +6414,10 @@ posix_rchecksum (call_frame_t *frame, xlator_t *this, goto out; } - ret = posix_fd_ctx_get (fd, this, &pfd); + ret = posix_fd_ctx_get (fd, this, &pfd, &op_errno); if (ret < 0) { gf_msg (this->name, GF_LOG_WARNING, -ret, P_MSG_PFD_NULL, "pfd is NULL, fd=%p", fd); - op_errno = -ret; goto out; } |