]> Pileus Git - ~andy/linux/blobdiff - fs/cifs/cifs_debug.c
Merge branch 'for-next' of git://git.samba.org/sfrench/cifs-2.6
[~andy/linux] / fs / cifs / cifs_debug.c
index 2704646294166bec7edf9c006c98d5229a1eaab9..d9ea6ede6a7a7e5fbd60aae056cfded4b41b6f18 100644 (file)
@@ -57,19 +57,21 @@ cifs_dump_mem(char *label, void *data, int length)
        }
 }
 
-#ifdef CONFIG_CIFS_DEBUG2
 void cifs_dump_detail(void *buf)
 {
+#ifdef CONFIG_CIFS_DEBUG2
        struct smb_hdr *smb = (struct smb_hdr *)buf;
 
        cERROR(1, "Cmd: %d Err: 0x%x Flags: 0x%x Flgs2: 0x%x Mid: %d Pid: %d",
                  smb->Command, smb->Status.CifsError,
                  smb->Flags, smb->Flags2, smb->Mid, smb->Pid);
-       cERROR(1, "smb buf %p len %d", smb, smbCalcSize(smb));
+       cERROR(1, "smb buf %p len %u", smb, smbCalcSize(smb));
+#endif /* CONFIG_CIFS_DEBUG2 */
 }
 
 void cifs_dump_mids(struct TCP_Server_Info *server)
 {
+#ifdef CONFIG_CIFS_DEBUG2
        struct list_head *tmp;
        struct mid_q_entry *mid_entry;
 
@@ -102,8 +104,8 @@ void cifs_dump_mids(struct TCP_Server_Info *server)
                }
        }
        spin_unlock(&GlobalMid_Lock);
-}
 #endif /* CONFIG_CIFS_DEBUG2 */
+}
 
 #ifdef CONFIG_PROC_FS
 static int cifs_debug_data_proc_show(struct seq_file *m, void *v)
@@ -280,24 +282,8 @@ static ssize_t cifs_stats_proc_write(struct file *file,
                                                          struct cifs_tcon,
                                                          tcon_list);
                                        atomic_set(&tcon->num_smbs_sent, 0);
-                                       atomic_set(&tcon->num_writes, 0);
-                                       atomic_set(&tcon->num_reads, 0);
-                                       atomic_set(&tcon->num_oplock_brks, 0);
-                                       atomic_set(&tcon->num_opens, 0);
-                                       atomic_set(&tcon->num_posixopens, 0);
-                                       atomic_set(&tcon->num_posixmkdirs, 0);
-                                       atomic_set(&tcon->num_closes, 0);
-                                       atomic_set(&tcon->num_deletes, 0);
-                                       atomic_set(&tcon->num_mkdirs, 0);
-                                       atomic_set(&tcon->num_rmdirs, 0);
-                                       atomic_set(&tcon->num_renames, 0);
-                                       atomic_set(&tcon->num_t2renames, 0);
-                                       atomic_set(&tcon->num_ffirst, 0);
-                                       atomic_set(&tcon->num_fnext, 0);
-                                       atomic_set(&tcon->num_fclose, 0);
-                                       atomic_set(&tcon->num_hardlinks, 0);
-                                       atomic_set(&tcon->num_symlinks, 0);
-                                       atomic_set(&tcon->num_locks, 0);
+                                       if (server->ops->clear_stats)
+                                               server->ops->clear_stats(tcon);
                                }
                        }
                }
@@ -356,42 +342,10 @@ static int cifs_stats_proc_show(struct seq_file *m, void *v)
                                seq_printf(m, "\n%d) %s", i, tcon->treeName);
                                if (tcon->need_reconnect)
                                        seq_puts(m, "\tDISCONNECTED ");
