Whamcloud - gitweb
b=24117 params_tree code for YangtzeI
authorLiuYing <emoly.liu@oracle.com>
Tue, 16 Nov 2010 01:38:14 +0000 (09:38 +0800)
committerVitaly Fertman <vitaly.fertman@sun.com>
Tue, 16 Nov 2010 22:55:53 +0000 (01:55 +0300)
part of params_tree code for YangtzeI
-add safe cfs_{v}snprintf
-move linux proc related stuff to params_tree.h

i=andreas
i=alexg

libcfs/include/libcfs/Makefile.am
libcfs/include/libcfs/libcfs.h
libcfs/include/libcfs/libcfs_string.h
libcfs/include/libcfs/params_tree.h [new file with mode: 0644]
libcfs/libcfs/debug.c
libcfs/libcfs/libcfs_string.c
lustre/include/lprocfs_status.h
lustre/mdd/mdd_lproc.c

index d074151..7cb850b 100644 (file)
@@ -10,4 +10,5 @@ EXTRA_DIST := curproc.h libcfs_private.h libcfs.h list.h lltrace.h \
                libcfs_prim.h libcfs_time.h libcfs_hash.h \
                libcfs_debug.h libcfsutil.h libcfs_ioctl.h \
                libcfs_pack.h libcfs_unpack.h libcfs_string.h \
-               libcfs_kernelcomm.h libcfs_workitem.h
+               libcfs_kernelcomm.h libcfs_workitem.h \
+               params_tree.h
index 74208ac..4a96608 100644 (file)
@@ -308,6 +308,7 @@ void cfs_get_random_bytes(void *buf, int size);
 #include <libcfs/libcfs_kernelcomm.h>
 #include <libcfs/libcfs_workitem.h>
 #include <libcfs/libcfs_hash.h>
+#include <libcfs/params_tree.h>
 
 /* container_of depends on "likely" which is defined in libcfs_private.h */
 static inline void *__container_of(void *ptr, unsigned long shift)
index e1c7d2c..ab03578 100644 (file)
 
 /* libcfs_string.c */
 /* Convert a text string to a bitmask */
-int libcfs_str2mask(const char *str, const char *(*bit2str)(int bit),
-                    int *oldmask, int minmask, int allmask);
+int cfs_str2mask(const char *str, const char *(*bit2str)(int bit),
+                 int *oldmask, int minmask, int allmask);
 
 /* Allocate space for and copy an existing string.
  * Must free with cfs_free().
  */
-char *libcfs_strdup(const char *str, u_int32_t flags);
+char *cfs_strdup(const char *str, u_int32_t flags);
+
+/* safe vsnprintf */
+int cfs_vsnprintf(char *buf, size_t size, const char *fmt, va_list args);
+
+/* safe snprintf */
+int cfs_snprintf(char *buf, size_t size, const char *fmt, ...);
 #endif
