X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=snmp%2Flustre-snmp-trap.c;h=7cb35ea065c85f885e6ea79a7e62e6f0f22b1332;hb=refs%2Ftags%2Fv2_8_53;hp=9b6073d95c6738103c2aa5a01b8ef3c33836f646;hpb=313b3c3b9d82670b77d4624deb4471f89fc5a8cb;p=fs%2Flustre-release.git diff --git a/snmp/lustre-snmp-trap.c b/snmp/lustre-snmp-trap.c index 9b6073d..7cb35ea 100644 --- a/snmp/lustre-snmp-trap.c +++ b/snmp/lustre-snmp-trap.c @@ -1,6 +1,4 @@ -/* -*- 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. @@ -26,7 +24,7 @@ * 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. */ /* @@ -51,14 +49,13 @@ */ #include -#if defined (__linux__) #include -#endif #include #include #include #include #include +#include #include "lustre-snmp-util.h" /************************************************************************** @@ -126,7 +123,7 @@ static unsigned int g_registration_handle; static char *g_health_check_test_file = 0; /***************************************************************************** - * Function: initilize_trap_handler + * Function: initialize_trap_handler * * Description: Initlized the trap poll haalder. * @@ -136,7 +133,7 @@ static char *g_health_check_test_file = 0; * ****************************************************************************/ -void initilize_trap_handler(void) +void initialize_trap_handler(void) { g_poll_interval_seconds = get_poll_interval_seconds(); @@ -235,16 +232,23 @@ void health_poll_worker(unsigned int registration_number, void *clientarg) 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; @@ -358,13 +362,14 @@ void send_portals_catastrophe_trap(char *reason_string) */ 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*/ @@ -413,28 +418,30 @@ void send_obd_unhealthy_trap(char *obd_name,char *reason_string) */ 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*/