X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=snmp%2Flustre-snmp-util.c;h=f69c6ec001bf4f0e527c5c1e7c63aa44c5c9bfdc;hb=51b32ac2b9b86a600e92ab03f387717e526153d3;hp=93908a13e24be07783d6e45d6d6db89d07483746;hpb=6c7240d06d83a45dfcf622c5ceb1eb4219873112;p=fs%2Flustre-release.git diff --git a/snmp/lustre-snmp-util.c b/snmp/lustre-snmp-util.c index 93908a1..f69c6ec 100644 --- a/snmp/lustre-snmp-util.c +++ b/snmp/lustre-snmp-util.c @@ -49,9 +49,7 @@ */ #include -#if defined (__linux__) #include -#endif #include #include #include @@ -730,8 +728,13 @@ error_out : extern int mds_stats_values(char * name_value, unsigned long long * nb_sample, unsigned long long * min, unsigned long long * max, unsigned long long * sum, unsigned long long * sum_square) { unsigned long long tmp_nb_sample=0,tmp_min=0,tmp_max=0,tmp_sum=0,tmp_sum_square=0; + glob_t path; + /*we parse the three MDS stat files and sum values*/ - if( stats_values(FILEPATH_MDS_SERVER_STATS,name_value,&tmp_nb_sample,&tmp_min,&tmp_max,&tmp_sum,&tmp_sum_square) == ERROR ) { + if (cfs_get_param_paths(&path, "mdt/MDS/mds/stats") != 0) + return ERROR; + if( stats_values(path.gl_pathv[0],name_value,&tmp_nb_sample,&tmp_min,&tmp_max,&tmp_sum,&tmp_sum_square) == ERROR ) { + cfs_free_param_data(&path); return ERROR; } else { *nb_sample=tmp_nb_sample; @@ -740,8 +743,12 @@ extern int mds_stats_values(char * name_value, unsigned long long * nb_sample, u *sum=tmp_sum; *sum_square=tmp_sum_square; } + cfs_free_param_data(&path); - if( stats_values(FILEPATH_MDS_SERVER_READPAGE_STATS,name_value,&tmp_nb_sample,&tmp_min,&tmp_max,&tmp_sum,&tmp_sum_square) == ERROR ) { + if (cfs_get_param_paths(&path, "mdt/MDS/mds_readpage/stats") != 0) + return ERROR; + if( stats_values(path.gl_pathv[0],name_value,&tmp_nb_sample,&tmp_min,&tmp_max,&tmp_sum,&tmp_sum_square) == ERROR ) { + cfs_free_param_data(&path); return ERROR; } else { *nb_sample += tmp_nb_sample; @@ -750,8 +757,12 @@ extern int mds_stats_values(char * name_value, unsigned long long * nb_sample, u *sum += tmp_sum; *sum_square += tmp_sum_square; } + cfs_free_param_data(&path); - if( stats_values(FILEPATH_MDS_SERVER_SETATTR_STATS,name_value,&tmp_nb_sample,&tmp_min,&tmp_max,&tmp_sum,&tmp_sum_square) == ERROR ) { + if (cfs_get_param_paths(&path, "mdt/MDS/mds_setattr/stats") != 0) + return ERROR; + if( stats_values(path.gl_pathv[0],name_value,&tmp_nb_sample,&tmp_min,&tmp_max,&tmp_sum,&tmp_sum_square) == ERROR ) { + cfs_free_param_data(&path); return ERROR; } else { *nb_sample += tmp_nb_sample; @@ -760,13 +771,14 @@ extern int mds_stats_values(char * name_value, unsigned long long * nb_sample, u *sum += tmp_sum; *sum_square += tmp_sum_square; } + cfs_free_param_data(&path); return SUCCESS; } void convert_ull(counter64 *c64, unsigned long long ull, size_t *var_len) { - *var_len = sizeof(c64); + *var_len = sizeof(*c64); c64->low = (unsigned long long) (0x0ffffffff & ull); ull >>= 32; c64->high = (unsigned long long) (0x0ffffffff & ull);