If you need to mount to Samba, Azure, Macs or Windows from this machine, say Y.
 
-config CIFS_STATS
-        bool "CIFS statistics"
-        depends on CIFS
-        help
-          Enabling this option will cause statistics for each server share
-         mounted by the cifs client to be displayed in /proc/fs/cifs/Stats
-
 config CIFS_STATS2
        bool "Extended statistics"
-       depends on CIFS_STATS
+       depends on CIFS
        help
          Enabling this option will allow more detailed statistics on SMB
          request timing to be displayed in /proc/fs/cifs/DebugData and also
 
        return 0;
 }
 
-#ifdef CONFIG_CIFS_STATS
 static ssize_t cifs_stats_proc_write(struct file *file,
                const char __user *buffer, size_t count, loff_t *ppos)
 {
        .release        = single_release,
        .write          = cifs_stats_proc_write,
 };
-#endif /* STATS */
 
 #ifdef CONFIG_CIFS_SMB_DIRECT
 #define PROC_FILE_DEFINE(name) \
        proc_create_single("DebugData", 0, proc_fs_cifs,
                        cifs_debug_data_proc_show);
 
-#ifdef CONFIG_CIFS_STATS
        proc_create("Stats", 0644, proc_fs_cifs, &cifs_stats_proc_fops);
-#endif /* STATS */
        proc_create("cifsFYI", 0644, proc_fs_cifs, &cifsFYI_proc_fops);
        proc_create("traceSMB", 0644, proc_fs_cifs, &traceSMB_proc_fops);
        proc_create("LinuxExtensionsEnabled", 0644, proc_fs_cifs,
        remove_proc_entry("DebugData", proc_fs_cifs);
        remove_proc_entry("cifsFYI", proc_fs_cifs);
        remove_proc_entry("traceSMB", proc_fs_cifs);
-#ifdef CONFIG_CIFS_STATS
        remove_proc_entry("Stats", proc_fs_cifs);
-#endif
        remove_proc_entry("SecurityFlags", proc_fs_cifs);
        remove_proc_entry("LinuxExtensionsEnabled", proc_fs_cifs);
        remove_proc_entry("LookupCacheEnabled", proc_fs_cifs);
 
        __u32 tid;              /* The 4 byte tree id */
        __u16 Flags;            /* optional support bits */
        enum statusEnum tidStatus;
-#ifdef CONFIG_CIFS_STATS
        atomic_t num_smbs_sent;
        union {
                struct {
        __u64    bytes_read;
        __u64    bytes_written;
        spinlock_t stat_lock;  /* protects the two fields above */
-#endif /* CONFIG_CIFS_STATS */
        FILE_SYSTEM_DEVICE_INFO fsDevInfo;
        FILE_SYSTEM_ATTRIBUTE_INFO fsAttrInfo; /* ok if fs name truncated */
        FILE_SYSTEM_UNIX_INFO fsUnixInfo;
                *pos = delim;
 }
 
-#ifdef CONFIG_CIFS_STATS
 #define cifs_stats_inc atomic_inc
 
 static inline void cifs_stats_bytes_written(struct cifs_tcon *tcon,
        tcon->bytes_read += bytes;
        spin_unlock(&tcon->stat_lock);
 }
-#else
-
-#define  cifs_stats_inc(field) do {} while (0)
-#define  cifs_stats_bytes_written(tcon, bytes) do {} while (0)
-#define  cifs_stats_bytes_read(tcon, bytes) do {} while (0)
-
-#endif
 
 
 /*
 
                mutex_init(&ret_buf->crfid.fid_mutex);
                ret_buf->crfid.fid = kzalloc(sizeof(struct cifs_fid),
                                             GFP_KERNEL);
-#ifdef CONFIG_CIFS_STATS
                spin_lock_init(&ret_buf->stat_lock);
-#endif
        }
        return ret_buf;
 }
 
 static void
 cifs_clear_stats(struct cifs_tcon *tcon)
 {
-#ifdef CONFIG_CIFS_STATS
        atomic_set(&tcon->stats.cifs_stats.num_writes, 0);
        atomic_set(&tcon->stats.cifs_stats.num_reads, 0);
        atomic_set(&tcon->stats.cifs_stats.num_flushes, 0);
        atomic_set(&tcon->stats.cifs_stats.num_locks, 0);
        atomic_set(&tcon->stats.cifs_stats.num_acl_get, 0);
        atomic_set(&tcon->stats.cifs_stats.num_acl_set, 0);
-#endif
 }
 
 static void
 cifs_print_stats(struct seq_file *m, struct cifs_tcon *tcon)
 {
-#ifdef CONFIG_CIFS_STATS
        seq_printf(m, " Oplocks breaks: %d",
                   atomic_read(&tcon->stats.cifs_stats.num_oplock_brks));
        seq_printf(m, "\nReads:  %d Bytes: %llu",
                   atomic_read(&tcon->stats.cifs_stats.num_ffirst),
                   atomic_read(&tcon->stats.cifs_stats.num_fnext),
                   atomic_read(&tcon->stats.cifs_stats.num_fclose));
-#endif
 }
 
 static void
 
 static void
 smb2_clear_stats(struct cifs_tcon *tcon)
 {
-#ifdef CONFIG_CIFS_STATS
        int i;
        for (i = 0; i < NUMBER_OF_SMB2_COMMANDS; i++) {
                atomic_set(&tcon->stats.smb2_stats.smb2_com_sent[i], 0);
                atomic_set(&tcon->stats.smb2_stats.smb2_com_failed[i], 0);
        }
-#endif
 }
 
 static void
 static void
 smb2_print_stats(struct seq_file *m, struct cifs_tcon *tcon)
 {
-#ifdef CONFIG_CIFS_STATS
        atomic_t *sent = tcon->stats.smb2_stats.smb2_com_sent;
        atomic_t *failed = tcon->stats.smb2_stats.smb2_com_failed;
 
        seq_printf(m, "\nOplockBreaks: %d sent %d failed",
                   atomic_read(&sent[SMB2_OPLOCK_BREAK_HE]),
                   atomic_read(&failed[SMB2_OPLOCK_BREAK_HE]));
-#endif
 }
 
 static void
 
                       total_len);
 
        if (tcon != NULL) {
-#ifdef CONFIG_CIFS_STATS
                uint16_t com_code = le16_to_cpu(smb2_command);
                cifs_stats_inc(&tcon->stats.smb2_stats.smb2_com_sent[com_code]);
-#endif
                cifs_stats_inc(&tcon->num_smbs_sent);
        }