-/* -*- 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>
#include <stdio.h>
#include <stdarg.h>
+#include <ctype.h>
#include "lustre-snmp-util.h"
/**************************************************************************
static char *g_health_check_test_file = 0;
/*****************************************************************************
- * Function: initilize_trap_handler
+ * Function: initialize_trap_handler
*
* Description: Initlized the trap poll haalder.
*
*
****************************************************************************/
-void initilize_trap_handler(void)
+void initialize_trap_handler(void)
{
g_poll_interval_seconds = get_poll_interval_seconds();
FILE *fptr = NULL;
char string[MAX_LINE_SIZE];
int b_seen_portals_catastrophe = 0;
- const char *filename = g_health_check_test_file == 0 ?
- LUSTRE_PATH FILENAME_SYSHEALTHCHECK :
- g_health_check_test_file;
-
+ char *filename;
+ glob_t path;
+
+ if (cfs_get_param_paths(&path, "health_check") != 0)
+ return;
+
+ filename = g_health_check_test_file == 0 ? path.gl_pathv[0] : g_health_check_test_file;
+
/*DEBUGMSGTL(("lsnmpd","health_entry_parser(%s)\n",filename));*/
/* Open the file. Use the test file env variable if
there is one */
fptr = fopen(filename,"r");
+ /* Free parameter's path string */
+ cfs_free_param_data(&path);
+
/* If the path is not found do nothing */
if( NULL == fptr)
return;
*/
var_trap[1].next_variable = NULL;
- /*The "name" is the OID of the portals trap reason strong*/
+ /* The "name" is the OID of the portals trap reason string */
var_trap[1].name = lustre_portals_trap_string;
var_trap[1].name_length = sizeof(lustre_portals_trap_string) / sizeof(oid);
- /*And the data is a octet string, that contains the actually reason string*/
+ /* And the data is an octet string, that contains the actually reason
+ * string */
var_trap[1].type = ASN_OCTET_STR;
- var_trap[1].val.string = reason_string;
+ var_trap[1].val.string = (unsigned char *)reason_string;
var_trap[1].val_len = strlen(reason_string);
/*And now send off the trap*/
*/
var_trap[1].next_variable = &var_trap[2];;
- /*The "name" is the OID of the portals trap reason strong*/
+ /* The "name" is the OID of the portals trap reason string */
var_trap[1].name = lustre_unhealthy_trap_device_name_string;
var_trap[1].name_length = sizeof(lustre_unhealthy_trap_device_name_string) / sizeof(oid);
- /*And the data is a octet string, that contains the actually reason strong*/
+ /* And the data is an octet string, that contains the actual reason
+ * string */
var_trap[1].type = ASN_OCTET_STR;
- var_trap[1].val.string = obd_name;
+ var_trap[1].val.string = (unsigned char *)obd_name;
var_trap[1].val_len = strlen(obd_name);
- /*
- * Setup the third variable in the trap data.
+ /*
+ * Setup the third variable in the trap data.
* It is the last in the chain so set next to NULL
*/
var_trap[2].next_variable = NULL;
- /*The "name" is the OID of the portals trap reason strong*/
+ /* The "name" is the OID of the portals trap reason string */
var_trap[2].name = lustre_unhealthy_trap_reason_string;
var_trap[2].name_length = sizeof(lustre_unhealthy_trap_reason_string) / sizeof(oid);
- /*And the data is a octet string, that contains the actually reason strong*/
+ /* And the data is an octet string, that contains the actual reason
+ * string */
var_trap[2].type = ASN_OCTET_STR;
- var_trap[2].val.string = reason_string;
+ var_trap[2].val.string = (unsigned char *)reason_string;
var_trap[2].val_len = strlen(reason_string);
/*And now send off the trap*/