diff options
author | Vijay Bellur <vbellur@redhat.com> | 2014-01-12 22:39:14 +0530 |
---|---|---|
committer | Anand Avati <avati@redhat.com> | 2014-01-14 00:23:52 -0800 |
commit | 3af42583dd804371952d61e9d7ff4c640e67ba0d (patch) | |
tree | 33b82a76443753017a7f150c0d824f701328cf13 /libglusterfs/src/dict.c | |
parent | aa3b01533efcd85fc1e654ac14a03ab8e1d5bbab (diff) |
storage/posix: UNWIND right op_error and op_errno in *setxattr()
1. errno was being set after gf_log() in posix_{f}handle_pair, this
would cause errno to be overwritten.
2. dht would expect -1 for indication of failure in setxattr
callback (dht_err_cbk()). posix_{f}setxattr has been changed to set
op_ret as -1 instead of -op_errno.
3. dict_foreach() has been changed to return an error if the invoked
fn() returns < 0.
Bug report and test case credits to Zorro Lang <zlang@redhat.com>
Change-Id: I96c15f12a5d7717b7584ba392f390a0b4f704a98
BUG: 1051896
Signed-off-by: Vijay Bellur <vbellur@redhat.com>
Reviewed-on: http://review.gluster.org/6684
Tested-by: Gluster Build System <jenkins@build.gluster.com>
Reviewed-by: Niels de Vos <ndevos@redhat.com>
Reviewed-by: Anand Avati <avati@redhat.com>
Diffstat (limited to 'libglusterfs/src/dict.c')
-rw-r--r-- | libglusterfs/src/dict.c | 4 |
1 files changed, 2 insertions, 2 deletions
diff --git a/libglusterfs/src/dict.c b/libglusterfs/src/dict.c index f2df5a6d431..e9fc1222d16 100644 --- a/libglusterfs/src/dict.c +++ b/libglusterfs/src/dict.c @@ -1121,8 +1121,8 @@ dict_foreach (dict_t *dict, while (pairs) { next = pairs->next; ret = fn (dict, pairs->key, pairs->value, data); - if (ret == -1) - return -1; + if (ret < 0) + return ret; pairs = next; } |