-/* -*- mode: c; c-basic-offset: 8; indent-tabs-mode: nil; -*-
- * vim:expandtab:shiftwidth=8:tabstop=8:
- *
+/*
* GPL HEADER START
*
* DO NOT ALTER OR REMOVE COPYRIGHT NOTICES OR THIS FILE HEADER.
* in the LICENSE file that accompanied this code).
*
* You should have received a copy of the GNU General Public License
- * version 2 along with this program; If not, see [sun.com URL with a
- * copy of GPLv2].
- *
- * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
- * CA 95054 USA or visit www.sun.com if you need additional information or
- * have any questions.
+ * version 2 along with this program; If not, see
+ * http://www.gnu.org/licenses/gpl-2.0.html
*
* GPL HEADER END
*/
/*
- * Copyright 2008 Sun Microsystems, Inc. All rights reserved
+ * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
* Use is subject to license terms.
*/
/*
*/
#include <sys/types.h>
-#if defined (__linux__)
#include <sys/vfs.h>
-#endif
#include <dirent.h>
#include <sys/stat.h>
#include <unistd.h>
execvp(cmd[0], cmd);
report("failed to execvp(\'%s %s\')",cmd[0],cmd[1]);
}
- return;
}
/*****************************************************************************
int get_sysstatus(void)
{
- FILE *fptr = NULL;
- int len = 0;
int ret_val = ERROR ;
char sys_status[50] = {0};
DEBUGMSGTL(("lsnmpd", "%s\n", buf));
fprintf(stderr, "%s\n", buf);
- return;
}
size_t *var_len)
{
static unsigned char string[SPRINT_MAX_LEN];
- if( SUCCESS != read_string(file_path, string,sizeof(string)))
+ if( SUCCESS != read_string(file_path, (char *)string,sizeof(string)))
return NULL;
- *var_len = strlen(string);
+ *var_len = strlen((char *)string);
return (unsigned char *) string;
}
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;
*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;
*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;
*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);
+ c64->low = (unsigned long long) (0x0ffffffff & ull);
+ ull >>= 32;
+ c64->high = (unsigned long long) (0x0ffffffff & ull);
+}
+