Whamcloud - gitweb
Lproc-snmp code drop
[fs/lustre-release.git] / lustre / include / linux / lprocfs.h
index 84d19d8..d2aad17 100644 (file)
@@ -7,8 +7,8 @@
 
 /*
  * Author: Hariharan Thantry
- * File Name: lprocfs.h 
- * 
+ * File Name: lprocfs.h
+ *
  * Header file for the LProcFS file system
  */
 
@@ -16,7 +16,7 @@
 #define _LPROCFS_H
 
 #ifndef LPROCFS_EXISTS
-#define LPROCFS_EXISTS  
+#define LPROCFS_EXISTS
 #endif
 
 #define LPROCFS_SUCCESS 1
 #include <linux/param.h>
 /* #include <linux/msr.h> */
 
-typedef enum lprocfs_profilers {
+typedef enum lprofilers {
         e_generic=0,
         e_specific
-}lprocfs_profilers_e;
-        
+} lprofilers_e;
 
 typedef struct lprocfs_vars{
         char* name;
         read_proc_t* read_fptr;
         write_proc_t* write_fptr;
-}lprocfs_vars_t; 
+} lprocfs_vars_t;
 
- typedef struct lprocfs_group {
+typedef struct lprocfs_group {
         char** dir_namespace;
         lprocfs_vars_t* count_func_namespace;
-        lprocfs_profilers_e prof_type;
-}lprocfs_group_t;
+        lprofilers_e prof_type;
+} lprocfs_group_t;
 
-typedef struct lprocfs_obd_namespace {
-        char* obd_classname;
-        lprocfs_group_t* obd_namespace;
-        unsigned int cntr_blk_size;
-}lprocfs_obd_namespace_t;
+typedef struct lprocfs_obd_nm {
+        char* obd_clname;
+        lprocfs_group_t* obd_names;
+        unsigned int cntr_blk_sz;
+} lprocfs_obd_nm_t;
 
 
 
