summaryrefslogtreecommitdiffstats
path: root/xlators/features/index/src/index.c
diff options
context:
space:
mode:
authorAmar Tumballi <amarts@redhat.com>2012-09-06 00:13:04 +0530
committerAnand Avati <avati@redhat.com>2012-09-06 00:34:15 -0700
commitd6c99b6134f1eb90b3a8020c3538101df266e9b5 (patch)
treea5ec27bcf3136ddfda5ce5f21917bea50ad3be58 /xlators/features/index/src/index.c
parent54b71368ef290bc579f113e683a82b09893fb50a (diff)
libglusterfs/dict: make 'dict_t' a opaque object
* ie, don't dereference dict_t pointer, instead use APIs everywhere * other than dict_t only 'data_t' should be the valid export from dict.h * added 'dict_foreach_fnmatch()' API * changed dict_lookup() to use data_t, instead of data_pair_t Change-Id: I400bb0dd55519a7c5d2a107e67c8e7a7207228dc Signed-off-by: Amar Tumballi <amarts@redhat.com> BUG: 850917 Reviewed-on: http://review.gluster.org/3829 Tested-by: Gluster Build System <jenkins@build.gluster.com> Reviewed-by: Anand Avati <avati@redhat.com>
Diffstat (limited to 'xlators/features/index/src/index.c')
-rw-r--r--xlators/features/index/src/index.c16
1 files changed, 9 insertions, 7 deletions
diff --git a/xlators/features/index/src/index.c b/xlators/features/index/src/index.c
index 071a25b4b60..a98236c1edb 100644
--- a/xlators/features/index/src/index.c
+++ b/xlators/features/index/src/index.c
@@ -435,20 +435,22 @@ out:
void
_xattrop_index_action (xlator_t *this, inode_t *inode, dict_t *xattr)
{
- data_pair_t *trav = NULL;
gf_boolean_t zero_xattr = _gf_true;
index_inode_ctx_t *ctx = NULL;
int ret = 0;
- trav = xattr->members_list;
- while (trav && inode) {
- if (mem_0filled ((const char*)trav->value->data,
- trav->value->len)) {
+ int _check_key_is_zero_filled (dict_t *d, char *k, data_t *v,
+ void *tmp)
+ {
+ if (mem_0filled ((const char*)v->data, v->len)) {
zero_xattr = _gf_false;
- break;
+ /* -1 means, no more iterations, treat as 'break' */
+ return -1;
}
- trav = trav->next;
+ return 0;
}
+ dict_foreach (xattr, _check_key_is_zero_filled, NULL);
+
ret = index_inode_ctx_get (inode, this, &ctx);
if (ret) {
gf_log (this->name, GF_LOG_ERROR, "Not able to %s %s -> index",