diff --git a/libcfs/include/libcfs/params_tree.h b/libcfs/include/libcfs/params_tree.h
new file mode 100644 (file)
index 0000000..d6bf464
--- /dev/null
@@ -0,0 +1,228 @@
+/* -*- 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.
+ *
+ * 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).
+ *
+ * You should have received a copy of the GNU General Public License
+ * version 2 along with this program; If not, see
+ * http://www.sun.com/software/products/lustre/docs/GPLv2.pdf
+ *
+ * Please contact Sun Microsystems, Inc., 4150 Network Circle, Santa Clara,
+ * CA 95054 USA or visit www.sun.com if you need additional information or
+ * have any questions.
+ *
+ * GPL HEADER END
+ */
+/*
+ * Copyright (c) 2009, 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.
+ *
+ * API and structure definitions for params_tree.
+ *
+ * Author: LiuYing <emoly.liu@oracle.com>
+ */
+#ifndef __PARAMS_TREE_H__
+#define __PARAMS_TREE_H__
+
+#ifndef EXPORT_SYMTAB
+# define EXPORT_SYMTAB
+#endif
+
+#include <libcfs/libcfs.h>
+
+#undef LPROCFS
+#if (defined(__KERNEL__) && defined(CONFIG_PROC_FS))
+# define LPROCFS
+#endif
+
+#ifdef LPROCFS
+typedef struct file                             cfs_param_file_t;
+typedef struct inode                            cfs_inode_t;
+typedef struct proc_inode                       cfs_proc_inode_t;
+typedef struct seq_file                         cfs_seq_file_t;
+typedef struct seq_operations                   cfs_seq_ops_t;
+typedef struct file_operations                  cfs_param_file_ops_t;
+typedef cfs_module_t                           *cfs_param_module_t;
+typedef struct proc_dir_entry                   cfs_param_dentry_t;
+typedef struct poll_table_struct                cfs_poll_table_t;
+#define CFS_PARAM_MODULE                        THIS_MODULE
+#define CFS_PDE(value)                          PDE(value)
+#define cfs_file_private(file)                  (file->private_data)
+#define cfs_dentry_data(dentry)                 (dentry->data)
+#define cfs_proc_inode_pde(proc_inode)          (proc_inode->pde)
+#define cfs_proc_inode(proc_inode)              (proc_inode->vfs_inode)
+#define cfs_seq_read_common                     seq_read
+#define cfs_seq_lseek_common                    seq_lseek
+#define cfs_seq_private(seq)                    (seq->private)
+#define cfs_seq_printf(seq, format, ...)        seq_printf(seq, format,  \
+                                                           ## __VA_ARGS__)
+#define cfs_seq_release(inode, file)            seq_release(inode, file)
+#define cfs_seq_puts(seq, s)                    seq_puts(seq, s)
+#define cfs_seq_putc(seq, s)                    seq_putc(seq, s)
+#define cfs_seq_read(file, buf, count, ppos, rc) (rc = seq_read(file, buf, \
+                                                            count, ppos))
+#define cfs_seq_open(file, ops, rc)             (rc = seq_open(file, ops))
+
+/* in lprocfs_stat.c, to protect the private data for proc entries */
+extern cfs_rw_semaphore_t       _lprocfs_lock;
+#define LPROCFS_ENTRY()                 \
+do {                                    \
+        cfs_down_read(&_lprocfs_lock);  \
+} while(0)
+#define LPROCFS_EXIT()                  \
+do {                                    \
+        cfs_up_read(&_lprocfs_lock);    \
+} while(0)
+
+#ifdef HAVE_PROCFS_DELETED
+static inline
+int LPROCFS_ENTRY_AND_CHECK(struct proc_dir_entry *dp)
+{
+        LPROCFS_ENTRY();
+        if ((dp)->deleted) {
+                LPROCFS_EXIT();
+                return -ENODEV;
+        }
+        return 0;
+}
+#else /* !HAVE_PROCFS_DELETED*/
+static inline
+int LPROCFS_ENTRY_AND_CHECK(struct proc_dir_entry *dp)
+{
+        LPROCFS_ENTRY();
+        return 0;
+}
+#endif /* HAVE_PROCFS_DELETED */
+
+#define LPROCFS_WRITE_ENTRY()           \
+do {                                    \
+        cfs_down_write(&_lprocfs_lock); \
+} while(0)
+#define LPROCFS_WRITE_EXIT()            \
+do {                                    \
+        cfs_up_write(&_lprocfs_lock);   \
+} while(0)
+
+#else /* !LPROCFS */
+
+typedef struct cfs_params_file {
+        void           *param_private;
+        loff_t          param_pos;
+        unsigned int    param_flags;
+} cfs_param_file_t;
+
+typedef struct cfs_param_inode {
+        void    *param_private;
+} cfs_inode_t;
+
+typedef struct cfs_param_dentry {
+        void *param_data;
+} cfs_param_dentry_t;
+
+typedef struct cfs_proc_inode {
+        cfs_param_dentry_t *param_pde;
+        cfs_inode_t         param_inode;
+} cfs_proc_inode_t;
+
+struct cfs_seq_operations;
+typedef struct cfs_seq_file {
+        char                      *buf;
+        size_t                     size;
+        size_t                     from;
+        size_t                     count;
+        loff_t                     index;
+        loff_t                     version;
+        cfs_mutex_t                lock;
+        struct cfs_seq_operations *op;
+        void                      *private;
+} cfs_seq_file_t;
+
+typedef struct cfs_seq_operations {
+        void *(*start) (cfs_seq_file_t *m, loff_t *pos);
+        void  (*stop) (cfs_seq_file_t *m, void *v);
+        void *(*next) (cfs_seq_file_t *m, void *v, loff_t *pos);
+        int   (*show) (cfs_seq_file_t *m, void *v);
+} cfs_seq_ops_t;
+
+typedef void *cfs_param_module_t;
+typedef void *cfs_poll_table_t;
+
+typedef struct cfs_param_file_ops {
+        cfs_param_module_t owner;
+        int (*open) (cfs_inode_t *, cfs_file_t *);
+        loff_t (*llseek)(cfs_file_t *, loff_t, int);
+        int (*release) (cfs_inode_t *, cfs_param_file_t *);
+        unsigned int (*poll) (cfs_file_t *, cfs_poll_table_t *);
+        ssize_t (*write) (cfs_file_t *, const char *, size_t, loff_t *);
+        ssize_t (*read)(cfs_file_t *, char *, size_t, loff_t *);
+} cfs_param_file_ops_t;
+typedef cfs_param_file_ops_t *cfs_lproc_filep_t;
+
+static inline cfs_proc_inode_t *FAKE_PROC_I(const cfs_inode_t *inode)
+{
+        return container_of(inode, cfs_proc_inode_t, param_inode);
+}
+
+static inline cfs_param_dentry_t *FAKE_PDE(cfs_inode_t *inode)
+{
+        return FAKE_PROC_I(inode)->param_pde;
+}
+
+#define CFS_PARAM_MODULE                        NULL
+#define CFS_PDE(value)                          FAKE_PDE(value)
+#define cfs_file_private(file)                  (file->param_private)
+#define cfs_dentry_data(dentry)                 (dentry->param_data)
+#define cfs_proc_inode(proc_inode)              (proc_inode->param_inode)
+#define cfs_proc_inode_pde(proc_inode)          (proc_inode->param_pde)
+#define cfs_seq_read_common                     NULL
+#define cfs_seq_lseek_common                    NULL
+#define cfs_seq_private(seq)                    (seq->private)
+#define cfs_seq_read(file, buf, count, ppos, rc) do {} while(0)
+#define cfs_seq_open(file, ops, rc)                     \
+do {                                                    \
+         cfs_seq_file_t *p = cfs_file_private(file);    \
+         if (!p) {                                      \
+                LIBCFS_ALLOC(p, sizeof(*p));            \
+                if (!p) {                               \
+                        rc = -ENOMEM;                   \
+                        break;                          \
+                }                                       \
+                cfs_file_private(file) = p;             \
+        }                                               \
+        memset(p, 0, sizeof(*p));                       \
+        p->op = ops;                                    \
+        rc = 0;                                         \
+} while(0)
+
+#define LPROCFS_ENTRY()             do {} while(0)
+#define LPROCFS_EXIT()              do {} while(0)
+static inline
+int LPROCFS_ENTRY_AND_CHECK(cfs_param_dentry_t *dp)
+{
+        LPROCFS_ENTRY();
+        return 0;
+}
+#define LPROCFS_WRITE_ENTRY()       do {} while(0)
+#define LPROCFS_WRITE_EXIT()        do {} while(0)
+
+#endif /* LPROCFS */
+
+/* XXX: params_tree APIs */
+
+#endif  /* __PARAMS_TREE_H__ */
index be2db8e..de6e0da 100644 (file)
@@ -322,8 +322,8 @@ libcfs_debug_str2mask(int *mask, const char *str, int is_subsys)
                 return 0;
         }
 