-                               seq_printf(m, "\nSMBs: %d Oplock Breaks: %d",
-                                       atomic_read(&tcon->num_smbs_sent),
-                                       atomic_read(&tcon->num_oplock_brks));
-                               seq_printf(m, "\nReads:  %d Bytes: %lld",
-                                       atomic_read(&tcon->num_reads),
-                                       (long long)(tcon->bytes_read));
-                               seq_printf(m, "\nWrites: %d Bytes: %lld",
-                                       atomic_read(&tcon->num_writes),
-                                       (long long)(tcon->bytes_written));
-                               seq_printf(m, "\nFlushes: %d",
-                                       atomic_read(&tcon->num_flushes));
-                               seq_printf(m, "\nLocks: %d HardLinks: %d "
-                                             "Symlinks: %d",
-                                       atomic_read(&tcon->num_locks),
-                                       atomic_read(&tcon->num_hardlinks),
-                                       atomic_read(&tcon->num_symlinks));
-                               seq_printf(m, "\nOpens: %d Closes: %d "
-                                             "Deletes: %d",
-                                       atomic_read(&tcon->num_opens),
-                                       atomic_read(&tcon->num_closes),
-                                       atomic_read(&tcon->num_deletes));
-                               seq_printf(m, "\nPosix Opens: %d "
-                                             "Posix Mkdirs: %d",
-                                       atomic_read(&tcon->num_posixopens),
-                                       atomic_read(&tcon->num_posixmkdirs));
-                               seq_printf(m, "\nMkdirs: %d Rmdirs: %d",
-                                       atomic_read(&tcon->num_mkdirs),
-                                       atomic_read(&tcon->num_rmdirs));
-                               seq_printf(m, "\nRenames: %d T2 Renames %d",
-                                       atomic_read(&tcon->num_renames),
-                                       atomic_read(&tcon->num_t2renames));
-                               seq_printf(m, "\nFindFirst: %d FNext %d "
-                                             "FClose %d",
-                                       atomic_read(&tcon->num_ffirst),
-                                       atomic_read(&tcon->num_fnext),
-                                       atomic_read(&tcon->num_fclose));
+                               seq_printf(m, "\nSMBs: %d",
+                                          atomic_read(&tcon->num_smbs_sent));
+                               if (server->ops->print_stats)
+                                       server->ops->print_stats(m, tcon);
                        }
                }
        }
@@ -420,7 +374,6 @@ static struct proc_dir_entry *proc_fs_cifs;
 static const struct file_operations cifsFYI_proc_fops;
 static const struct file_operations cifs_lookup_cache_proc_fops;
 static const struct file_operations traceSMB_proc_fops;
-static const struct file_operations cifs_multiuser_mount_proc_fops;
 static const struct file_operations cifs_security_flags_proc_fops;
 static const struct file_operations cifs_linux_ext_proc_fops;
 
@@ -440,8 +393,6 @@ cifs_proc_init(void)
        proc_create("traceSMB", 0, proc_fs_cifs, &traceSMB_proc_fops);
        proc_create("LinuxExtensionsEnabled", 0, proc_fs_cifs,
                    &cifs_linux_ext_proc_fops);
-       proc_create("MultiuserMount", 0, proc_fs_cifs,
-                   &cifs_multiuser_mount_proc_fops);
        proc_create("SecurityFlags", 0, proc_fs_cifs,
                    &cifs_security_flags_proc_fops);
        proc_create("LookupCacheEnabled", 0, proc_fs_cifs,
@@ -460,7 +411,6 @@ cifs_proc_clean(void)
 #ifdef CONFIG_CIFS_STATS
        remove_proc_entry("Stats", proc_fs_cifs);
 #endif
-       remove_proc_entry("MultiuserMount", proc_fs_cifs);
        remove_proc_entry("SecurityFlags", proc_fs_cifs);
        remove_proc_entry("LinuxExtensionsEnabled", proc_fs_cifs);
        remove_proc_entry("LookupCacheEnabled", proc_fs_cifs);
@@ -617,52 +567,6 @@ static const struct file_operations traceSMB_proc_fops = {
        .write          = traceSMB_proc_write,
 };
 
-static int cifs_multiuser_mount_proc_show(struct seq_file *m, void *v)
-{
-       seq_printf(m, "%d\n", multiuser_mount);
-       return 0;
-}
-
-static int cifs_multiuser_mount_proc_open(struct inode *inode, struct file *fh)
-{
-       return single_open(fh, cifs_multiuser_mount_proc_show, NULL);
-}
-
-static ssize_t cifs_multiuser_mount_proc_write(struct file *file,
-               const char __user *buffer, size_t count, loff_t *ppos)
-{
-       char c;
-       int rc;
-       static bool warned;
-
-       rc = get_user(c, buffer);
-       if (rc)
-               return rc;
-       if (c == '0' || c == 'n' || c == 'N')
-               multiuser_mount = 0;
-       else if (c == '1' || c == 'y' || c == 'Y') {
-               multiuser_mount = 1;
-               if (!warned) {
-                       warned = true;
-                       printk(KERN_WARNING "CIFS VFS: The legacy multiuser "
-                               "mount code is scheduled to be deprecated in "
-                               "3.5. Please switch to using the multiuser "
-                               "mount option.");
-               }
-       }
-
-       return count;
-}
-
-static const struct file_operations cifs_multiuser_mount_proc_fops = {
-       .owner          = THIS_MODULE,
-       .open           = cifs_multiuser_mount_proc_open,
-       .read           = seq_read,
-       .llseek         = seq_lseek,
-       .release        = single_release,
-       .write          = cifs_multiuser_mount_proc_write,
-};
-
 static int cifs_security_flags_proc_show(struct seq_file *m, void *v)
 {
        seq_printf(m, "0x%x\n", global_secflags);