diff options
| author | Amar Tumballi <amarts@redhat.com> | 2012-09-06 00:13:04 +0530 | 
|---|---|---|
| committer | Anand Avati <avati@redhat.com> | 2012-09-06 00:34:15 -0700 | 
| commit | d6c99b6134f1eb90b3a8020c3538101df266e9b5 (patch) | |
| tree | a5ec27bcf3136ddfda5ce5f21917bea50ad3be58 /xlators/protocol/server/src/server-helpers.c | |
| parent | 54b71368ef290bc579f113e683a82b09893fb50a (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/protocol/server/src/server-helpers.c')
| -rw-r--r-- | xlators/protocol/server/src/server-helpers.c | 29 | 
1 files changed, 16 insertions, 13 deletions
diff --git a/xlators/protocol/server/src/server-helpers.c b/xlators/protocol/server/src/server-helpers.c index eec1684ca69..0adcd1cf10b 100644 --- a/xlators/protocol/server/src/server-helpers.c +++ b/xlators/protocol/server/src/server-helpers.c @@ -1388,7 +1388,6 @@ int  gf_server_check_setxattr_cmd (call_frame_t *frame, dict_t *dict)  { -        data_pair_t      *pair = NULL;          server_conf_t    *conf = NULL;          rpc_transport_t  *xprt = NULL;          uint64_t          total_read = 0; @@ -1398,19 +1397,23 @@ gf_server_check_setxattr_cmd (call_frame_t *frame, dict_t *dict)          if (!conf || !dict)                  return 0; -        for (pair = dict->members_list; pair; pair = pair->next) { -                /* this exact key is used in 'io-stats' too. -                 * But this is better place for this information dump. -                 */ -                if (fnmatch ("*io*stat*dump", pair->key, 0) == 0) { -                        list_for_each_entry (xprt, &conf->xprt_list, list) { -                                total_read  += xprt->total_bytes_read; -                                total_write += xprt->total_bytes_write; -                        } -                        gf_log ("stats", GF_LOG_INFO, -                                "total-read %"PRIu64", total-write %"PRIu64, -                                total_read, total_write); +        /* this exact key is used in 'io-stats' too. +         * But this is better place for this information dump. +         */ +        int _handle_keyvalue_pair (dict_t *d, char *k, +                                   data_t *v, void *tmp) +        { +                return 0; +        } +        if (dict_foreach_fnmatch (dict, "*io*stat*dump", +                                  _handle_keyvalue_pair, NULL ) > 0) { +                list_for_each_entry (xprt, &conf->xprt_list, list) { +                        total_read  += xprt->total_bytes_read; +                        total_write += xprt->total_bytes_write;                  } +                gf_log ("stats", GF_LOG_INFO, +                        "total-read %"PRIu64", total-write %"PRIu64, +                        total_read, total_write);          }          return 0;  | 
