diff --git a/fs/ceph/debugfs.c b/fs/ceph/debugfs.c
index 9edbad32f1166cef9c3033fc58bf38bddfeca05b..9b2020696680a2fdd7162de983027a1a66399e2a 100644
--- a/fs/ceph/debugfs.c
+++ b/fs/ceph/debugfs.c
@@ -8,6 +8,8 @@
 #include "super.h"
 #include "mds_client.h"
 
+#ifdef CONFIG_DEBUG_FS
+
 /*
  * Implement /sys/kernel/debug/ceph fun
  *
@@ -423,3 +425,24 @@ void ceph_debugfs_client_cleanup(struct ceph_client *client)
 	debugfs_remove(client->debugfs_dir);
 }
 
+#else  // CONFIG_DEBUG_FS
+
+int __init ceph_debugfs_init(void)
+{
+	return 0;
+}
+
+void ceph_debugfs_cleanup(void)
+{
+}
+
+int ceph_debugfs_client_init(struct ceph_client *client)
+{
+	return 0;
+}
+
+void ceph_debugfs_client_cleanup(struct ceph_client *client)
+{
+}
+
+#endif  // CONFIG_DEBUG_FS
diff --git a/fs/ceph/mds_client.h b/fs/ceph/mds_client.h
index f566e9c842958eb42b683a5f158b1e2f590ae5af..0751b821f231e04765c5c3be6de5b3f3f732eee1 100644
--- a/fs/ceph/mds_client.h
+++ b/fs/ceph/mds_client.h
@@ -256,7 +256,9 @@ struct ceph_mds_client {
 	spinlock_t        cap_dirty_lock;   /* protects above items */
 	wait_queue_head_t cap_flushing_wq;
 
+#ifdef CONFIG_DEBUG_FS
 	struct dentry 	  *debugfs_file;
+#endif
 
 	spinlock_t	  dentry_lru_lock;
 	struct list_head  dentry_lru;
diff --git a/fs/ceph/mon_client.h b/fs/ceph/mon_client.h
index 5258c5693b0350f65868f88ad42a91c7b2eddb61..9f6db45bf469dba45e247ced45d0cb881f4bc24f 100644
--- a/fs/ceph/mon_client.h
+++ b/fs/ceph/mon_client.h
@@ -78,7 +78,9 @@ struct ceph_mon_client {
 	int want_next_osdmap; /* 1 = want, 2 = want+asked */
 	u32 have_osdmap, have_mdsmap;
 
+#ifdef CONFIG_DEBUG_FS
 	struct dentry *debugfs_file;
+#endif
 };
 
 extern struct ceph_monmap *ceph_monmap_decode(void *p, void *end);
diff --git a/fs/ceph/osd_client.h b/fs/ceph/osd_client.h
index 9a4addf7d651ef71d0e5f5365d8853979fabf73d..766c8dc80aff9bb213ecd99b4fab1d26241bea2c 100644
--- a/fs/ceph/osd_client.h
+++ b/fs/ceph/osd_client.h
@@ -83,7 +83,9 @@ struct ceph_osd_client {
 	struct rb_root         requests;      /* pending requests */
 	int                    num_requests;
 	struct delayed_work    timeout_work;
+#ifdef CONFIG_DEBUG_FS
 	struct dentry 	       *debugfs_file;
+#endif
 
 	mempool_t              *req_mempool;
 
diff --git a/fs/ceph/super.h b/fs/ceph/super.h
index 06b62c02f5138046dffc130dfa9d266a310daeb1..8aa1ffba6c0d9e7f45021f0cb619e60620dc3c68 100644
--- a/fs/ceph/super.h
+++ b/fs/ceph/super.h
@@ -112,9 +112,11 @@ static inline unsigned long time_sub(unsigned long a, unsigned long b)
  */
 struct ceph_client {
 	__s64 whoami;                   /* my client number */
+#ifdef CONFIG_DEBUG_FS
 	struct dentry *debugfs_monmap;
 	struct dentry *debugfs_mdsmap, *debugfs_osdmap;
 	struct dentry *debugfs_dir, *debugfs_dentry_lru, *debugfs_caps;
+#endif
 
 	struct mutex mount_mutex;       /* serialize mount attempts */
 	struct ceph_mount_args *mount_args;