]> bbs.cooldavid.org Git - net-next-2.6.git/commitdiff
smbfs: move to drivers/staging
authorArnd Bergmann <arnd@arndb.de>
Mon, 4 Oct 2010 20:55:57 +0000 (22:55 +0200)
committerGreg Kroah-Hartman <gregkh@suse.de>
Tue, 5 Oct 2010 16:08:21 +0000 (09:08 -0700)
smbfs has been scheduled for removal in 2.6.27, so
maybe we can now move it to drivers/staging on the
way out.

smbfs still uses the big kernel lock and nobody
is going to fix that, so we should be getting
rid of it soon.

This removes the 32 bit compat mount and ioctl
handling code, which is implemented in common fs
code, and moves all smbfs related files into
drivers/staging/smbfs.

Signed-off-by: Arnd Bergmann <arnd@arndb.de>
Acked-by: Jeff Layton <jlayton@redhat.com>
Signed-off-by: Greg Kroah-Hartman <gregkh@suse.de>
34 files changed:
Documentation/filesystems/00-INDEX
Documentation/ioctl/ioctl-number.txt
drivers/staging/Kconfig
drivers/staging/Makefile
drivers/staging/smbfs/Kconfig [moved from fs/smbfs/Kconfig with 100% similarity]
drivers/staging/smbfs/Makefile [moved from fs/smbfs/Makefile with 100% similarity]
drivers/staging/smbfs/TODO [new file with mode: 0644]
drivers/staging/smbfs/cache.c [moved from fs/smbfs/cache.c with 99% similarity]
drivers/staging/smbfs/dir.c [moved from fs/smbfs/dir.c with 99% similarity]
drivers/staging/smbfs/file.c [moved from fs/smbfs/file.c with 99% similarity]
drivers/staging/smbfs/getopt.c [moved from fs/smbfs/getopt.c with 100% similarity]
drivers/staging/smbfs/getopt.h [moved from fs/smbfs/getopt.h with 100% similarity]
drivers/staging/smbfs/inode.c [moved from fs/smbfs/inode.c with 99% similarity]
drivers/staging/smbfs/ioctl.c [moved from fs/smbfs/ioctl.c with 96% similarity]
drivers/staging/smbfs/proc.c [moved from fs/smbfs/proc.c with 99% similarity]
drivers/staging/smbfs/proto.h [moved from fs/smbfs/proto.h with 100% similarity]
drivers/staging/smbfs/request.c [moved from fs/smbfs/request.c with 99% similarity]
drivers/staging/smbfs/request.h [moved from fs/smbfs/request.h with 100% similarity]
drivers/staging/smbfs/smb.h [moved from include/linux/smb.h with 100% similarity]
drivers/staging/smbfs/smb_debug.h [moved from fs/smbfs/smb_debug.h with 100% similarity]
drivers/staging/smbfs/smb_fs.h [moved from include/linux/smb_fs.h with 97% similarity]
drivers/staging/smbfs/smb_fs_i.h [moved from include/linux/smb_fs_i.h with 100% similarity]
drivers/staging/smbfs/smb_fs_sb.h [moved from include/linux/smb_fs_sb.h with 98% similarity]
drivers/staging/smbfs/smb_mount.h [moved from include/linux/smb_mount.h with 100% similarity]
drivers/staging/smbfs/smbfs.txt [moved from Documentation/filesystems/smbfs.txt with 100% similarity]
drivers/staging/smbfs/smbiod.c [moved from fs/smbfs/smbiod.c with 98% similarity]
drivers/staging/smbfs/smbno.h [moved from include/linux/smbno.h with 100% similarity]
drivers/staging/smbfs/sock.c [moved from fs/smbfs/sock.c with 99% similarity]
drivers/staging/smbfs/symlink.c [moved from fs/smbfs/symlink.c with 96% similarity]
fs/Kconfig
fs/Makefile
fs/compat.c
fs/compat_ioctl.c
include/linux/Kbuild

index 4303614b5add04f91461453882ecc77d719b32df..8c624a18f67d4391b897b5524f3bd28e4a979722 100644 (file)
@@ -96,8 +96,6 @@ seq_file.txt
        - how to use the seq_file API
 sharedsubtree.txt
        - a description of shared subtrees for namespaces.
-smbfs.txt
-       - info on using filesystems with the SMB protocol (Win 3.11 and NT).
 spufs.txt
        - info and mount options for the SPU filesystem used on Cell.
 sysfs-pci.txt
index 33223ff121d80d576ace62493d2c51f6299028d8..d15834a6e461906f7d0274a33ed6ff7f6ab77aa1 100644 (file)
@@ -259,7 +259,7 @@ Code  Seq#(hex)     Include File            Comments
 't'    00-7F   linux/if_ppp.h
 't'    80-8F   linux/isdn_ppp.h
 't'    90      linux/toshiba.h
-'u'    00-1F   linux/smb_fs.h
+'u'    00-1F   linux/smb_fs.h          gone
 'v'    all     linux/videodev.h        conflict!
 'v'    00-1F   linux/ext2_fs.h         conflict!
 'v'    00-1F   linux/fs.h              conflict!
index 01503536e457ea059fcb807293091a8fa0268ac5..4a9190808b73600aee4e3c26ae43773004e4128a 100644 (file)
@@ -149,6 +149,8 @@ source "drivers/staging/msm/Kconfig"
 
 source "drivers/staging/lirc/Kconfig"
 
+source "drivers/staging/smbfs/Kconfig"
+
 source "drivers/staging/easycap/Kconfig"
 
 source "drivers/staging/solo6x10/Kconfig"
index de5c0e5a99edeb467f23a09763d02817e68ba566..7cb02a8e9f77965206d5939ddbbd92a0b5fb9608 100644 (file)
@@ -32,6 +32,7 @@ obj-$(CONFIG_AUTOFS_FS)               += autofs/
 obj-$(CONFIG_IDE_PHISON)       += phison/
 obj-$(CONFIG_LINE6_USB)                += line6/
 obj-$(CONFIG_USB_SERIAL_QUATECH2)      += serqt_usb2/
+obj-$(CONFIG_SMB_FS)           += smbfs/
 obj-$(CONFIG_USB_SERIAL_QUATECH_USB2)  += quatech_usb2/
 obj-$(CONFIG_OCTEON_ETHERNET)  += octeon/
 obj-$(CONFIG_VT6655)           += vt6655/
diff --git a/drivers/staging/smbfs/TODO b/drivers/staging/smbfs/TODO
new file mode 100644 (file)
index 0000000..24f4d29
--- /dev/null
@@ -0,0 +1,8 @@
+smbfs is on its way out of the kernel, it has been replaced
+by cifs several years ago.
+
+The smbfs code uses the big kernel lock which
+is getting deprecated.
+
+Users that find smbfs to work but not cifs should contact
+the CIFS developers on linux-cifs@vger.kernel.org.
similarity index 99%
rename from fs/smbfs/cache.c
rename to drivers/staging/smbfs/cache.c
index 8c177eb7e3447175158f77aecb28be5e678bd770..dbb98658148b78b678a8dde190fae8d3cc2e608d 100644 (file)
 #include <linux/errno.h>
 #include <linux/kernel.h>
 #include <linux/mm.h>
-#include <linux/smb_fs.h>
 #include <linux/pagemap.h>
 #include <linux/net.h>
 
 #include <asm/page.h>
 
+#include "smb_fs.h"
 #include "smb_debug.h"
 #include "proto.h"
 
similarity index 99%
rename from fs/smbfs/dir.c
rename to drivers/staging/smbfs/dir.c
index 00a70cab1f36ea7fc7bd96317d4bccdd8486a736..936b3bb2099cf5879e6beca348a868011306d978 100644 (file)
@@ -15,9 +15,9 @@
 #include <linux/net.h>
 #include <linux/sched.h>
 
-#include <linux/smb_fs.h>
-#include <linux/smb_mount.h>
-#include <linux/smbno.h>
+#include "smb_fs.h"
+#include "smb_mount.h"
+#include "smbno.h"
 
 #include "smb_debug.h"
 #include "proto.h"
similarity index 99%
rename from fs/smbfs/file.c
rename to drivers/staging/smbfs/file.c
index 8e187a0f94bb28f0e35e751550fa9df47903c76c..5dcd19c60eb95cb7c60e8e44fbe39aeccdc7bb17 100644 (file)
@@ -21,9 +21,8 @@
 #include <asm/uaccess.h>
 #include <asm/system.h>
 
-#include <linux/smbno.h>
-#include <linux/smb_fs.h>
-
+#include "smbno.h"
+#include "smb_fs.h"
 #include "smb_debug.h"
 #include "proto.h"
 
similarity index 99%
rename from fs/smbfs/inode.c
rename to drivers/staging/smbfs/inode.c
index 450c9194198861483daa183fb6582e1c9790eadb..9287599ddb5068a6a52428afe632d7592f605bb5 100644 (file)
 #include <linux/vfs.h>
 #include <linux/highuid.h>
 #include <linux/sched.h>
-#include <linux/smb_fs.h>
-#include <linux/smbno.h>
-#include <linux/smb_mount.h>
 
 #include <asm/system.h>
 #include <asm/uaccess.h>
 
+#include "smb_fs.h"
+#include "smbno.h"
+#include "smb_mount.h"
 #include "smb_debug.h"
 #include "getopt.h"
 #include "proto.h"
@@ -504,7 +504,7 @@ static int smb_fill_super(struct super_block *sb, void *raw_data, int silent)
        if (warn_count < 5) {
                warn_count++;
                printk(KERN_EMERG "smbfs is deprecated and will be removed"
-                       " from the 2.6.27 kernel. Please migrate to cifs\n");
+                       " from the 2.6.37 kernel. Please migrate to cifs\n");
        }
 
        if (!raw_data)
similarity index 96%
rename from fs/smbfs/ioctl.c
rename to drivers/staging/smbfs/ioctl.c
index 07215312ad397d8dbbf8bceadd4477676a99e929..2da1692674706f43ec6b027f575fcedf57917e9f 100644 (file)
 #include <linux/smp_lock.h>
 #include <linux/net.h>
 
-#include <linux/smb_fs.h>
-#include <linux/smb_mount.h>
-
 #include <asm/uaccess.h>
 
+#include "smb_fs.h"
+#include "smb_mount.h"
 #include "proto.h"
 
 long
similarity index 99%
rename from fs/smbfs/proc.c
rename to drivers/staging/smbfs/proc.c
index 71c29b6670b402719f8475ed34b39a306bda807d..2fb079c37f25a1d3528d6c6640673ee89ece833e 100644 (file)
 #include <linux/smp_lock.h>
 #include <linux/net.h>
 #include <linux/vfs.h>
-#include <linux/smb_fs.h>
-#include <linux/smbno.h>
-#include <linux/smb_mount.h>
-
 #include <net/sock.h>
 
 #include <asm/string.h>
 #include <asm/div64.h>
 
+#include "smb_fs.h"
+#include "smbno.h"
+#include "smb_mount.h"
 #include "smb_debug.h"
 #include "proto.h"
 #include "request.h"
similarity index 99%
rename from fs/smbfs/request.c
rename to drivers/staging/smbfs/request.c
index 45f45933e86279126f1f349b2381563c102d0559..3e7716864306a932980c9e5ce0908ea69dd32d4e 100644 (file)
 #include <linux/net.h>
 #include <linux/sched.h>
 
-#include <linux/smb_fs.h>
-#include <linux/smbno.h>
-#include <linux/smb_mount.h>
-
+#include "smb_fs.h"
+#include "smbno.h"
+#include "smb_mount.h"
 #include "smb_debug.h"
 #include "request.h"
 #include "proto.h"
similarity index 97%
rename from include/linux/smb_fs.h
rename to drivers/staging/smbfs/smb_fs.h
index 923cd8a247b103bfeae72cc2680b55db0636d8ad..20a05c188eb9cbcab576a4eaf55bc0a246213718 100644 (file)
@@ -9,7 +9,7 @@
 #ifndef _LINUX_SMB_FS_H
 #define _LINUX_SMB_FS_H
 
-#include <linux/smb.h>
+#include "smb.h"
 
 /*
  * ioctl commands
 
 
 #ifdef __KERNEL__
-#include <linux/smb_fs_i.h>
-#include <linux/smb_fs_sb.h>
+#include "smb_fs_i.h"
+#include "smb_fs_sb.h"
+#include "smb_mount.h"
 
 #include <linux/fs.h>
 #include <linux/pagemap.h>
 #include <linux/vmalloc.h>
-#include <linux/smb_mount.h>
 #include <linux/jiffies.h>
 #include <asm/unaligned.h>
 
similarity index 98%
rename from include/linux/smb_fs_sb.h
rename to drivers/staging/smbfs/smb_fs_sb.h
index bb947dd1fba92515170f1a5de745dde34026eb0a..ca058afda900bbb6d8cb73c8c22b9c0d6c2cede6 100644 (file)
@@ -11,7 +11,7 @@
 
 #include <linux/types.h>
 #include <linux/backing-dev.h>
-#include <linux/smb.h>
+#include "smb.h"
 
 /*
  * Upper limit on the total number of active smb_request structs.
similarity index 98%
rename from fs/smbfs/smbiod.c
rename to drivers/staging/smbfs/smbiod.c
index 0e39a924f10af29fc90697353501b9f6a18008eb..ec998920f8d9e83b8cc3470a503acfaad958f4ba 100644 (file)
 #include <linux/kthread.h>
 #include <net/ip.h>
 
-#include <linux/smb_fs.h>
-#include <linux/smbno.h>
-#include <linux/smb_mount.h>
-
 #include <asm/system.h>
 #include <asm/uaccess.h>
 
+#include "smb_fs.h"
+#include "smbno.h"
+#include "smb_mount.h"
 #include "smb_debug.h"
 #include "request.h"
 #include "proto.h"
similarity index 99%
rename from fs/smbfs/sock.c
rename to drivers/staging/smbfs/sock.c
index e37fe4deebd0ebe5050e1fbab7c9ef7cbc2ad4db..9e264090e611e5d99de0e23fdde578090074141e 100644 (file)
 #include <net/tcp_states.h>
 #include <net/ip.h>
 
-#include <linux/smb_fs.h>
-#include <linux/smb.h>
-#include <linux/smbno.h>
-
 #include <asm/uaccess.h>
 #include <asm/ioctls.h>
 
+#include "smb_fs.h"
+#include "smb.h"
+#include "smbno.h"
 #include "smb_debug.h"
 #include "proto.h"
 #include "request.h"
similarity index 96%
rename from fs/smbfs/symlink.c
rename to drivers/staging/smbfs/symlink.c
index 00b2909bd469e30fc9c074029cd1d2789515f2b8..632c4acd062d4550d6988dc7b0c6a4e0fd0b0969 100644 (file)
@@ -19,9 +19,8 @@
 #include <asm/uaccess.h>
 #include <asm/system.h>
 
-#include <linux/smbno.h>
-#include <linux/smb_fs.h>
-
+#include "smbno.h"
+#include "smb_fs.h"
 #include "smb_debug.h"
 #include "proto.h"
 
index 30da8ee16a963620063c69780ea99b0943924e04..25ce2dc1c6d42beb909c4f3aa0317c5fd96a5e2f 100644 (file)
@@ -233,7 +233,6 @@ config NFS_COMMON
        default y
 
 source "net/sunrpc/Kconfig"
-source "fs/smbfs/Kconfig"
 source "fs/ceph/Kconfig"
 source "fs/cifs/Kconfig"
 source "fs/ncpfs/Kconfig"
index e571feddd7b77b400ef582688908495233ed3b51..9284c74c2db9a226ef7eecce61bcded217c6e139 100644 (file)
@@ -91,7 +91,6 @@ obj-$(CONFIG_NFSD)            += nfsd/
 obj-$(CONFIG_LOCKD)            += lockd/
 obj-$(CONFIG_NLS)              += nls/
 obj-$(CONFIG_SYSV_FS)          += sysv/
-obj-$(CONFIG_SMB_FS)           += smbfs/
 obj-$(CONFIG_CIFS)             += cifs/
 obj-$(CONFIG_NCP_FS)           += ncpfs/
 obj-$(CONFIG_HPFS_FS)          += hpfs/
index 718c7062aec129844cda361e2f4b8a143aa31861..b42f29a44edbf3d29ff965af36f9f9a540cbc3fa 100644 (file)
@@ -29,8 +29,6 @@
 #include <linux/vfs.h>
 #include <linux/ioctl.h>
 #include <linux/init.h>
-#include <linux/smb.h>
-#include <linux/smb_mount.h>
 #include <linux/ncp_mount.h>
 #include <linux/nfs4_mount.h>
 #include <linux/syscalls.h>
@@ -745,30 +743,6 @@ static void *do_ncp_super_data_conv(void *raw_data)
        return raw_data;
 }
 
-struct compat_smb_mount_data {
-       compat_int_t version;
-       __compat_uid_t mounted_uid;
-       __compat_uid_t uid;
-       __compat_gid_t gid;
-       compat_mode_t file_mode;
-       compat_mode_t dir_mode;
-};
-
-static void *do_smb_super_data_conv(void *raw_data)
-{
-       struct smb_mount_data *s = raw_data;
-       struct compat_smb_mount_data *c_s = raw_data;
-
-       if (c_s->version != SMB_MOUNT_OLDVERSION)
-               goto out;
-       s->dir_mode = c_s->dir_mode;
-       s->file_mode = c_s->file_mode;
-       s->gid = c_s->gid;
-       s->uid = c_s->uid;
-       s->mounted_uid = c_s->mounted_uid;
- out:
-       return raw_data;
-}
 
 struct compat_nfs_string {
        compat_uint_t len;
@@ -835,7 +809,6 @@ static int do_nfs4_super_data_conv(void *raw_data)
        return 0;
 }
 
-#define SMBFS_NAME      "smbfs"
 #define NCPFS_NAME      "ncpfs"
 #define NFS4_NAME      "nfs4"
 
@@ -870,9 +843,7 @@ asmlinkage long compat_sys_mount(const char __user * dev_name,
        retval = -EINVAL;
 
        if (kernel_type && data_page) {
-               if (!strcmp(kernel_type, SMBFS_NAME)) {
-                       do_smb_super_data_conv((void *)data_page);
-               } else if (!strcmp(kernel_type, NCPFS_NAME)) {
+               if (!strcmp(kernel_type, NCPFS_NAME)) {
                        do_ncp_super_data_conv((void *)data_page);
                } else if (!strcmp(kernel_type, NFS4_NAME)) {
                        if (do_nfs4_super_data_conv((void *) data_page))
index 03e59aa318eb0a2c9801857a9d343fa008fdc7a2..34cf03cd791f5a56912935b5cc60c5011266433e 100644 (file)
@@ -46,7 +46,6 @@
 #include <linux/videodev.h>
 #include <linux/netdevice.h>
 #include <linux/raw.h>
-#include <linux/smb_fs.h>
 #include <linux/blkdev.h>
 #include <linux/elevator.h>
 #include <linux/rtc.h>
@@ -558,25 +557,6 @@ static int mt_ioctl_trans(unsigned int fd, unsigned int cmd, void __user *argp)
 
 #endif /* CONFIG_BLOCK */
 
