diff --git a/lustre/cmm/cmm_object.c b/lustre/cmm/cmm_object.c
index 88cf0fd95254560ecf893a43b0b7b8b84a5656f5..e6212dc6d6cc3e3bacaee61bdceafef6c8de7cdd 100644
--- a/lustre/cmm/cmm_object.c
+++ b/lustre/cmm/cmm_object.c
@@ -440,7 +440,9 @@ static int cml_create(const struct lu_env *env, struct md_object *mo_p,
                         spec, ma);
 
         EXIT;
+#ifdef HAVE_SPLIT_SUPPORT
 out:
+#endif
         return rc;
 }
 
diff --git a/lustre/include/lustre_net.h b/lustre/include/lustre_net.h
index bbe3c0174bc3052379738113e4e00efbf38a3d43..d5c55532bee943c72b4f3d4e80541d83ce9d4cf9 100644
--- a/lustre/include/lustre_net.h
+++ b/lustre/include/lustre_net.h
@@ -966,6 +966,7 @@ int import_set_conn_priority(struct obd_import *imp, struct obd_uuid *uuid);
 /* ptlrpc/pinger.c */
 int ptlrpc_pinger_add_import(struct obd_import *imp);
 int ptlrpc_pinger_del_import(struct obd_import *imp);
+cfs_time_t ptlrpc_suspend_wakeup_time(void);
 #ifdef __KERNEL__
 void ping_evictor_start(void);
 void ping_evictor_stop(void);
diff --git a/lustre/ldlm/ldlm_lib.c b/lustre/ldlm/ldlm_lib.c
index f6b025ddafb01dfee5d951f2846582415b9d4ca2..d5facc4b8eabaaa06defb80565f719b56a485cce 100644
--- a/lustre/ldlm/ldlm_lib.c
+++ b/lustre/ldlm/ldlm_lib.c
@@ -1046,6 +1046,7 @@ void ptlrpc_free_clone( struct ptlrpc_request *req)
         OBD_FREE_PTR(req);
 }
 
+#ifdef __KERNEL__
 static void target_finish_recovery(struct obd_device *obd)
 {
         ENTRY;
@@ -1094,6 +1095,7 @@ static void abort_lock_replay_queue(struct obd_device *obd)
                 ptlrpc_free_clone(req);
         }
 }
+#endif
 
 /* Called from a cleanup function if the device is being cleaned up
    forcefully.  The exports should all have been disconnected already,
@@ -1178,7 +1180,7 @@ void target_start_recovery_timer(struct obd_device *obd)
 {
         spin_lock_bh(&obd->obd_processing_task_lock);
         if (obd->obd_recovery_handler
-            || timer_pending(&obd->obd_recovery_timer)) {
+            || timer_pending((struct timer_list *)&obd->obd_recovery_timer)) {
                 spin_unlock_bh(&obd->obd_processing_task_lock);
                 return;
         }
diff --git a/lustre/llite/rw26.c b/lustre/llite/rw26.c
index aa4c5d307929a24b3aa2b79844a8a5efd923dcd4..f972a44e6cbb42a40bbeb89ae8a26932a7a7b6fa 100644
--- a/lustre/llite/rw26.c
+++ b/lustre/llite/rw26.c
@@ -77,7 +77,7 @@ static void ll_invalidatepage(struct page *page, unsigned long offset)
                 ll_removepage(page);
 }
 #endif
-static int ll_releasepage(struct page *page, gfp_t gfp_mask)
+static int ll_releasepage(struct page *page, int gfp_mask)
 {
         if (PagePrivate(page))
                 ll_removepage(page);
diff --git a/lustre/obdclass/capa.c b/lustre/obdclass/capa.c
index b47b58beb801580940516690a8ac5325a253cb52..3943d55c3f66b351841febaf2c5e529532a1ae0f 100644
--- a/lustre/obdclass/capa.c
+++ b/lustre/obdclass/capa.c
@@ -56,13 +56,13 @@ cfs_mem_cache_t *capa_cachep = NULL;
 spinlock_t capa_lock = SPIN_LOCK_UNLOCKED;
 
 struct list_head capa_list[CAPA_SITE_MAX];
-#endif
-/* capa count */
-int capa_count[CAPA_SITE_MAX] = { 0, };
 
 static struct capa_hmac_alg capa_hmac_algs[] = {
         DEF_CAPA_HMAC_ALG("sha1", SHA1, 20, 20),
 };
+#endif
+/* capa count */
+int capa_count[CAPA_SITE_MAX] = { 0, };
 
 EXPORT_SYMBOL(capa_cachep);
 EXPORT_SYMBOL(capa_list);
diff --git a/lustre/ptlrpc/pinger.c b/lustre/ptlrpc/pinger.c
index fd5a0007702c5e54cff8d347d8db11b047ab3715..b1995e6c6c30c800cb7364158511c6ed91962541 100644
--- a/lustre/ptlrpc/pinger.c
+++ b/lustre/ptlrpc/pinger.c
@@ -86,7 +86,10 @@ static inline int ptlrpc_next_reconnect(struct obd_import *imp)
 
 static atomic_t suspend_timeouts = ATOMIC_INIT(0);
 static cfs_time_t suspend_wakeup_time = 0;
+
+#ifdef __KERNEL__
 static wait_queue_head_t suspend_timeouts_waitq;
+#endif
 
 cfs_time_t ptlrpc_suspend_wakeup_time(void)
 {
diff --git a/lustre/ptlrpc/sec.c b/lustre/ptlrpc/sec.c
index 5c24c6cc607fef7c9bc863d9706aa40eed5171d8..2aab7495e1491fa72e752de4489b8ec6a94507b3 100644
--- a/lustre/ptlrpc/sec.c
+++ b/lustre/ptlrpc/sec.c
@@ -105,7 +105,9 @@ EXPORT_SYMBOL(sptlrpc_unregister_policy);
 static
 struct ptlrpc_sec_policy * sptlrpc_flavor2policy(ptlrpc_sec_flavor_t flavor)
 {
+#ifdef CONFIG_KMOD
         static DECLARE_MUTEX(load_mutex);
+#endif
         static atomic_t         loaded = ATOMIC_INIT(0);
         struct                  ptlrpc_sec_policy *policy;
         __u32                   number = SEC_FLAVOR_POLICY(flavor), flag = 0;
@@ -113,7 +115,9 @@ struct ptlrpc_sec_policy * sptlrpc_flavor2policy(ptlrpc_sec_flavor_t flavor)
         if (number >= SPTLRPC_POLICY_MAX)
                 return NULL;
 
+#ifdef CONFIG_KMOD
 again:
+#endif
         read_lock(&policy_lock);
         policy = policies[number];
         if (policy && !try_module_get(policy->sp_owner))
diff --git a/lustre/utils/gss/gssd_main_loop.c b/lustre/utils/gss/gssd_main_loop.c
index 435e8612d27cd2835baaf7943a9ab4c27bb9700e..05e0dda83949085e4ea4f029cc6e6ea4ad5261f0 100644
--- a/lustre/utils/gss/gssd_main_loop.c
+++ b/lustre/utils/gss/gssd_main_loop.c
@@ -44,6 +44,10 @@
 #include <fcntl.h>
 #include <signal.h>
 #include <unistd.h>
+/* For time() */
+#include <time.h>
+/* For waitpid() */
+#include <wait.h>
 
 #include "gssd.h"
 #include "err_util.h"
diff --git a/lustre/utils/gss/l_idmap.c b/lustre/utils/gss/l_idmap.c
index eada85c9e75d25fde3b7428ed7f0460a36613aa6..663520b52a1858572ccd292fce6e0d1f5371869f 100644
--- a/lustre/utils/gss/l_idmap.c
+++ b/lustre/utils/gss/l_idmap.c
@@ -1,6 +1,8 @@
 #include <sys/types.h>
 #include <stdlib.h>
 #include <stdio.h>
+/* For basename() */
+#include <libgen.h>
 
 #include "lsupport.h"
 
diff --git a/lustre/utils/gss/svcgssd_main_loop.c b/lustre/utils/gss/svcgssd_main_loop.c
index 3132829efd8d791c7bef26903d15a4ae069cf22c..5300647010d21d59c3e169e449b5fdafca5683c1 100644
--- a/lustre/utils/gss/svcgssd_main_loop.c
+++ b/lustre/utils/gss/svcgssd_main_loop.c
@@ -42,6 +42,8 @@
 #include <fcntl.h>
 #include <errno.h>
 #include <unistd.h>
+/* For nanosleep() */
+#include <time.h>
 
 #include "svcgssd.h"
 #include "err_util.h"
diff --git a/lustre/utils/l_facl.c b/lustre/utils/l_facl.c
index 3d12ec0da3792e45258cc86d3901c82eac624f87..d9eaa2cbb2b3bdb86c5396e5a5611ba5dc0b311e 100644
--- a/lustre/utils/l_facl.c
+++ b/lustre/utils/l_facl.c
@@ -86,7 +86,7 @@ static char *get_lustre_mount(void)
                 if (!mnt)
                         break;
 
-                if (!llapi_is_lustre_mnttype(mnt))
+                if (!llapi_is_lustre_mnttype(mnt->mnt_type))
                         continue;
 
                 /*
diff --git a/lustre/utils/lfs.c b/lustre/utils/lfs.c
index f249ab226d18a9a122e34e93c1c7b852461b0965..44905a068edd934293d0b263f8707e9c94b7dac1 100644
--- a/lustre/utils/lfs.c
+++ b/lustre/utils/lfs.c
@@ -38,6 +38,8 @@
 #include <dirent.h>
 #include <time.h>
 #include <ctype.h>
+/* For dirname() */
+#include <libgen.h>
 
 #include <lnet/api-support.h>
 #include <lnet/lnetctl.h>
@@ -1776,7 +1778,7 @@ static int acl_cmd_parse(int argc, char **argv, char *fname, char *cmd)
                 if (!mnt)
                         break;
 
-                if (!llapi_is_lustre_mnttype(mnt))
+                if (!llapi_is_lustre_mnttype(mnt->mnt_type))
                         continue;
 
                 if (!strncmp(mnt->mnt_dir, path, strlen(mnt->mnt_dir))) {
diff --git a/lustre/utils/mkfs_lustre.c b/lustre/utils/mkfs_lustre.c
index f770da5d2e1e150cc423f4959f6546b8557a54f6..8e7d9723782d7b79a431cf7acce160f717484f61 100644
--- a/lustre/utils/mkfs_lustre.c
+++ b/lustre/utils/mkfs_lustre.c
@@ -686,7 +686,7 @@ int write_local_files(struct mkfs_opts *mop)
         sprintf(filepnm, "%s/%s", mntpt, MOUNT_CONFIGS_DIR);
         ret = mkdir(filepnm, 0777);
         if ((ret != 0) && (errno != EEXIST)) {
-                fprintf(stderr, "%s: Can't make configs dir %s (%d)\n",
+                fprintf(stderr, "%s: Can't make configs dir %s (%s)\n",
                         progname, filepnm, strerror(errno));
                 goto out_umnt;
         } else if (errno == EEXIST) {
@@ -696,7 +696,7 @@ int write_local_files(struct mkfs_opts *mop)
         sprintf(filepnm, "%s/%s", mntpt, "ROOT");
         ret = mkdir(filepnm, 0777);
         if ((ret != 0) && (errno != EEXIST)) {
-                fprintf(stderr, "%s: Can't make ROOT dir %s (%d)\n",
+                fprintf(stderr, "%s: Can't make ROOT dir %s (%s)\n",
                         progname, filepnm, strerror(errno));
                 goto out_umnt;
         } else if (errno == EEXIST) {
@@ -1229,6 +1229,7 @@ int parse_opts(int argc, char *const argv[], struct mkfs_opts *mop,
 
 #define LDISKFS_IOC_GETVERSION _IOR('f', 3, long)
 
+#ifndef TUNEFS /* mkfs.lustre */
 static int mkfs_iam_insert(int key_need_convert, char *keybuf,
                            int rec_need_convert, char *recbuf, char *filename)
 {
@@ -1443,6 +1444,7 @@ out_rmdir:
         rmdir(mntpt);
         return ret;
 }
+#endif
 
 int main(int argc, char *const argv[])
 {
diff --git a/lustre/utils/req-layout.c b/lustre/utils/req-layout.c
index 389d158b12a6eec9c4adce7d7572bdf15e0801f2..cd267e1f513c62334eb360f81b8fb102f4cbfb5a 100644
--- a/lustre/utils/req-layout.c
+++ b/lustre/utils/req-layout.c
@@ -93,7 +93,7 @@ void print_layout(const struct req_format *rf)
 
                         fld = rf->rf_fields[j].d[k];
 
-                        printf("        F%s %i [%03.3i%s %-20.20s (",
+                        printf("        F%s %i [%3.3i%s %-20.20s (",
                                prefix[j], k, offset,
                                variable ? " + ...]" : "]      ",
                                fld->rmf_name);