-        return libcfs_str2mask(str, fn, mask, is_subsys ? 0 : D_CANTMASK,
-                               0xffffffff);
+        return cfs_str2mask(str, fn, mask, is_subsys ? 0 : D_CANTMASK,
+                            0xffffffff);
 }
 
 /**
index c423e47..2f76682 100644 (file)
@@ -47,7 +47,7 @@
 #include <libcfs/libcfs.h>
 
 /* non-0 = don't match */
-static int libcfs_strncasecmp(const char *s1, const char *s2, size_t n)
+static int cfs_strncasecmp(const char *s1, const char *s2, size_t n)
 {
         if (s1 == NULL || s2 == NULL)
                 return 1;
@@ -66,8 +66,8 @@ static int libcfs_strncasecmp(const char *s1, const char *s2, size_t n)
 }
 
 /* Convert a text string to a bitmask */
-int libcfs_str2mask(const char *str, const char *(*bit2str)(int bit),
-                    int *oldmask, int minmask, int allmask)
+int cfs_str2mask(const char *str, const char *(*bit2str)(int bit),
+                 int *oldmask, int minmask, int allmask)
 {
         char op = 0;
         int newmask = minmask, i, len, found = 0;
@@ -101,7 +101,7 @@ int libcfs_str2mask(const char *str, const char *(*bit2str)(int bit),
                 /* match token */
                 found = 0;
                 for (i = 0; i < 32; i++) {
-                        if (libcfs_strncasecmp(str, bit2str(i), len) == 0) {
+                        if (cfs_strncasecmp(str, bit2str(i), len) == 0) {
                                 if (op == '-')
                                         newmask &= ~(1 << i);
                                 else
@@ -110,7 +110,7 @@ int libcfs_str2mask(const char *str, const char *(*bit2str)(int bit),
                                 break;
                         }
                 }
-                if (!found && (libcfs_strncasecmp(str, "ALL", len) == 0)) {
+                if (!found && (cfs_strncasecmp(str, "ALL", len) == 0)) {
                         if (op == '-')
                                 newmask = minmask;
                         else
@@ -128,9 +128,10 @@ int libcfs_str2mask(const char *str, const char *(*bit2str)(int bit),
         *oldmask = newmask;
         return 0;
 }
+EXPORT_SYMBOL(cfs_str2mask);
 
 /* Duplicate a string in a platform-independent way */
-char *libcfs_strdup(const char *str, u_int32_t flags)
+char *cfs_strdup(const char *str, u_int32_t flags)
 {
         size_t lenz; /* length of str + zero byte */
         char *dup_str;
@@ -145,6 +146,34 @@ char *libcfs_strdup(const char *str, u_int32_t flags)
 
         return dup_str;
 }
+EXPORT_SYMBOL(cfs_strdup);
 
-EXPORT_SYMBOL(libcfs_str2mask);
-EXPORT_SYMBOL(libcfs_strdup);
+/**
+ * cfs_{v}snprintf() return the actual size that is printed rather than
+ * the size that would be printed in standard functions.
+ */
+/* safe vsnprintf */
+int cfs_vsnprintf(char *buf, size_t size, const char *fmt, va_list args)
+{
+        int i;
+
+        LASSERT(size > 0);
+        i = vsnprintf(buf, size, fmt, args);
+
+        return  (i >= size ? size - 1 : i);
+}
+EXPORT_SYMBOL(cfs_vsnprintf);
+
+/* safe snprintf */
+int cfs_snprintf(char *buf, size_t size, const char *fmt, ...)
+{
+        va_list args;
+        int i;
+
+        va_start(args, fmt);
+        i = cfs_vsnprintf(buf, size, fmt, args);
+        va_end(args);
+
+        return  i;
+}
+EXPORT_SYMBOL(cfs_snprintf);
index bebcbf5..f1af794 100644 (file)
 #error Unsupported operating system.
 #endif
 #include <lustre/lustre_idl.h>
-
-#undef LPROCFS
-#if (defined(__KERNEL__) && defined(CONFIG_PROC_FS))
-# define LPROCFS
-#endif
+#include <libcfs/params_tree.h>
 
 struct lprocfs_vars {
-        const char   *name;
-        cfs_read_proc_t *read_fptr;
-        cfs_write_proc_t *write_fptr;
-        void *data;
+        const char             *name;
+        cfs_read_proc_t        *read_fptr;
+        cfs_write_proc_t       *write_fptr;
+        void                   *data;
         struct file_operations *fops;
         /**
          * /proc file mode.
          */
-        mode_t proc_mode;
+        mode_t                  proc_mode;
 };
 
 struct lprocfs_static_vars {
@@ -78,8 +74,8 @@ struct lprocfs_static_vars {
 /* if we find more consumers this could be generalized */
 #define OBD_HIST_MAX 32
 struct obd_histogram {
-        cfs_spinlock_t      oh_lock;
-        unsigned long   oh_buckets[OBD_HIST_MAX];
+        cfs_spinlock_t oh_lock;
+        unsigned long  oh_buckets[OBD_HIST_MAX];
 };
 
 enum {
@@ -323,7 +319,6 @@ enum {
 extern cfs_proc_dir_entry_t *proc_lustre_root;
 
 struct obd_device;
-struct file;
 struct obd_histogram;
 
 /* Days / hours / mins / seconds format */
@@ -422,8 +417,8 @@ static inline __u64 lprocfs_stats_collector(struct lprocfs_stats *stats,
         return ret;
 }
 
-extern struct lprocfs_stats *lprocfs_alloc_stats(unsigned int num,
-                                                 enum lprocfs_stats_flags flags);
+extern struct lprocfs_stats *
+lprocfs_alloc_stats(unsigned int num, enum lprocfs_stats_flags flags);
 extern void lprocfs_clear_stats(struct lprocfs_stats *stats);
 extern void lprocfs_free_stats(struct lprocfs_stats **stats);
 extern void lprocfs_init_ops_stats(int num_private_stats,
@@ -453,11 +448,13 @@ extern cfs_proc_dir_entry_t *lprocfs_add_simple(struct proc_dir_entry *root,
                                                 cfs_write_proc_t *write_proc,
                                                 void *data,
                                                 struct file_operations *fops);
-extern struct proc_dir_entry *lprocfs_add_symlink(const char *name,
-                        struct proc_dir_entry *parent, const char *format, ...);
+extern struct proc_dir_entry *
+lprocfs_add_symlink(const char *name, struct proc_dir_entry *parent,
+                    const char *format, ...);
 extern void lprocfs_free_per_client_stats(struct obd_device *obd);
-extern int lprocfs_nid_stats_clear_write(struct file *file, const char *buffer,
-                                         unsigned long count, void *data);
+extern int
+lprocfs_nid_stats_clear_write(struct file *file, const char *buffer,
+                              unsigned long count, void *data);
 extern int lprocfs_nid_stats_clear_read(char *page, char **start, off_t off,
                                         int count, int *eof,  void *data);
 
@@ -470,16 +467,16 @@ extern int lprocfs_add_vars(cfs_proc_dir_entry_t *root,
                             void *data);
 
 extern cfs_proc_dir_entry_t *lprocfs_register(const char *name,
-                                               cfs_proc_dir_entry_t *parent,
-                                               struct lprocfs_vars *list,
-                                               void *data);
+                                              cfs_proc_dir_entry_t *parent,
+                                              struct lprocfs_vars *list,
+                                              void *data);
 
 extern void lprocfs_remove(cfs_proc_dir_entry_t **root);
 extern void lprocfs_remove_proc_entry(const char *name,
                                       struct proc_dir_entry *parent);
 
 extern cfs_proc_dir_entry_t *lprocfs_srch(cfs_proc_dir_entry_t *root,
-                                           const char *name);
+                                          const char *name);
 
 extern int lprocfs_obd_setup(struct obd_device *obd, struct lprocfs_vars *list);
 extern int lprocfs_obd_cleanup(struct obd_device *obd);
@@ -561,7 +558,8 @@ extern int lprocfs_read_frac_helper(char *buffer, unsigned long count,
                                     long val, int mult);
 extern int lprocfs_write_u64_helper(const char *buffer, unsigned long count,
                                     __u64 *val);
-extern int lprocfs_write_frac_u64_helper(const char *buffer, unsigned long count,
+extern int lprocfs_write_frac_u64_helper(const char *buffer,
+                                         unsigned long count,
                                          __u64 *val, int mult);
 void lprocfs_oh_tally(struct obd_histogram *oh, unsigned int value);
 void lprocfs_oh_tally_log2(struct obd_histogram *oh, unsigned int value);
@@ -571,7 +569,6 @@ unsigned long lprocfs_oh_sum(struct obd_histogram *oh);
 void lprocfs_stats_collect(struct lprocfs_stats *stats, int idx,
                            struct lprocfs_counter *cnt);
 
-
 /* lprocfs_status.c: recovery status */
 int lprocfs_obd_rd_recovery_status(char *page, char **start, off_t off,
                                    int count, int *eof, void *data);
@@ -580,44 +577,7 @@ int lprocfs_obd_rd_recovery_status(char *page, char **start, off_t off,
 int lprocfs_obd_rd_hash(char *page, char **start, off_t off,
                         int count, int *eof, void *data);
 
-extern int lprocfs_seq_release(struct inode *, struct file *);
-
-/* in lprocfs_stat.c, to protect the private data for proc entries */
-extern cfs_rw_semaphore_t _lprocfs_lock;
-#define LPROCFS_ENTRY()           do {  \
-        cfs_down_read(&_lprocfs_lock);  \
-} while(0)
-#define LPROCFS_EXIT()            do {  \
-        cfs_up_read(&_lprocfs_lock);    \
-} while(0)
-
-#ifdef HAVE_PROCFS_DELETED
-static inline
-int LPROCFS_ENTRY_AND_CHECK(struct proc_dir_entry *dp)
-{
-        LPROCFS_ENTRY();
-        if ((dp)->deleted) {
-                LPROCFS_EXIT();
-                return -ENODEV;
-        }
-        return 0;
-}
-#else
-static inline
-int LPROCFS_ENTRY_AND_CHECK(struct proc_dir_entry *dp)
-{
-        LPROCFS_ENTRY();
-        return 0;
-}
-#endif
-
-#define LPROCFS_WRITE_ENTRY()     do {  \
-        cfs_down_write(&_lprocfs_lock); \
-} while(0)
-#define LPROCFS_WRITE_EXIT()      do {  \
-        cfs_up_write(&_lprocfs_lock);   \
-} while(0)
-
+extern int lprocfs_seq_release(cfs_inode_t *, struct file *);
 
 /* You must use these macros when you want to refer to
  * the import in a client obd_device for a lprocfs entry */
@@ -638,7 +598,7 @@ int LPROCFS_ENTRY_AND_CHECK(struct proc_dir_entry *dp)
   a read-write proc entry, and then call LPROC_SEQ_SEQ instead. Finally,
   call lprocfs_obd_seq_create(obd, filename, 0444, &name#_fops, data); */
 #define __LPROC_SEQ_FOPS(name, custom_seq_write)                           \
-static int name##_seq_open(struct inode *inode, struct file *file) {       \
+static int name##_seq_open(cfs_inode_t *inode, struct file *file) {        \
         struct proc_dir_entry *dp = PDE(inode);                            \
         int rc;                                                            \
         LPROCFS_ENTRY_AND_CHECK(dp);                                       \
@@ -668,28 +628,34 @@ extern void target_print_req(void *seq_file, struct ptlrpc_request *req);
 /* lproc_status.c */
 int lprocfs_obd_rd_recovery_time_soft(char *page, char **start, off_t off,
                                       int count, int *eof, void *data);
-int lprocfs_obd_wr_recovery_time_soft(struct file *file, const char *buffer,
+int lprocfs_obd_wr_recovery_time_soft(struct file *file,
+                                      const char *buffer,
                                       unsigned long count, void *data);
 int lprocfs_obd_rd_recovery_time_hard(char *page, char **start, off_t off,
                                       int count, int *eof, void *data);
-int lprocfs_obd_wr_recovery_time_hard(struct file *file, const char *buffer,
+int lprocfs_obd_wr_recovery_time_hard(struct file *file,
+                                      const char *buffer,
                                       unsigned long count, void *data);
 int lprocfs_obd_rd_mntdev(char *page, char **start, off_t off,
                           int count, int *eof, void *data);
 /* all quota proc functions */
-extern int lprocfs_quota_rd_bunit(char *page, char **start, off_t off, int count,
+extern int lprocfs_quota_rd_bunit(char *page, char **start,
+                                  off_t off, int count,
                                   int *eof, void *data);
 extern int lprocfs_quota_wr_bunit(struct file *file, const char *buffer,
                                   unsigned long count, void *data);
-extern int lprocfs_quota_rd_btune(char *page, char **start, off_t off, int count,
+extern int lprocfs_quota_rd_btune(char *page, char **start,
+                                  off_t off, int count,
                                   int *eof, void *data);
 extern int lprocfs_quota_wr_btune(struct file *file, const char *buffer,
                                   unsigned long count, void *data);
-extern int lprocfs_quota_rd_iunit(char *page, char **start, off_t off, int count,
+extern int lprocfs_quota_rd_iunit(char *page, char **start,
+                                  off_t off, int count,
                                   int *eof, void *data);
 extern int lprocfs_quota_wr_iunit(struct file *file, const char *buffer,
                                   unsigned long count, void *data);
-extern int lprocfs_quota_rd_itune(char *page, char **start, off_t off, int count,
+extern int lprocfs_quota_rd_itune(char *page, char **start,
+                                  off_t off, int count,
                                   int *eof, void *data);
 extern int lprocfs_quota_wr_itune(struct file *file, const char *buffer,
                                   unsigned long count, void *data);
@@ -699,7 +665,8 @@ extern int lprocfs_quota_wr_type(struct file *file, const char *buffer,
                                  unsigned long count, void *data);
 extern int lprocfs_quota_rd_switch_seconds(char *page, char **start, off_t off,
                                            int count, int *eof, void *data);
-extern int lprocfs_quota_wr_switch_seconds(struct file *file, const char *buffer,
+extern int lprocfs_quota_wr_switch_seconds(struct file *file,
+                                           const char *buffer,
                                            unsigned long count, void *data);
 extern int lprocfs_quota_rd_sync_blk(char *page, char **start, off_t off,
                                      int count, int *eof, void *data);
@@ -707,23 +674,28 @@ extern int lprocfs_quota_wr_sync_blk(struct file *file, const char *buffer,
                                      unsigned long count, void *data);
 extern int lprocfs_quota_rd_switch_qs(char *page, char **start, off_t off,
                                       int count, int *eof, void *data);
-extern int lprocfs_quota_wr_switch_qs(struct file *file, const char *buffer,
+extern int lprocfs_quota_wr_switch_qs(struct file *file,
+                                      const char *buffer,
                                       unsigned long count, void *data);
 extern int lprocfs_quota_rd_boundary_factor(char *page, char **start, off_t off,
                                             int count, int *eof, void *data);
-extern int lprocfs_quota_wr_boundary_factor(struct file *file, const char *buffer,
+extern int lprocfs_quota_wr_boundary_factor(struct file *file,
+                                            const char *buffer,
                                             unsigned long count, void *data);
 extern int lprocfs_quota_rd_least_bunit(char *page, char **start, off_t off,
                                         int count, int *eof, void *data);
-extern int lprocfs_quota_wr_least_bunit(struct file *file, const char *buffer,
+extern int lprocfs_quota_wr_least_bunit(struct file *file,
+                                        const char *buffer,
                                         unsigned long count, void *data);
 extern int lprocfs_quota_rd_least_iunit(char *page, char **start, off_t off,
                                         int count, int *eof, void *data);
-extern int lprocfs_quota_wr_least_iunit(struct file *file, const char *buffer,
+extern int lprocfs_quota_wr_least_iunit(struct file *file,
+                                        const char *buffer,
                                         unsigned long count, void *data);
 extern int lprocfs_quota_rd_qs_factor(char *page, char **start, off_t off,
                                       int count, int *eof, void *data);
-extern int lprocfs_quota_wr_qs_factor(struct file *file, const char *buffer,
+extern int lprocfs_quota_wr_qs_factor(struct file *file,
+                                      const char *buffer,
                                       unsigned long count, void *data);
 
 
@@ -734,13 +706,17 @@ extern int lprocfs_quota_wr_qs_factor(struct file *file, const char *buffer,
 
 
 static inline void lprocfs_counter_add(struct lprocfs_stats *stats,
-                                       int index, long amount) { return; }
+                                       int index, long amount)
+{ return; }
 static inline void lprocfs_counter_incr(struct lprocfs_stats *stats,
-                                        int index) { return; }
+                                        int index)
+{ return; }
 static inline void lprocfs_counter_decr(struct lprocfs_stats *stats,
-                                        int index) { return; }
+                                        int index)
+{ return; }
 static inline void lprocfs_counter_sub(struct lprocfs_stats *stats,
-                                       int index, long amount) { return; }
+                                       int index, long amount)
+{ return; }
 static inline void lprocfs_counter_init(struct lprocfs_stats *stats,
                                         int index, unsigned conf,
                                         const char *name, const char *units)
@@ -750,16 +726,16 @@ static inline __u64 lc_read_helper(struct lprocfs_counter *lc,
                                    enum lprocfs_fields_flags field)
 { return 0; }
 
-static inline struct lprocfs_stats* lprocfs_alloc_stats(unsigned int num,
-                                                        enum lprocfs_stats_flags flags)
+static inline struct lprocfs_stats *
+lprocfs_alloc_stats(unsigned int num, enum lprocfs_stats_flags flags)
 { return NULL; }
 static inline void lprocfs_clear_stats(struct lprocfs_stats *stats)
 { return; }
 static inline void lprocfs_free_stats(struct lprocfs_stats **stats)
 { return; }
 static inline int lprocfs_register_stats(cfs_proc_dir_entry_t *root,
-                                            const char *name,
-                                            struct lprocfs_stats *stats)
+                                         const char *name,
+                                         struct lprocfs_stats *stats)
 { return 0; }
 static inline void lprocfs_init_ops_stats(int num_private_stats,
                                           struct lprocfs_stats *stats)
@@ -788,18 +764,17 @@ static inline int lprocfs_exp_setup(struct obd_export *exp,lnet_nid_t *peer_nid,
 { return 0; }
 static inline int lprocfs_exp_cleanup(struct obd_export *exp)
 { return 0; }
-static inline cfs_proc_dir_entry_t *lprocfs_add_simple(struct proc_dir_entry *root,
-                                     char *name,
-                                     cfs_read_proc_t *read_proc,
-                                     cfs_write_proc_t *write_proc,
-                                     void *data,
-                                     struct file_operations *fops)
+static inline cfs_proc_dir_entry_t *
+lprocfs_add_simple(struct proc_dir_entry *root, char *name,
+                   cfs_read_proc_t *read_proc, cfs_write_proc_t *write_proc,
+                   void *data, struct file_operations *fops)
 {return 0; }
-static inline struct proc_dir_entry *lprocfs_add_symlink(const char *name,
-                        struct proc_dir_entry *parent, const char *format, ...)
+static inline struct proc_dir_entry *
+lprocfs_add_symlink(const char *name, struct proc_dir_entry *parent,
+                    const char *format, ...)
 {return NULL; }
 static inline void lprocfs_free_per_client_stats(struct obd_device *obd)
-{}
+{ return; }
 static inline
 int lprocfs_nid_stats_clear_write(struct file *file, const char *buffer,
                                   unsigned long count, void *data)
@@ -811,24 +786,34 @@ int lprocfs_nid_stats_clear_read(char *page, char **start, off_t off,
 
 static inline cfs_proc_dir_entry_t *
 lprocfs_register(const char *name, cfs_proc_dir_entry_t *parent,
-                 struct lprocfs_vars *list, void *data) { return NULL; }
+                 struct lprocfs_vars *list, void *data)
+{ return NULL; }
 static inline int lprocfs_add_vars(cfs_proc_dir_entry_t *root,
                                    struct lprocfs_vars *var,
-                                   void *data) { return 0; }
-static inline void lprocfs_remove(cfs_proc_dir_entry_t **root) {};
+                                   void *data)
+{ return 0; }
+static inline void lprocfs_remove(cfs_proc_dir_entry_t **root)
+{ return; }
 static inline void lprocfs_remove_proc_entry(const char *name,
-                                             struct proc_dir_entry *parent) {};
+                                             struct proc_dir_entry *parent)
+{ return; }
 static inline cfs_proc_dir_entry_t *lprocfs_srch(cfs_proc_dir_entry_t *head,
-                                    const char *name) {return 0;}
+                                                 const char *name)
+{ return 0; }
 static inline int lprocfs_obd_setup(struct obd_device *dev,
-                                    struct lprocfs_vars *list) { return 0; }
-static inline int lprocfs_obd_cleanup(struct obd_device *dev)  { return 0; }
+                                    struct lprocfs_vars *list)
+{ return 0; }
+static inline int lprocfs_obd_cleanup(struct obd_device *dev)
+{ return 0; }
 static inline int lprocfs_rd_u64(char *page, char **start, off_t off,
-                                 int count, int *eof, void *data) { return 0; }
+                                 int count, int *eof, void *data)
+{ return 0; }
 static inline int lprocfs_rd_uuid(char *page, char **start, off_t off,
-                                  int count, int *eof, void *data) { return 0; }
+                                  int count, int *eof, void *data)
+{ return 0; }
 static inline int lprocfs_rd_name(char *page, char **start, off_t off,
-                                  int count, int *eof, void *data) { return 0; }
+                                  int count, int *eof, void *data)
+{ return 0; }
 static inline int lprocfs_rd_server_uuid(char *page, char **start, off_t off,
                                          int count, int *eof, void *data)
 { return 0; }
@@ -857,10 +842,12 @@ static inline int lprocfs_at_hist_helper(char *page, int count, int rc,
 static inline int lprocfs_rd_timeouts(char *page, char **start, off_t off,
                                       int count, int *eof, void *data)
 { return 0; }
-static inline int lprocfs_wr_timeouts(struct file *file, const char *buffer,
+static inline int lprocfs_wr_timeouts(struct file *file,
+                                      const char *buffer,
                                       unsigned long count, void *data)
 { return 0; }
-static inline int lprocfs_wr_evict_client(struct file *file, const char *buffer,
+static inline int lprocfs_wr_evict_client(struct file *file,
+                                          const char *buffer,
                                           unsigned long count, void *data)
 { return 0; }
 static inline int lprocfs_wr_ping(struct file *file, const char *buffer,
@@ -871,45 +858,53 @@ static inline int lprocfs_wr_ping(struct file *file, const char *buffer,
 /* Statfs helpers */
 static inline
 int lprocfs_rd_blksize(char *page, char **start, off_t off,
-                       int count, int *eof, void *data) { return 0; }
+                       int count, int *eof, void *data)
+{ return 0; }
 static inline
 int lprocfs_rd_kbytestotal(char *page, char **start, off_t off,
-                           int count, int *eof, void *data) { return 0; }
+                           int count, int *eof, void *data)
+{ return 0; }
 static inline
 int lprocfs_rd_kbytesfree(char *page, char **start, off_t off,
-                          int count, int *eof, void *data) { return 0; }
+                          int count, int *eof, void *data)
+{ return 0; }
 static inline
 int lprocfs_rd_kbytesavail(char *page, char **start, off_t off,
-                           int count, int *eof, void *data) { return 0; }
+                           int count, int *eof, void *data)
+{ return 0; }
 static inline
 int lprocfs_rd_filestotal(char *page, char **start, off_t off,
-                          int count, int *eof, void *data) { return 0; }
+                          int count, int *eof, void *data)
+{ return 0; }
 static inline
 int lprocfs_rd_filesfree(char *page, char **start, off_t off,
-                         int count, int *eof, void *data)  { return 0; }
+                         int count, int *eof, void *data)
+{ return 0; }
 static inline
 int lprocfs_rd_filegroups(char *page, char **start, off_t off,
-                          int count, int *eof, void *data) { return 0; }
+                          int count, int *eof, void *data)
+{ return 0; }
 static inline
-void lprocfs_oh_tally(struct obd_histogram *oh, unsigned int value) {}
+void lprocfs_oh_tally(struct obd_histogram *oh, unsigned int value)
+{ return; }
 static inline
-void lprocfs_oh_tally_log2(struct obd_histogram *oh, unsigned int value) {}
+void lprocfs_oh_tally_log2(struct obd_histogram *oh, unsigned int value)
+{ return; }
 static inline
-void lprocfs_oh_clear(struct obd_histogram *oh) {}
+void lprocfs_oh_clear(struct obd_histogram *oh)
+{ return; }
 static inline
-unsigned long lprocfs_oh_sum(struct obd_histogram *oh) { return 0; }
+unsigned long lprocfs_oh_sum(struct obd_histogram *oh)
+{ return 0; }
 static inline
 void lprocfs_stats_collect(struct lprocfs_stats *stats, int idx,
-                           struct lprocfs_counter *cnt) {}
-
+                           struct lprocfs_counter *cnt)
+{ return; }
 static inline
 __u64 lprocfs_stats_collector(struct lprocfs_stats *stats, int idx,
                                enum lprocfs_fields_flags field)
 { return (__u64)0; }
 
-#define LPROCFS_ENTRY()
-#define LPROCFS_EXIT()
-#define LPROCFS_ENTRY_AND_CHECK(dp)
 #define LPROC_SEQ_FOPS_RO(name)
 #define LPROC_SEQ_FOPS(name)
 
index e8f58a9..c15696c 100644 (file)
@@ -188,8 +188,8 @@ static int lprocfs_wr_changelog_mask(struct file *file, const char *buffer,
                 GOTO(out, rc = -EFAULT);
         kernbuf[count] = 0;
 
-        rc = libcfs_str2mask(kernbuf, changelog_type2str, &mdd->mdd_cl.mc_mask,
-                             CHANGELOG_MINMASK, CHANGELOG_ALLMASK);
+        rc = cfs_str2mask(kernbuf, changelog_type2str, &mdd->mdd_cl.mc_mask,
+                          CHANGELOG_MINMASK, CHANGELOG_ALLMASK);
         if (rc == 0)
                 rc = count;
 out: