|
@@ -420,7 +420,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 +439,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 +457,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 +613,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);
|