Whamcloud - gitweb
LU-11737 lfsck: do not ignore dryrun
[fs/lustre-release.git] / snmp / lustre-snmp-util.h
index 56770a2..e37b215 100644 (file)
@@ -1,28 +1,42 @@
-/* -*- 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.
+ *
+ * This program is free software; you can redistribute it and/or modify
+ * it under the terms of the GNU General Public License version 2 only,
+ * as published by the Free Software Foundation.
  *
- *  Copyright (c) 2005 Cluster File Systems, Inc.
- *   Author: PJ Kirner <pjkirner@clusterfs.com>
+ * This program is distributed in the hope that it will be useful, but
+ * WITHOUT ANY WARRANTY; without even the implied warranty of
+ * MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the GNU
+ * General Public License version 2 for more details (a copy is included
+ * in the LICENSE file that accompanied this code).
  *
- *   This file is part of Lustre, http://www.lustre.org.
+ * You should have received a copy of the GNU General Public License
+ * version 2 along with this program; If not, see
+ * http://www.gnu.org/licenses/gpl-2.0.html
  *
- *   Lustre is free software; you can redistribute it and/or
- *   modify it under the terms of version 2 of the GNU General Public
- *   License as published by the Free Software Foundation.
+ * GPL HEADER END
+ */
+/*
+ * Copyright (c) 2005, 2010, Oracle and/or its affiliates. All rights reserved.
+ * Use is subject to license terms.
+ */
+/*
+ * This file is part of Lustre, http://www.lustre.org/
+ * Lustre is a trademark of Sun Microsystems, Inc.
  *
- *   Lustre is distributed in the hope that it will be useful,
- *   but WITHOUT ANY WARRANTY; without even the implied warranty of
- *   MERCHANTABILITY or FITNESS FOR A PARTICULAR PURPOSE.  See the
- *   GNU General Public License for more details.
+ * snmp/lustre-snmp-util.h
  *
- *   You should have received a copy of the GNU General Public License
- *   along with Lustre; if not, write to the Free Software
- *   Foundation, Inc., 675 Mass Ave, Cambridge, MA 02139, USA.
+ * Author: PJ Kirner <pjkirner@clusterfs.com>
  */
 
 #ifndef LUSTRE_SNMP_UTIL_H
 #define LUSTRE_SNMP_UTIL_H
 
+#include <libcfs/util/param.h>
+
 /*
  * Definitions of magic values
  */
@@ -56,6 +70,7 @@
 #define MDDFREECAPACITY     54
 #define MDDFILES            55
 #define MDDFREEFILES        56
+#define MDSNBSAMPLEDREQ     57
 
 #define MDCNUMBER           60
 #define MDCUUID             61
 #define LDLMUNUSEDLOCKCOUNT 103
 #define LDLMRESOURCECOUNT   104
 
-/* Defining the proc paths for Lustre file system */
-#define LUSTRE_PATH                 "/proc/fs/lustre/"
-#define OSD_PATH                    LUSTRE_PATH "obdfilter/"
-#define OSC_PATH                    LUSTRE_PATH "osc/"
-#define MDS_PATH                    LUSTRE_PATH "mds/"
-#define MDC_PATH                    LUSTRE_PATH "mdc/"
-#define CLIENT_PATH                 LUSTRE_PATH "llite/"
-#define LOV_PATH                    LUSTRE_PATH "lov/"
-#define LDLM_PATH                   LUSTRE_PATH "ldlm/namespaces/"
+#define LNETNUMBER          110
+#define LNETMSGSALLOC       111
+#define LNETMSGSMAX         112
+#define LNETERRORS          113
+#define LNETSENDCOUNT       114
+#define LNETRECVCOUNT       115
+#define LNETROUTECOUNT      116
+#define LNETDROPCOUNT       117
+#define LNETSENDBYTES       118
+#define LNETRECVBYTES       119
+#define LNETROUTEBYTES      120
+#define LNETDROPBYTES       121
 
 /* Common procfs file entries that are refrenced in mulitple locations*/
-#define FILENAME_SYSHEALTHCHECK     "health_check"
 #define FILENAME_SYS_STATUS         "/var/lustre/sysStatus"
 
 #define FILENAME_NUM_REF            "num_refs"
 #define FILENAME_KBYTES_FREE        "kbytesfree"
 #define FILENAME_FILES_TOTAL        "filestotal"
 #define FILENAME_FILES_FREE         "filesfree"
+#define STR_REQ_WAITIME             "req_waittime"
 
 /* strings which the file /var/lustre/sysStatus can hold */
 #define STR_ONLINE                  "online"
@@ -154,7 +172,7 @@ typedef enum {
 } lustre_sysstatus;
 
 /* File operation related functions */
-char *get_file_list(const char *dirname, int file_type, __u32 *count);
+char *get_file_list(const char *dirname, int file_type, uint32_t *count);
 extern int  is_directory(const char *filename);
 extern int  read_string(const char *filepath, char *lustre_var,size_t var_size);
 int read_counter64(const char *file_path, counter64 *c64,int factor);
@@ -194,4 +212,15 @@ unsigned char *
         const char *path,
         struct oid_table *ptable);
 
+void convert_ull(counter64 *c64, unsigned long long ull, size_t *var_len);
+int stats_values(char * filepath,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);
+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);
+
+ /* export for net-snmp util-funcs */
+int             header_simple_table(struct variable *, oid *, size_t *,
+                                    int, size_t *,
+                                    WriteMethod ** write_method, int);
+int             header_generic(struct variable *, oid *, size_t *, int,
+                               size_t *, WriteMethod **);
+
 #endif /* LUSTRE_SNMP_UTIL_H */