X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=snmp%2Flustre-snmp-trap.c;h=7cb35ea065c85f885e6ea79a7e62e6f0f22b1332;hb=115011c524e8674de010ddd2dea4afb497c1884e;hp=2d27cb7c1294e7b8acf2a5f2b2ebb036e26a87af;hpb=0f8dca08a4f68cba82c2c822998ecc309d3b7aaf;p=fs%2Flustre-release.git diff --git a/snmp/lustre-snmp-trap.c b/snmp/lustre-snmp-trap.c index 2d27cb7..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. @@ -51,9 +49,7 @@ */ #include -#if defined (__linux__) #include -#endif #include #include #include @@ -127,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. * @@ -137,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(); @@ -236,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; @@ -359,11 +362,12 @@ 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 = (unsigned char *)reason_string; var_trap[1].val_len = strlen(reason_string); @@ -414,26 +418,28 @@ 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 = (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 = (unsigned char *)reason_string; var_trap[2].val_len = strlen(reason_string);