}
 }
 
-static inline char *lustre_cfg_string(struct lustre_cfg *lcfg, __u32 index)
-{
-       char *s;
-
-       if (lcfg->lcfg_buflens[index] == 0)
-               return NULL;
-
-       s = lustre_cfg_buf(lcfg, index);
-       if (!s)
-               return NULL;
-
-       /*
-        * make sure it's NULL terminated, even if this kills a char
-        * of data.  Try to use the padding first though.
-        */
-       if (s[lcfg->lcfg_buflens[index] - 1] != '\0') {
-               size_t last = min((size_t)lcfg->lcfg_buflens[index],
-                                 cfs_size_round(lcfg->lcfg_buflens[index]) - 1);
-               char lost = s[last];
-
-               s[last] = '\0';
-               if (lost != '\0') {
-                       CWARN("Truncated buf %d to '%s' (lost '%c'...)\n",
-                             index, s, lost);
-               }
-       }
-       return s;
-}
-
 static inline __u32 lustre_cfg_len(__u32 bufcount, __u32 *buflens)
 {
        __u32 i;
 
                         struct llog_rec_hdr *, void *);
 
 /* obd_config.c */
+char *lustre_cfg_string(struct lustre_cfg *lcfg, u32 index);
 int class_process_config(struct lustre_cfg *lcfg);
 int class_process_proc_param(char *prefix, struct lprocfs_vars *lvars,
                             struct lustre_cfg *lcfg, void *data);
 
 }
 EXPORT_SYMBOL(class_parse_nid_quiet);
 
+char *lustre_cfg_string(struct lustre_cfg *lcfg, u32 index)
+{
+       char *s;
+
+       if (!lcfg->lcfg_buflens[index])
+               return NULL;
+
+       s = lustre_cfg_buf(lcfg, index);
+       if (!s)
+               return NULL;
+
+       /*
+        * make sure it's NULL terminated, even if this kills a char
+        * of data.  Try to use the padding first though.
+        */
+       if (s[lcfg->lcfg_buflens[index] - 1] != '\0') {
+               size_t last = ALIGN(lcfg->lcfg_buflens[index], 8) - 1;
+               char lost;
+
+               /* Use the smaller value */
+               if (last > lcfg->lcfg_buflens[index])
+                       last = lcfg->lcfg_buflens[index];
+
+               lost = s[last];
+               s[last] = '\0';
+               if (lost != '\0') {
+                       CWARN("Truncated buf %d to '%s' (lost '%c'...)\n",
+                             index, s, lost);
+               }
+       }
+       return s;
+}
+EXPORT_SYMBOL(lustre_cfg_string);
+
 /********************** class fns **********************/
 
 /**
 
 #include <linux/key.h>
 
 #include "../include/obd.h"
+#include "../include/obd_class.h"
 #include "../include/obd_support.h"
 #include "../include/lustre_import.h"
 #include "../../include/uapi/linux/lustre/lustre_param.h"