-static int do_smb_getmountuid(unsigned int fd, unsigned int cmd,
-                       compat_uid_t __user *argp)
-{
-       mm_segment_t old_fs = get_fs();
-       __kernel_uid_t kuid;
-       int err;
-
-       cmd = SMB_IOC_GETMOUNTUID;
-
-       set_fs(KERNEL_DS);
-       err = sys_ioctl(fd, cmd, (unsigned long)&kuid);
-       set_fs(old_fs);
-
-       if (err >= 0)
-               err = put_user(kuid, argp);
-
-       return err;
-}
-
 /* Bluetooth ioctls */
 #define HCIUARTSETPROTO                _IOW('U', 200, int)
 #define HCIUARTGETPROTO                _IOR('U', 201, int)
@@ -1265,8 +1245,6 @@ COMPATIBLE_IOCTL(OSS_GETVERSION)
 /* Raw devices */
 COMPATIBLE_IOCTL(RAW_SETBIND)
 COMPATIBLE_IOCTL(RAW_GETBIND)
-/* SMB ioctls which do not need any translations */
-COMPATIBLE_IOCTL(SMB_IOC_NEWCONN)
 /* Watchdog */
 COMPATIBLE_IOCTL(WDIOC_GETSUPPORT)
 COMPATIBLE_IOCTL(WDIOC_GETSTATUS)
@@ -1528,10 +1506,6 @@ static long do_ioctl_trans(int fd, unsigned int cmd,
        case RAW_GETBIND:
                return raw_ioctl(fd, cmd, argp);
 #endif
-       /* One SMB ioctl needs translations. */
-#define SMB_IOC_GETMOUNTUID_32 _IOR('u', 1, compat_uid_t)
-       case SMB_IOC_GETMOUNTUID_32:
-               return do_smb_getmountuid(fd, cmd, argp);
        /* Serial */
        case TIOCGSERIAL:
        case TIOCSSERIAL:
index 626b629429ff2fc3f30fcf63b25fb52211f184c0..98d520d371ede4d88ce205b721c7860cba342f6a 100644 (file)
@@ -326,10 +326,6 @@ header-y += serio.h
 header-y += shm.h
 header-y += signal.h
 header-y += signalfd.h
-header-y += smb.h
-header-y += smb_fs.h
-header-y += smb_mount.h
-header-y += smbno.h
 header-y += snmp.h
 header-y += socket.h
 header-y += sockios.h