diff --git a/Documentation/filesystems/00-INDEX b/Documentation/filesystems/00-INDEX index 4303614b5add04..8c624a18f67d43 100644 --- a/Documentation/filesystems/00-INDEX +++ b/Documentation/filesystems/00-INDEX @@ -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 diff --git a/Documentation/ioctl/ioctl-number.txt b/Documentation/ioctl/ioctl-number.txt index 33223ff121d80d..d15834a6e46190 100644 --- a/Documentation/ioctl/ioctl-number.txt +++ b/Documentation/ioctl/ioctl-number.txt @@ -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! diff --git a/drivers/staging/Kconfig b/drivers/staging/Kconfig index 01503536e457ea..4a9190808b7360 100644 --- a/drivers/staging/Kconfig +++ b/drivers/staging/Kconfig @@ -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" diff --git a/drivers/staging/Makefile b/drivers/staging/Makefile index de5c0e5a99edeb..7cb02a8e9f7796 100644 --- a/drivers/staging/Makefile +++ b/drivers/staging/Makefile @@ -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/fs/smbfs/Kconfig b/drivers/staging/smbfs/Kconfig similarity index 100% rename from fs/smbfs/Kconfig rename to drivers/staging/smbfs/Kconfig diff --git a/fs/smbfs/Makefile b/drivers/staging/smbfs/Makefile similarity index 100% rename from fs/smbfs/Makefile rename to drivers/staging/smbfs/Makefile diff --git a/drivers/staging/smbfs/TODO b/drivers/staging/smbfs/TODO new file mode 100644 index 00000000000000..24f4d29d53ac8a --- /dev/null +++ b/drivers/staging/smbfs/TODO @@ -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. diff --git a/fs/smbfs/cache.c b/drivers/staging/smbfs/cache.c similarity index 99% rename from fs/smbfs/cache.c rename to drivers/staging/smbfs/cache.c index 8c177eb7e34471..dbb98658148b78 100644 --- a/fs/smbfs/cache.c +++ b/drivers/staging/smbfs/cache.c @@ -13,12 +13,12 @@ #include #include #include -#include #include #include #include +#include "smb_fs.h" #include "smb_debug.h" #include "proto.h" diff --git a/fs/smbfs/dir.c b/drivers/staging/smbfs/dir.c similarity index 99% rename from fs/smbfs/dir.c rename to drivers/staging/smbfs/dir.c index 00a70cab1f36ea..936b3bb2099cf5 100644 --- a/fs/smbfs/dir.c +++ b/drivers/staging/smbfs/dir.c @@ -15,9 +15,9 @@ #include #include -#include -#include -#include +#include "smb_fs.h" +#include "smb_mount.h" +#include "smbno.h" #include "smb_debug.h" #include "proto.h" diff --git a/fs/smbfs/file.c b/drivers/staging/smbfs/file.c similarity index 99% rename from fs/smbfs/file.c rename to drivers/staging/smbfs/file.c index 8e187a0f94bb28..5dcd19c60eb95c 100644 --- a/fs/smbfs/file.c +++ b/drivers/staging/smbfs/file.c @@ -21,9 +21,8 @@ #include #include -#include -#include - +#include "smbno.h" +#include "smb_fs.h" #include "smb_debug.h" #include "proto.h" diff --git a/fs/smbfs/getopt.c b/drivers/staging/smbfs/getopt.c similarity index 100% rename from fs/smbfs/getopt.c rename to drivers/staging/smbfs/getopt.c diff --git a/fs/smbfs/getopt.h b/drivers/staging/smbfs/getopt.h similarity index 100% rename from fs/smbfs/getopt.h rename to drivers/staging/smbfs/getopt.h diff --git a/fs/smbfs/inode.c b/drivers/staging/smbfs/inode.c similarity index 99% rename from fs/smbfs/inode.c rename to drivers/staging/smbfs/inode.c index 450c9194198861..9287599ddb5068 100644 --- a/fs/smbfs/inode.c +++ b/drivers/staging/smbfs/inode.c @@ -26,13 +26,13 @@ #include #include #include -#include -#include -#include #include #include +#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) diff --git a/fs/smbfs/ioctl.c b/drivers/staging/smbfs/ioctl.c similarity index 96% rename from fs/smbfs/ioctl.c rename to drivers/staging/smbfs/ioctl.c index 07215312ad397d..2da1692674706f 100644 --- a/fs/smbfs/ioctl.c +++ b/drivers/staging/smbfs/ioctl.c @@ -16,11 +16,10 @@ #include #include -#include -#include - #include +#include "smb_fs.h" +#include "smb_mount.h" #include "proto.h" long diff --git a/fs/smbfs/proc.c b/drivers/staging/smbfs/proc.c similarity index 99% rename from fs/smbfs/proc.c rename to drivers/staging/smbfs/proc.c index 71c29b6670b402..2fb079c37f25a1 100644 --- a/fs/smbfs/proc.c +++ b/drivers/staging/smbfs/proc.c @@ -20,15 +20,14 @@ #include #include #include -#include -#include -#include - #include #include #include +#include "smb_fs.h" +#include "smbno.h" +#include "smb_mount.h" #include "smb_debug.h" #include "proto.h" #include "request.h" diff --git a/fs/smbfs/proto.h b/drivers/staging/smbfs/proto.h similarity index 100% rename from fs/smbfs/proto.h rename to drivers/staging/smbfs/proto.h diff --git a/fs/smbfs/request.c b/drivers/staging/smbfs/request.c similarity index 99% rename from fs/smbfs/request.c rename to drivers/staging/smbfs/request.c index 45f45933e86279..3e7716864306a9 100644 --- a/fs/smbfs/request.c +++ b/drivers/staging/smbfs/request.c @@ -13,10 +13,9 @@ #include #include -#include -#include -#include - +#include "smb_fs.h" +#include "smbno.h" +#include "smb_mount.h" #include "smb_debug.h" #include "request.h" #include "proto.h" diff --git a/fs/smbfs/request.h b/drivers/staging/smbfs/request.h similarity index 100% rename from fs/smbfs/request.h rename to drivers/staging/smbfs/request.h diff --git a/include/linux/smb.h b/drivers/staging/smbfs/smb.h similarity index 100% rename from include/linux/smb.h rename to drivers/staging/smbfs/smb.h diff --git a/fs/smbfs/smb_debug.h b/drivers/staging/smbfs/smb_debug.h similarity index 100% rename from fs/smbfs/smb_debug.h rename to drivers/staging/smbfs/smb_debug.h diff --git a/include/linux/smb_fs.h b/drivers/staging/smbfs/smb_fs.h similarity index 97% rename from include/linux/smb_fs.h rename to drivers/staging/smbfs/smb_fs.h index 923cd8a247b103..20a05c188eb9cb 100644 --- a/include/linux/smb_fs.h +++ b/drivers/staging/smbfs/smb_fs.h @@ -9,7 +9,7 @@ #ifndef _LINUX_SMB_FS_H #define _LINUX_SMB_FS_H -#include +#include "smb.h" /* * ioctl commands @@ -22,13 +22,13 @@ #ifdef __KERNEL__ -#include -#include +#include "smb_fs_i.h" +#include "smb_fs_sb.h" +#include "smb_mount.h" #include #include #include -#include #include #include diff --git a/include/linux/smb_fs_i.h b/drivers/staging/smbfs/smb_fs_i.h similarity index 100% rename from include/linux/smb_fs_i.h rename to drivers/staging/smbfs/smb_fs_i.h diff --git a/include/linux/smb_fs_sb.h b/drivers/staging/smbfs/smb_fs_sb.h similarity index 98% rename from include/linux/smb_fs_sb.h rename to drivers/staging/smbfs/smb_fs_sb.h index bb947dd1fba925..ca058afda900bb 100644 --- a/include/linux/smb_fs_sb.h +++ b/drivers/staging/smbfs/smb_fs_sb.h @@ -11,7 +11,7 @@ #include #include -#include +#include "smb.h" /* * Upper limit on the total number of active smb_request structs. diff --git a/include/linux/smb_mount.h b/drivers/staging/smbfs/smb_mount.h similarity index 100% rename from include/linux/smb_mount.h rename to drivers/staging/smbfs/smb_mount.h diff --git a/Documentation/filesystems/smbfs.txt b/drivers/staging/smbfs/smbfs.txt similarity index 100% rename from Documentation/filesystems/smbfs.txt rename to drivers/staging/smbfs/smbfs.txt diff --git a/fs/smbfs/smbiod.c b/drivers/staging/smbfs/smbiod.c similarity index 98% rename from fs/smbfs/smbiod.c rename to drivers/staging/smbfs/smbiod.c index 0e39a924f10af2..ec998920f8d9e8 100644 --- a/fs/smbfs/smbiod.c +++ b/drivers/staging/smbfs/smbiod.c @@ -20,13 +20,12 @@ #include #include -#include -#include -#include - #include #include +#include "smb_fs.h" +#include "smbno.h" +#include "smb_mount.h" #include "smb_debug.h" #include "request.h" #include "proto.h" diff --git a/include/linux/smbno.h b/drivers/staging/smbfs/smbno.h similarity index 100% rename from include/linux/smbno.h rename to drivers/staging/smbfs/smbno.h diff --git a/fs/smbfs/sock.c b/drivers/staging/smbfs/sock.c similarity index 99% rename from fs/smbfs/sock.c rename to drivers/staging/smbfs/sock.c index e37fe4deebd0eb..9e264090e611e5 100644 --- a/fs/smbfs/sock.c +++ b/drivers/staging/smbfs/sock.c @@ -22,13 +22,12 @@ #include #include -#include -#include -#include - #include #include +#include "smb_fs.h" +#include "smb.h" +#include "smbno.h" #include "smb_debug.h" #include "proto.h" #include "request.h" diff --git a/fs/smbfs/symlink.c b/drivers/staging/smbfs/symlink.c similarity index 96% rename from fs/smbfs/symlink.c rename to drivers/staging/smbfs/symlink.c index 00b2909bd469e3..632c4acd062d45 100644 --- a/fs/smbfs/symlink.c +++ b/drivers/staging/smbfs/symlink.c @@ -19,9 +19,8 @@ #include #include -#include -#include - +#include "smbno.h" +#include "smb_fs.h" #include "smb_debug.h" #include "proto.h" diff --git a/fs/Kconfig b/fs/Kconfig index 30da8ee16a9636..25ce2dc1c6d42b 100644 --- a/fs/Kconfig +++ b/fs/Kconfig @@ -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" diff --git a/fs/Makefile b/fs/Makefile index e571feddd7b77b..9284c74c2db9a2 100644 --- a/fs/Makefile +++ b/fs/Makefile @@ -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/ diff --git a/fs/compat.c b/fs/compat.c index 718c7062aec129..b42f29a44edbf3 100644 --- a/fs/compat.c +++ b/fs/compat.c @@ -29,8 +29,6 @@ #include #include #include -#include -#include #include #include #include @@ -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)) diff --git a/fs/compat_ioctl.c b/fs/compat_ioctl.c index 03e59aa318eb0a..34cf03cd791f5a 100644 --- a/fs/compat_ioctl.c +++ b/fs/compat_ioctl.c @@ -46,7 +46,6 @@ #include #include #include -#include #include #include #include @@ -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: diff --git a/include/linux/Kbuild b/include/linux/Kbuild index 626b629429ff2f..98d520d371ede4 100644 --- a/include/linux/Kbuild +++ b/include/linux/Kbuild @@ -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