@@ -62,71 +61,60 @@ typedef struct lprocfs_obd_namespace {
  * that on a per-device class basis, there would exist only
  * one signature.
  */
-struct lprocfs_profiler_gen {
-        unsigned long long min_time;
-        unsigned long long max_time; 
-        unsigned long long sum_time;
-        unsigned long long num_ops;
-        /*
-         * Default, used for storing intermediate
-         * value
-         */
-        unsigned long long start_time;
-        
-};
-
-struct lprocfs_profiler_ldlm {
 
-        unsigned long long min_time;
-        unsigned long long max_time;
-        unsigned long long sum_time;
-        unsigned long long num_ops;
+struct lprofiler_gen {
+        __u64 min_time;
+        __u64 max_time;
+        __u64 sum_time;
+        __u64 num_ops;
+        /* Default, used for storing intermediate value */
         unsigned long long start_time;
-
-        unsigned long long num_total;
-        unsigned long long num_zerolatency;
-        unsigned long long num_zerolatency_inflight;
-        unsigned long long num_zerolatency_done;
-        unsigned long long non_zero_mintime;
-        unsigned long long non_zero_maxtime;
-        unsigned long long non_zero_sumtime;
 };
 
-struct lprocfs_profiler_ptlrpc {
-        unsigned long long min_time;
-        unsigned long long max_time; 
-        unsigned long long sum_time;
-        unsigned long long num_ops;
-        /*
-         * Default, used for storing intermediate
-         * value
-         */
-        unsigned long long start_time;
-        unsigned long long msgs_alloc;
-
-        unsigned long long msgs_max;
-        unsigned long long recv_count;
-        
-        unsigned long long recv_length;
-        unsigned long long send_count;
-        unsigned long long send_length;
-        unsigned long long portal_kmemory;
-
+struct lprofiler_ldlm {
+        __u64 min_time;
+        __u64 max_time;
+        __u64 sum_time;
+        __u64 num_ops;
+        __u64 start_time;
+
+        __u64 num_total;
+        __u64 num_zerolatency;
+        __u64 num_zerolatency_inflight;
+        __u64 num_zerolatency_done;
+        __u64 non_zero_mintime;
+        __u64 non_zero_maxtime;
+        __u64 non_zero_sumtime;
+};
 
+struct lprofiler_ptlrpc {
+        __u64 min_time;
+        __u64 max_time;
+        __u64 sum_time;
+        __u64 num_ops;
+        /* Default, used for storing intermediate value */
+        __u64 start_time;
+        __u64 msgs_alloc;
+
+        __u64 msgs_max;
+        __u64 recv_count;
+
+        __u64 recv_length;
+        __u64 send_count;
+        __u64 send_length;
+        __u64 portal_kmemory;
 };
 
 
-struct namespace_index{
+
+struct namespace_index {
         char* name;
 };
 
-struct groupspace_index{
+struct groupspace_index {
         char* name;
         struct namespace_index* directory;
         struct namespace_index* counters;
-
 };
 
 /*
@@ -135,7 +123,6 @@ struct groupspace_index{
 
 
 typedef enum te_leafType {
-
         e_String=0,
         e_longlong
 
@@ -143,45 +130,40 @@ typedef enum te_leafType {
 
 
 
-struct lprocfs_conn_namespace{
+struct lprocfs_conn_namespace {
         char* leaf_name;
         e_varType type;
-        union{
+        union {
                 char* string_val;
-                unsigned long long cntr_val;
-        }x;
-
+                __u64 cntr_val;
+        } x;
 };
 
-
-
-
 #ifdef LPROCFS_EXISTS
-
 /*
  * Utility functions to return the timeofday
- * 
+ *
  */
 static inline unsigned long lprocfs_util_gettime(void)
 {
         return 0;
         /*
         struct timeval myTime;
-        unsigned long long temp;
+        __u64 temp;
         do_gettimeofday(&myTime);
-        temp=((unsigned long long)(myTime.tv_usec))&0xFFFFFFFF;
-        temp|=(((unsigned long long)(myTime.tv_sec))<<(8*sizeof(unsigned long)));
+        temp=((__u64)(myTime.tv_usec))&0xFFFFFFFF;
+        temp|=(((__u64)(myTime.tv_sec))<<(8*sizeof(unsigned long)));
         return temp;
         */
 
 }
-static inline unsigned long lprocfs_util_getdiff(unsigned long x, 
+static inline unsigned long lprocfs_util_getdiff(unsigned long x,
                                                  unsigned long y)
 {
         return ((x>y)?(x-y):(y-x));
         /*
-        unsigned long long tempSec=0;
-        unsigned long long tempuSec=0;
+        __u64 tempSec=0;
+        __u64 tempuSec=0;
         tempSec=((y>>8*sizeof(unsigned long))-(x>>8*sizeof(unsigned long)));
         if(tempSec<0)tempSec=-tempSec;
         tempuSec=((y&0xFFFFFFFF)-(x&0xFFFFFFFF));
@@ -194,23 +176,23 @@ static inline unsigned long lprocfs_util_getdiff(unsigned long x,
 #define LPROCFS_NAMESPACE_ENUM(CLASS, NAME) e_ ##CLASS## _##NAME
 
 
-#define DEV_PROF_START(DEV_CLASS, OBD, PROF_CLASS, ATTRIBUTE)                 \
-do {                                                                          \
-        struct lprocfs_profiler_##PROF_CLASS *x;                              \
-        int index=LPROCFS_NAMESPACE_ENUM(DEV_CLASS, ATTRIBUTE);               \
-        x=(struct lprocfs_profiler_##PROF_CLASS *)((OBD)->counters);          \
-        x+=index;                                                             \
-        /* rdtscl(x->start_time); */                                          \
-        x->start_time=lprocfs_util_gettime();                                 \
-}while(0)                                                                     \
+#define DEV_PROF_START(DEV_CLASS, OBD, PROF_CLASS, ATTRIBUTE)         \
+do {                                                                  \
+        struct lprofiler_##PROF_CLASS *x;                             \
+        int index=LPROCFS_NAMESPACE_ENUM(DEV_CLASS, ATTRIBUTE);       \
+        x=(struct lprofiler_##PROF_CLASS *)((OBD)->counters);         \
+        x+=index;                                                     \
+        /* rdtscl(x->start_time); */                                  \
+        x->start_time=lprocfs_util_gettime();                         \
+}while(0)                                                             \
 
 
 #define DEV_PROF_END(DEV_CLASS, OBD, PROF_CLASS, ATTRIBUTE)                   \
 do{                                                                           \
         unsigned long end_time, delta;                                        \
         int index=LPROCFS_NAMESPACE_ENUM(DEV_CLASS, ATTRIBUTE);               \
-        struct lprocfs_profiler_##PROF_CLASS *x=                              \
-                (struct lprocfs_profiler_##PROF_CLASS*)((OBD)->counters);     \
+        struct lprofiler_##PROF_CLASS *x=                                     \
+                (struct lprofiler_##PROF_CLASS*)((OBD)->counters);            \
         x+=index;                                                             \
         end_time=lprocfs_util_gettime();                                      \
         delta=lprocfs_util_getdiff(x->start_time, end_time);                  \
@@ -223,10 +205,10 @@ do{                                                                           \
 /*
 #define DEV_PROF_END(DEV_CLASS, OBD, PROF_CLASS, ATTRIBUTE)                   \
 do{                                                                           \
-        unsigned long long end_time, delta;                                   \
+        __u64 end_time, delta;                                   \
         int index=LPROCFS_NAMESPACE_ENUM(DEV_CLASS, ATTRIBUTE);               \
-        struct lprocfs_profiler_##PROF_CLASS *x=                              \
-                (struct lprocfs_profiler_##PROF_CLASS*)((OBD)->counters);     \
+        struct lprofiler_##PROF_CLASS *x=                              \
+                (struct lprofiler_##PROF_CLASS*)((OBD)->counters);     \
         x+=index;                                                             \
         end_time=lprocfs_util_gettime();                                      \
         delta=lprocfs_util_getdiff(x->start_time, end_time);                  \
@@ -240,8 +222,8 @@ do{                                                                           \
 #define DEV_PRINT_CNTR(DEV_CLASS, OBD, PROF_CLASS, ATTRIBUTE)                 \
 do{                                                                           \
         int index=LPROCFS_NAMESPACE_ENUM(DEV_CLASS, ATTRIBUTE);               \
-        struct lprocfs_profiler_##PROF_CLASS *x=                              \
-                (struct lprocfs_profiler_##PROF_CLASS *)&((OBD)->counters);   \
+        struct lprofiler_##PROF_CLASS *x=                              \
+                (struct lprofiler_##PROF_CLASS *)&((OBD)->counters);   \
         x+=index;                                                             \
         printk("Max_time=%lld(usec)\n", x->max_time);                         \
         printk("Min_time=%lld(usec)\n", x->min_time);                         \
@@ -252,14 +234,12 @@ do{                                                                           \
 
 
 /*
- * This enum is used as an array index into the counts 
+ * This enum is used as an array index into the counts
  * that are maintained for the MDS device. The number of
  * entries here determine the amount of memory allocated
  * for counters for every instance of this class of
  * device
  */
-
-
 enum {
         LPROCFS_NAMESPACE_ENUM(mdc, mgmt_setup),
         LPROCFS_NAMESPACE_ENUM(mdc, mgmt_cleanup),
@@ -304,6 +284,14 @@ enum {
         LPROCFS_MAX_ENUM_DIR_MDS
 
 };
+
+enum {
+        LPROCFS_NAMESPACE_ENUM(mdt, mgmt_setup),
+        LPROCFS_NAMESPACE_ENUM(mdt, mgmt_cleanup),
+        LPROCFS_NAMESPACE_ENUM(mdt, mgmt_connect),
+        LPROCFS_NAMESPACE_ENUM(mdt, mgmt_disconnect),
+};
+
 enum {
         LPROCFS_NAMESPACE_ENUM(osc, mgmt_setup),
         LPROCFS_NAMESPACE_ENUM(osc, mgmt_cleanup),
@@ -320,7 +308,6 @@ enum {
         LPROCFS_NAMESPACE_ENUM(osc, summary),
         LPROCFS_NAMESPACE_ENUM(osc, cancel),
         LPROCFS_MAX_ENUM_DIR_OSC
-
 };
 
 enum {
@@ -340,10 +327,8 @@ enum {
         LPROCFS_NAMESPACE_ENUM(ost, cancel),
         LPROCFS_NAMESPACE_ENUM(ost, getinfo),
         LPROCFS_MAX_ENUM_DIR_OST
-
 };
 
-
 enum {
         LPROCFS_NAMESPACE_ENUM(lov, mgmt_setup),
         LPROCFS_NAMESPACE_ENUM(lov, mgmt_cleanup),
@@ -361,8 +346,6 @@ enum {
         LPROCFS_NAMESPACE_ENUM(lov, cancel),
         LPROCFS_NAMESPACE_ENUM(lov, getinfo),
         LPROCFS_MAX_ENUM_DIR_LOV
-
-
 };
 
 enum {
@@ -382,11 +365,9 @@ enum {
         LPROCFS_NAMESPACE_ENUM(obdfilter, cancel),
         LPROCFS_NAMESPACE_ENUM(obdfilter, getinfo),
         LPROCFS_MAX_ENUM_DIR_OBDFILTER
-
 };
 
 enum {
-  
         LPROCFS_NAMESPACE_ENUM(ldlm, mgmt_setup),
         LPROCFS_NAMESPACE_ENUM(ldlm, mgmt_cleanup),
         LPROCFS_NAMESPACE_ENUM(ldlm, mgmt_connect),
@@ -399,7 +380,6 @@ enum {
 };
 
 enum {
-
         LPROCFS_NAMESPACE_ENUM(ptlrpc, mgmt_setup),
         LPROCFS_NAMESPACE_ENUM(ptlrpc, mgmt_cleanup),
         LPROCFS_NAMESPACE_ENUM(ptlrpc, mgmt_connect),
@@ -407,10 +387,10 @@ enum {
         LPROCFS_NAMESPACE_ENUM(ptlrpc, counters),
         LPROCFS_NAMESPACE_ENUM(ptlrpc, network),
         LPROCFS_MAX_ENUM_DIR_PTLRPC
-       
 };
 
-#define LPROCFS_DIR_INDEX(CLASS, DIR) [LPROCFS_NAMESPACE_ENUM(CLASS, DIR)]={#DIR}
+#define LPROCFS_DIR_INDEX(CLASS, DIR) \
+                         [LPROCFS_NAMESPACE_ENUM(CLASS, DIR)]={#DIR}
 
 /*
  * Similar rule for profiling counters
@@ -422,27 +402,23 @@ enum {
         LPROCFS_NAMESPACE_ENUM(mdc, max_time),
         LPROCFS_NAMESPACE_ENUM(mdc, sum_time),
         LPROCFS_NAMESPACE_ENUM(mdc, num_ops),
-        LPROCFS_PROF_MDC_MAX
-
-
+        LPROF_MDC_MAX
 };
+
 enum {
         LPROCFS_NAMESPACE_ENUM(mds, min_time),
         LPROCFS_NAMESPACE_ENUM(mds, max_time),
         LPROCFS_NAMESPACE_ENUM(mds, sum_time),
         LPROCFS_NAMESPACE_ENUM(mds, num_ops),
-        LPROCFS_PROF_MDS_MAX
-
-
+        LPROF_MDS_MAX
 };
+
 enum {
         LPROCFS_NAMESPACE_ENUM(osc, min_time),
         LPROCFS_NAMESPACE_ENUM(osc, max_time),
         LPROCFS_NAMESPACE_ENUM(osc, sum_time),
         LPROCFS_NAMESPACE_ENUM(osc, num_ops),
-        LPROCFS_PROF_OSC_MAX
-
-
+        LPROF_OSC_MAX
 };
 
 enum {
@@ -450,27 +426,23 @@ enum {
         LPROCFS_NAMESPACE_ENUM(ost, max_time),
         LPROCFS_NAMESPACE_ENUM(ost, sum_time),
         LPROCFS_NAMESPACE_ENUM(ost, num_ops),
-        LPROCFS_PROF_MAX
-
-
+        LPROF_OST_MAX
 };
+
 enum {
         LPROCFS_NAMESPACE_ENUM(lov, min_time),
         LPROCFS_NAMESPACE_ENUM(lov, max_time),
         LPROCFS_NAMESPACE_ENUM(lov, sum_time),
         LPROCFS_NAMESPACE_ENUM(lov, num_ops),
-        LPROCFS_PROF_LOV_MAX
-
-
+        LPROF_LOV_MAX
 };
+
 enum {
         LPROCFS_NAMESPACE_ENUM(obdfilter, min_time),
         LPROCFS_NAMESPACE_ENUM(obdfilter, max_time),
         LPROCFS_NAMESPACE_ENUM(obdfilter, sum_time),
         LPROCFS_NAMESPACE_ENUM(obdfilter, num_ops),
-        LPROCFS_PROF_OBDFILTER_MAX
-
-
+        LPROF_OBDFILTER_MAX
 };
 
 
@@ -486,11 +458,10 @@ enum {
         LPROCFS_NAMESPACE_ENUM(ldlm, nonzero_mintime),
         LPROCFS_NAMESPACE_ENUM(ldlm, nonzero_maxtime),
         LPROCFS_NAMESPACE_ENUM(ldlm, nonzero_sumtime),
-        LPROCFS_PROF_LDLM_MAX
+        LPROF_LDLM_MAX
 };
 
 enum {
-
         LPROCFS_NAMESPACE_ENUM(ptlrpc, min_time),
         LPROCFS_NAMESPACE_ENUM(ptlrpc, max_time),
         LPROCFS_NAMESPACE_ENUM(ptlrpc, sum_time),
@@ -503,13 +474,10 @@ enum {
         LPROCFS_NAMESPACE_ENUM(ptlrpc, send_count),
         LPROCFS_NAMESPACE_ENUM(ptlrpc, send_length),
         LPROCFS_NAMESPACE_ENUM(ptlrpc, portal_kmemory),
-        LPROCFS_PROF_PTLRPC_MAX
+        LPROF_PTLRPC_MAX
 
 };
 
-
-
-
 /*
  * and for groups
  */
@@ -518,6 +486,7 @@ enum {
 enum {
         LPROCFS_ENUM(mdc),
         LPROCFS_ENUM(mds),
+        LPROCFS_ENUM(mdt),
         LPROCFS_ENUM(osc),
         LPROCFS_ENUM(ost),
         LPROCFS_ENUM(lov),
@@ -525,18 +494,18 @@ enum {
         LPROCFS_ENUM(ldlm),
         LPROCFS_ENUM(ptlrpc),
         LPROCFS_GROUP_MAX
-
 };
-#define LPROCFS_CNTR_INDEX(CLASS, NAME) [LPROCFS_NAMESPACE_ENUM(CLASS, NAME)]={#NAME}
 
-#define LPROCFS_GROUP_CREATE(CLASS) [LPROCFS_ENUM(CLASS)]={#CLASS, dir_##CLASS##_index, prof_##CLASS##_index}
+#define LPROCFS_CNTR_INDEX(CLASS, NAME) \
+                   [LPROCFS_NAMESPACE_ENUM(CLASS, NAME)]={#NAME}
+
+#define LPROCFS_GROUP_CREATE(CLASS) \
+      [LPROCFS_ENUM(CLASS)]={#CLASS, dir_##CLASS##_index, prof_##CLASS##_index}
 
 /*
  * OBD Namespace API: Obtain the namespace group index, given a name
  */
-int lprocfs_get_namespace(char* name, 
-                          lprocfs_obd_namespace_t* collection);
+int lprocfs_get_nm(char* name, lprocfs_obd_nm_t* collection);
 
 
 
@@ -544,71 +513,71 @@ int lprocfs_get_namespace(char* name,
  * OBD device APIs
  */
 
-int lprocfs_register_dev(struct obd_device* device, 
-                         lprocfs_group_t* namespace, 
-                         unsigned int cnt_struct_size);
+int lprocfs_reg_dev(struct obd_device* device, lprocfs_group_t* namespace,
+                    unsigned int cnt_struct_size);
 
-int lprocfs_deregister_dev(struct obd_device* device);
+int lprocfs_dereg_dev(struct obd_device* device);
 
 /*
  * Connections API
  */
-int lprocfs_register_conn(unsigned int conn_number, 
-                         struct lprocfs_conn_namespace* namespace);
-int lprocfs_deregister_conn(unsigned int conn_number);
+int lprocfs_reg_conn(unsigned int conn_number,
+                     struct lprocfs_conn_namespace* namespace);
+int lprocfs_dereg_conn(unsigned int conn_number);
 
 /*
  * Import/Export APIs
  */
-int lprocfs_add_export(unsigned int conn_number, 
+int lprocfs_add_export(unsigned int conn_number,
                        struct obd_device* device);
-int lprocfs_add_import(unsigned int conn_number, 
+int lprocfs_add_import(unsigned int conn_number,
                        struct obd_device* device);
-int lprocfs_remove_export(unsigned int conn_number, 
+int lprocfs_remove_export(unsigned int conn_number,
                           struct obd_device* device);
-int lprocfs_remove_import(unsigned int conn_number, 
+int lprocfs_remove_import(unsigned int conn_number,
                           struct obd_device* device);
 
 /*
  * Utility functions
  */
 
-struct proc_dir_entry* lprocfs_util_add_dir_node(struct proc_dir_entry* root, 
-                                                 const char* name,            
-                                                 const char* tok,             
-                                                 unsigned int* escape);
+struct proc_dir_entry* lprocfs_add_dir(struct proc_dir_entry* root,
+                                       const char* name,
+                                       const char* tok,
+                                       unsigned int* escape);
 
 
-struct proc_dir_entry* lprocfs_util_mkdir(const char* dname, 
-                                          struct proc_dir_entry *parent);
+struct proc_dir_entry* lprocfs_mkdir(const char* dname,
+                                     struct proc_dir_entry *parent);
 
 
-struct proc_dir_entry* lprocfs_bfs_search(struct proc_dir_entry* root, 
-                                          const char* name);
-struct proc_dir_entry* lprocfs_search(struct proc_dir_entry* head, 
-                                      const char* name);
+struct proc_dir_entry* lprocfs_bfs_srch(struct proc_dir_entry* root,
+                                        const char* name);
 
-int lprocfs_link_dir_counters(struct obd_device* device, 
-                              struct proc_dir_entry* this_dev_root, 
-                              lprocfs_group_t* namespace, 
-                              unsigned int cnt_struct_size, 
+struct proc_dir_entry* lprocfs_srch(struct proc_dir_entry* head,
+                                    const char* name);
+
+int lprocfs_link_dir_counters(struct obd_device* device,
+                              struct proc_dir_entry* this_dev_root,
+                              lprocfs_group_t* namespace,
+                              unsigned int cnt_struct_size,
                               unsigned int class_array_index);
 
-int lprocfs_create_dir_namespace(struct proc_dir_entry* this_dev_root, 
-                                 lprocfs_group_t* namespace, 
+int lprocfs_create_dir_namespace(struct proc_dir_entry* this_dev_root,
+                                 lprocfs_group_t* namespace,
                                  unsigned int *num_dirs);
 
-int lprocfs_util_getclass_idx(struct groupspace_index* group, const char* classname);
+int lprocfs_getclass_idx(struct groupspace_index* group,
+                         const char* classname);
 struct proc_dir_entry* lprocfs_mkinitdir(struct obd_device* device);
-int lprocfs_util_get_index(struct namespace_index* class, const char* dir_name);
-unsigned int lprocfs_util_add_var_node(struct obd_device* device, 
-                                       struct proc_dir_entry* root, 
-                                       lprocfs_vars_t* variable, 
-                                       int dir_arr_index, 
-                                       int cnt_arr_index, 
-                                       unsigned int cnt_arr_size, 
-                                       lprocfs_profilers_e type);
+int lprocfs_get_idx(struct namespace_index* class, const char* dir_name);
+unsigned int lprocfs_add_var(struct obd_device* device,
+                             struct proc_dir_entry* root,
+                             lprocfs_vars_t* variable,
+                             int dir_arr_index,
+                             int cnt_arr_index,
+                             unsigned int cnt_arr_size,
+                             lprofilers_e type);
 
 
 void lprocfs_remove_all(struct proc_dir_entry* root);
@@ -622,25 +591,51 @@ void lprocfs_remove_all(struct proc_dir_entry* root);
  * to have a different function only when the variable types are
  * different, for e.g counter types will have one read/write
  * function, while strings will have another.
- * 
+ *
  */
 
-int lprocfs_longlong_read(char* page, char **start, off_t off,
+int lprocfs_ll_rd(char* page, char **start, off_t off,
                 int count, int *eof, void *data);
-int lprocfs_longlong_write(struct file* file, const char *buffer,
+int lprocfs_ll_wr(struct file* file, const char *buffer,
                  unsigned long count, void *data);
 
-int read_other(char* page, char **start, off_t off,
-               int count, int *eof, void *data);
-int write_other(struct file* file, const char *buffer,
-                unsigned long count, void *data);
+int rd_other(char* page, char **start, off_t off,
+             int count, int *eof, void *data);
+int wr_other(struct file* file, const char *buffer,
+             unsigned long count, void *data);
 
-int read_string(char* page, char **start, off_t off,
-                int count, int *eof, void *data);
-int write_string(struct file* file, const char *buffer,
-                 unsigned long count, void *data);
+int rd_string(char* page, char **start, off_t off,
+              int count, int *eof, void *data);
+int wr_string(struct file* file, const char *buffer,
+              unsigned long count, void *data);
+
+int rd_fs_type(char* page, char **start, off_t off,
+              int count, int *eof, void *data);
+
+int rd_uuid(char* page, char **start, off_t off,
+             int count, int *eof, void *data);
+int wr_uuid(struct file* file, const char *buffer,
+             unsigned long count, void *data);
+
+int rd_uuid(char* page, char **start, off_t off,
+             int count, int *eof, void *data);
 
+int rd_blksize(char* page, char **start, off_t off,
+             int count, int *eof, void *data);
+int rd_blktotal(char* page, char **start, off_t off,
+             int count, int *eof, void *data);
+int rd_blkfree(char* page, char **start, off_t off,
+             int count, int *eof, void *data);
+int rd_kbfree(char* page, char **start, off_t off,
+             int count, int *eof, void *data);
 
+int rd_numobjects(char* page, char **start, off_t off,
+             int count, int *eof, void *data);
+int rd_objfree(char* page, char **start, off_t off,
+             int count, int *eof, void *data);
+
+int rd_objgroups(char* page, char **start, off_t off,
+             int count, int *eof, void *data);
 
 
 #else /* LProcFS not compiled */
@@ -649,52 +644,58 @@ int write_string(struct file* file, const char *buffer,
 #define DEV_PROF_END(DEV_CLASS, OBD, PROF_CLASS, ATTRIBUTE) 0
 #define DEV_PRINT_CNTR(DEV_CLASS, OBD, PROF_CLASS, ATTRIBUTE) 0
 
-static inline int lprocfs_get_namespace(char* name,
-                                        lprocfs_obd_namespace_t* collection)
- { 
-         return -1; 
- }
-static inline int lprocfs_register_dev(struct obd_device* device, 
-                                       lprocfs_group_t* namespace, 
-                                       unsigned int cnt_struct_size) 
-{ 
-        return 0; 
+static inline int lprocfs_get_nm(char* name, lprocfs_obd_nm_t* collection)
+{
+        return -1;
 }
-static inline int lprocfs_deregister_dev(struct obd_device* device) 
-{ 
-        return LPROCFS_SUCCESS; 
+
+static inline int lprocfs_reg_dev(struct obd_device* device,
+                                  lprocfs_group_t* namespace,
+                                  unsigned int cnt_struct_size)
+{
+        return 0;
 }
-static inline int lprocfs_register_conn(unsigned int conn_number, 
-                                        struct lprocfs_conn_namespace* namespace) 
-{ 
-        return 0; 
+
+static inline int lprocfs_dereg_dev(struct obd_device* device)
+{
+        return LPROCFS_SUCCESS;
 }
-static inline int lprocfs_deregister_conn(unsigned int conn_number) 
-{ 
-        return 0; 
+
+static inline int lprocfs_reg_conn(unsigned int conn_number,
+                                   struct lprocfs_conn_namespace* nm)
+{
+        return 0;
 }
-static inline int lprocfs_add_export(unsigned int conn_number, 
+
+static inline int lprocfs_dereg_conn(unsigned int conn_number)
+{
+        return 0;
+}
+
+static inline int lprocfs_add_export(unsigned int conn_number,
                                      struct obd_device* device)
-{ 
-        return 0; 
+{
+        return 0;
 }
-static inline int lprocfs_add_import(unsigned int conn_number, 
+
+static inline int lprocfs_add_import(unsigned int conn_number,
                                      struct obd_device* device)
-{ 
-        return 0; 
+{
+        return 0;
 }
-static inline int lprocfs_remove_export(unsigned int conn_number, 
+
+static inline int lprocfs_remove_export(unsigned int conn_number,
                                         struct obd_device* device)
-{ 
-        return 0; 
+{
+        return 0;
 }
-static inline int lprocfs_remove_import(unsigned int conn_number, 
+
+static inline int lprocfs_remove_import(unsigned int conn_number,
                                         struct obd_device* device)
-{ 
-        return 0; 
+{
+        return 0;
 }
 
-
 #endif /* LPROCFS_EXISTS */
 
 #endif /* __LPROCFS_H__ */