X-Git-Url: https://git.whamcloud.com/?a=blobdiff_plain;f=snmp%2Flustre-snmp-trap.c;h=7cb35ea065c85f885e6ea79a7e62e6f0f22b1332;hb=89a668f6c8770c5af8c99984003ffd9844dc2904;hp=2c1a20d59eb78f093dedaa9fae6577096972dcf1;hpb=1f1d3a376d488d715dd1b0c94d5b66ea05c1e6ca;p=fs%2Flustre-release.git diff --git a/snmp/lustre-snmp-trap.c b/snmp/lustre-snmp-trap.c index 2c1a20d..7cb35ea 100644 --- a/snmp/lustre-snmp-trap.c +++ b/snmp/lustre-snmp-trap.c @@ -123,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. * @@ -133,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(); @@ -232,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; @@ -355,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); @@ -410,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);