diff options
Diffstat (limited to 'xlators')
-rw-r--r-- | xlators/storage/posix/src/posix-helpers.c | 4 | ||||
-rw-r--r-- | xlators/storage/posix/src/posix.c | 8 |
2 files changed, 8 insertions, 4 deletions
diff --git a/xlators/storage/posix/src/posix-helpers.c b/xlators/storage/posix/src/posix-helpers.c index d2c991900d1..3a66ecfc2ce 100644 --- a/xlators/storage/posix/src/posix-helpers.c +++ b/xlators/storage/posix/src/posix-helpers.c @@ -792,6 +792,7 @@ posix_handle_pair (xlator_t *this, const char *real_path, value->len, flags); if (sys_ret < 0) { + ret = -errno; if (errno == ENOTSUP) { GF_LOG_OCCASIONALLY(gf_xattr_enotsup_log, this->name,GF_LOG_WARNING, @@ -823,7 +824,6 @@ posix_handle_pair (xlator_t *this, const char *real_path, #endif /* DARWIN */ } - ret = -errno; goto out; } } @@ -847,6 +847,7 @@ posix_fhandle_pair (xlator_t *this, int fd, value->len, flags); if (sys_ret < 0) { + ret = -errno; if (errno == ENOTSUP) { GF_LOG_OCCASIONALLY(gf_xattr_enotsup_log, this->name,GF_LOG_WARNING, @@ -873,7 +874,6 @@ posix_fhandle_pair (xlator_t *this, int fd, #endif /* DARWIN */ } - ret = -errno; goto out; } diff --git a/xlators/storage/posix/src/posix.c b/xlators/storage/posix/src/posix.c index 7695289fae4..dc4af1b92f9 100644 --- a/xlators/storage/posix/src/posix.c +++ b/xlators/storage/posix/src/posix.c @@ -2950,8 +2950,10 @@ posix_setxattr (call_frame_t *frame, xlator_t *this, filler.flags = flags; op_ret = dict_foreach (dict, _handle_setxattr_keyvalue_pair, &filler); - if (op_ret < 0) + if (op_ret < 0) { op_errno = -op_ret; + op_ret = -1; + } out: SET_TO_OLD_FS_ID (); @@ -3916,8 +3918,10 @@ posix_fsetxattr (call_frame_t *frame, xlator_t *this, filler.flags = flags; op_ret = dict_foreach (dict, _handle_fsetxattr_keyvalue_pair, &filler); - if (op_ret < 0) + if (op_ret < 0) { op_errno = -op_ret; + op_ret = -1; + } out: SET_TO_OLD_FS_ID (); |