ncpfs: remove compat functionality
Now that ncpfs is gone from the tree, no need to have the compatibility thunking layer around, it will not actually go anywhere :) So delete that logic from fs/compat.c, it is no longer needed. Signed-off-by: Greg Kroah-Hartman <gregkh@linuxfoundation.org>
This commit is contained in:
Родитель
bd32895c75
Коммит
f0ac2abcc0
72
fs/compat.c
72
fs/compat.c
|
@ -16,79 +16,12 @@
|
||||||
*/
|
*/
|
||||||
|
|
||||||
#include <linux/compat.h>
|
#include <linux/compat.h>
|
||||||
#include <linux/ncp_mount.h>
|
|
||||||
#include <linux/nfs4_mount.h>
|
#include <linux/nfs4_mount.h>
|
||||||
#include <linux/syscalls.h>
|
#include <linux/syscalls.h>
|
||||||
#include <linux/slab.h>
|
#include <linux/slab.h>
|
||||||
#include <linux/uaccess.h>
|
#include <linux/uaccess.h>
|
||||||
#include "internal.h"
|
#include "internal.h"
|
||||||
|
|
||||||
struct compat_ncp_mount_data {
|
|
||||||
compat_int_t version;
|
|
||||||
compat_uint_t ncp_fd;
|
|
||||||
__compat_uid_t mounted_uid;
|
|
||||||
compat_pid_t wdog_pid;
|
|
||||||
unsigned char mounted_vol[NCP_VOLNAME_LEN + 1];
|
|
||||||
compat_uint_t time_out;
|
|
||||||
compat_uint_t retry_count;
|
|
||||||
compat_uint_t flags;
|
|
||||||
__compat_uid_t uid;
|
|
||||||
__compat_gid_t gid;
|
|
||||||
compat_mode_t file_mode;
|
|
||||||
compat_mode_t dir_mode;
|
|
||||||
};
|
|
||||||
|
|
||||||
struct compat_ncp_mount_data_v4 {
|
|
||||||
compat_int_t version;
|
|
||||||
compat_ulong_t flags;
|
|
||||||
compat_ulong_t mounted_uid;
|
|
||||||
compat_long_t wdog_pid;
|
|
||||||
compat_uint_t ncp_fd;
|
|
||||||
compat_uint_t time_out;
|
|
||||||
compat_uint_t retry_count;
|
|
||||||
compat_ulong_t uid;
|
|
||||||
compat_ulong_t gid;
|
|
||||||
compat_ulong_t file_mode;
|
|
||||||
compat_ulong_t dir_mode;
|
|
||||||
};
|
|
||||||
|
|
||||||
static void *do_ncp_super_data_conv(void *raw_data)
|
|
||||||
{
|
|
||||||
int version = *(unsigned int *)raw_data;
|
|
||||||
|
|
||||||
if (version == 3) {
|
|
||||||
struct compat_ncp_mount_data *c_n = raw_data;
|
|
||||||
struct ncp_mount_data *n = raw_data;
|
|
||||||
|
|
||||||
n->dir_mode = c_n->dir_mode;
|
|
||||||
n->file_mode = c_n->file_mode;
|
|
||||||
n->gid = c_n->gid;
|
|
||||||
n->uid = c_n->uid;
|
|
||||||
memmove (n->mounted_vol, c_n->mounted_vol, (sizeof (c_n->mounted_vol) + 3 * sizeof (unsigned int)));
|
|
||||||
n->wdog_pid = c_n->wdog_pid;
|
|
||||||
n->mounted_uid = c_n->mounted_uid;
|
|
||||||
} else if (version == 4) {
|
|
||||||
struct compat_ncp_mount_data_v4 *c_n = raw_data;
|
|
||||||
struct ncp_mount_data_v4 *n = raw_data;
|
|
||||||
|
|
||||||
n->dir_mode = c_n->dir_mode;
|
|
||||||
n->file_mode = c_n->file_mode;
|
|
||||||
n->gid = c_n->gid;
|
|
||||||
n->uid = c_n->uid;
|
|
||||||
n->retry_count = c_n->retry_count;
|
|
||||||
n->time_out = c_n->time_out;
|
|
||||||
n->ncp_fd = c_n->ncp_fd;
|
|
||||||
n->wdog_pid = c_n->wdog_pid;
|
|
||||||
n->mounted_uid = c_n->mounted_uid;
|
|
||||||
n->flags = c_n->flags;
|
|
||||||
} else if (version != 5) {
|
|
||||||
return NULL;
|
|
||||||
}
|
|
||||||
|
|
||||||
return raw_data;
|
|
||||||
}
|
|
||||||
|
|
||||||
|
|
||||||
struct compat_nfs_string {
|
struct compat_nfs_string {
|
||||||
compat_uint_t len;
|
compat_uint_t len;
|
||||||
compat_uptr_t data;
|
compat_uptr_t data;
|
||||||
|
@ -154,7 +87,6 @@ static int do_nfs4_super_data_conv(void *raw_data)
|
||||||
return 0;
|
return 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
#define NCPFS_NAME "ncpfs"
|
|
||||||
#define NFS4_NAME "nfs4"
|
#define NFS4_NAME "nfs4"
|
||||||
|
|
||||||
COMPAT_SYSCALL_DEFINE5(mount, const char __user *, dev_name,
|
COMPAT_SYSCALL_DEFINE5(mount, const char __user *, dev_name,
|
||||||
|
@ -183,9 +115,7 @@ COMPAT_SYSCALL_DEFINE5(mount, const char __user *, dev_name,
|
||||||
goto out2;
|
goto out2;
|
||||||
|
|
||||||
if (kernel_type && options) {
|
if (kernel_type && options) {
|
||||||
if (!strcmp(kernel_type, NCPFS_NAME)) {
|
if (!strcmp(kernel_type, NFS4_NAME)) {
|
||||||
do_ncp_super_data_conv(options);
|
|
||||||
} else if (!strcmp(kernel_type, NFS4_NAME)) {
|
|
||||||
retval = -EINVAL;
|
retval = -EINVAL;
|
||||||
if (do_nfs4_super_data_conv(options))
|
if (do_nfs4_super_data_conv(options))
|
||||||
goto out3;
|
goto out3;
|
||||||
|
|
Загрузка…
Ссылка в новой задаче