diff options
Diffstat (limited to 'xlators')
| -rw-r--r-- | xlators/features/quota/src/quota.c | 1 | ||||
| -rw-r--r-- | xlators/performance/symlink-cache/src/symlink-cache.c | 4 | ||||
| -rw-r--r-- | xlators/storage/posix/src/posix-entry-ops.c | 5 |
3 files changed, 9 insertions, 1 deletions
diff --git a/xlators/features/quota/src/quota.c b/xlators/features/quota/src/quota.c index eb461f4ad22..9ad4f902d08 100644 --- a/xlators/features/quota/src/quota.c +++ b/xlators/features/quota/src/quota.c @@ -4355,6 +4355,7 @@ quota_statfs_validate_cbk(call_frame_t *frame, void *cookie, xlator_t *this, UNLOCK(&ctx->lock); resume: + local->op_errno = op_errno; quota_link_count_decrement(frame); return 0; } diff --git a/xlators/performance/symlink-cache/src/symlink-cache.c b/xlators/performance/symlink-cache/src/symlink-cache.c index 2a686dcb87e..81a6d6fc296 100644 --- a/xlators/performance/symlink-cache/src/symlink-cache.c +++ b/xlators/performance/symlink-cache/src/symlink-cache.c @@ -228,6 +228,7 @@ sc_readlink(call_frame_t *frame, xlator_t *this, loc_t *loc, size_t size, dict_t *xdata) { char *link = NULL; + int op_ret = -1; struct iatt buf = { 0, }; @@ -243,7 +244,8 @@ sc_readlink(call_frame_t *frame, xlator_t *this, loc_t *loc, size_t size, using buf in readlink_cbk should be aware that @buf is 0 filled */ - STACK_UNWIND_STRICT(readlink, frame, strlen(link), 0, link, &buf, NULL); + op_ret = strlen(link); + STACK_UNWIND_STRICT(readlink, frame, op_ret, 0, link, &buf, NULL); FREE(link); return 0; } diff --git a/xlators/storage/posix/src/posix-entry-ops.c b/xlators/storage/posix/src/posix-entry-ops.c index ca5b8b1d4bf..17fab3e6e9c 100644 --- a/xlators/storage/posix/src/posix-entry-ops.c +++ b/xlators/storage/posix/src/posix-entry-ops.c @@ -1254,6 +1254,11 @@ posix_unlink(call_frame_t *frame, xlator_t *this, loc_t *loc, int xflag, goto out; } op_ret = posix_set_iatt_in_dict(unwind_dict, NULL, &postbuf); + if (op_ret == -1) { + op_errno = ENOMEM; + gf_msg(this->name, GF_LOG_ERROR, ENOMEM, P_MSG_DICT_SET_FAILED, + "failed to set fdstat in dict"); + } } op_ret = posix_pstat(this, loc->parent, loc->pargfid, par_path, &postparent, |
