From fc1127d754578cd1dc3b52aebce1d5ae09f2d347 Mon Sep 17 00:00:00 2001 From: NeilBrown Date: Tue, 6 Dec 2016 11:02:42 -0500 Subject: Remove all use of the nfsctl system call. This systemcall was deprecated early in the 2.6 series as it was replaced by an in-kernel cache which was refilled using an upcall. All communication to kernel is now through the nfsd filesystem. The nfsctl systemcall itself was removed in 3.1. It is unlikely to have been used for over a decade. To remove all uses for the nfsctl systemcall, and call code that only runs when "new_cache" is false. We now assume "new_cache" is always true. This allows the removal of several files as well as assorted functions. Signed-off-by: NeilBrown Signed-off-by: Steve Dickson --- support/include/exportfs.h | 7 --- support/include/nfs/nfs.h | 120 --------------------------------------------- support/include/nfslib.h | 16 ------ 3 files changed, 143 deletions(-) (limited to 'support/include') diff --git a/support/include/exportfs.h b/support/include/exportfs.h index 08ef30a..8af47a8 100644 --- a/support/include/exportfs.h +++ b/support/include/exportfs.h @@ -140,15 +140,10 @@ void export_reset(nfs_export *); nfs_export * export_lookup(char *hname, char *path, int caconical); nfs_export * export_find(const struct addrinfo *ai, const char *path); -nfs_export * export_allowed(const struct addrinfo *ai, - const char *path); nfs_export * export_create(struct exportent *, int canonical); void exportent_release(struct exportent *); void export_freeall(void); -int export_export(nfs_export *); -int export_unexport(nfs_export *); -int xtab_mount_read(void); int xtab_export_read(void); int xtab_export_write(void); @@ -167,8 +162,6 @@ struct addrinfo * host_reliable_addrinfo(const struct sockaddr *sap); __attribute__((__malloc__)) struct addrinfo * host_numeric_addrinfo(const struct sockaddr *sap); -int rmtab_read(void); - struct nfskey * key_lookup(char *hname); struct export_features { diff --git a/support/include/nfs/nfs.h b/support/include/nfs/nfs.h index 27054e5..15ecc6b 100644 --- a/support/include/nfs/nfs.h +++ b/support/include/nfs/nfs.h @@ -23,27 +23,7 @@ struct nfs_fh_len { int fh_size; u_int8_t fh_handle[NFS3_FHSIZE]; }; -struct nfs_fh_old { - u_int8_t fh_handle[NFS_FHSIZE]; -}; - -/* - * Version of the syscall interface - */ -#define NFSCTL_VERSION 0x0201 -/* - * These are the commands understood by nfsctl(). - */ -#define NFSCTL_SVC 0 /* This is a server process. */ -#define NFSCTL_ADDCLIENT 1 /* Add an NFS client. */ -#define NFSCTL_DELCLIENT 2 /* Remove an NFS client. */ -#define NFSCTL_EXPORT 3 /* export a file system. */ -#define NFSCTL_UNEXPORT 4 /* unexport a file system. */ -#define NFSCTL_UGIDUPDATE 5 /* update a client's uid/gid map. */ -#define NFSCTL_GETFH 6 /* get an fh (used by mountd) */ -#define NFSCTL_GETFD 7 /* get an fh by path (used by mountd) */ -#define NFSCTL_GETFS 8 /* get an fh by path with max size (used by mountd) */ #define NFSCTL_UDPBIT (1 << (17 - 1)) #define NFSCTL_TCPBIT (1 << (18 - 1)) @@ -64,104 +44,4 @@ struct nfs_fh_old { #define NFSCTL_ANYPROTO(_cltbits) ((_cltbits) & (NFSCTL_UDPBIT | NFSCTL_TCPBIT)) #define NFSCTL_ALLBITS (~0) -/* SVC */ -struct nfsctl_svc { - unsigned short svc_port; - int svc_nthreads; -}; - -/* ADDCLIENT/DELCLIENT */ -struct nfsctl_client { - char cl_ident[NFSCLNT_IDMAX+1]; - int cl_naddr; - struct in_addr cl_addrlist[NFSCLNT_ADDRMAX]; - int cl_fhkeytype; - int cl_fhkeylen; - unsigned char cl_fhkey[NFSCLNT_KEYMAX]; -}; - -/* IN 2.5.6? __kernel_dev_t changed size, and __kernel_old_dev_t was left - * with the old value. We need to make sure we use the right one. - * - */ -#include -#if LINUX_VERSION_CODE > KERNEL_VERSION(2,5,70) -# define __nfsd_dev_t __kernel_old_dev_t -#else -# define __nfsd_dev_t __kernel_dev_t -#endif - -/* EXPORT/UNEXPORT */ -struct nfsctl_export { - char ex_client[NFSCLNT_IDMAX+1]; - char ex_path[NFS_MAXPATHLEN+1]; - __nfsd_dev_t ex_dev; - __kernel_ino_t ex_ino; - int ex_flags; - __kernel_uid_t ex_anon_uid; - __kernel_gid_t ex_anon_gid; -}; - -/* UGIDUPDATE */ -struct nfsctl_uidmap { - char * ug_ident; - __kernel_uid_t ug_uidbase; - int ug_uidlen; - __kernel_uid_t * ug_udimap; - __kernel_gid_t ug_gidbase; - int ug_gidlen; - __kernel_gid_t * ug_gdimap; -}; - -/* GETFH */ -struct nfsctl_fhparm { - struct sockaddr gf_addr; - __nfsd_dev_t gf_dev; - __kernel_ino_t gf_ino; - int gf_version; -}; - -/* GETFD */ -struct nfsctl_fdparm { - struct sockaddr gd_addr; - char gd_path[NFS_MAXPATHLEN+1]; - int gd_version; -}; - -/* GETFS - GET Filehandle with Size */ -struct nfsctl_fsparm { - struct sockaddr gd_addr; - char gd_path[NFS_MAXPATHLEN+1]; - int gd_maxlen; -}; - -/* - * This is the argument union. - */ -struct nfsctl_arg { - int ca_version; /* safeguard */ - union { - struct nfsctl_svc u_svc; - struct nfsctl_client u_client; - struct nfsctl_export u_export; - struct nfsctl_uidmap u_umap; - struct nfsctl_fhparm u_getfh; - struct nfsctl_fdparm u_getfd; - struct nfsctl_fsparm u_getfs; - } u; -#define ca_svc u.u_svc -#define ca_client u.u_client -#define ca_export u.u_export -#define ca_umap u.u_umap -#define ca_getfh u.u_getfh -#define ca_getfd u.u_getfd -#define ca_getfs u.u_getfs -#define ca_authd u.u_authd -}; - -union nfsctl_res { - struct nfs_fh_old cr_getfh; - struct nfs_fh_len cr_getfs; -}; - #endif /* _NFS_NFS_H */ diff --git a/support/include/nfslib.h b/support/include/nfslib.h index 777f398..1498977 100644 --- a/support/include/nfslib.h +++ b/support/include/nfslib.h @@ -129,25 +129,9 @@ void daemon_ready(void); */ int wildmat(char *text, char *pattern); -/* - * nfsd library functions. - */ -int nfsctl(int, struct nfsctl_arg *, union nfsctl_res *); -int nfsaddclient(struct nfsctl_client *clp); -int nfsdelclient(struct nfsctl_client *clp); -int nfsexport(struct nfsctl_export *exp); -int nfsunexport(struct nfsctl_export *exp); - -struct nfs_fh_len * getfh_old(const struct sockaddr_in *sin, - const dev_t dev, const ino_t ino); -struct nfs_fh_len * getfh(const struct sockaddr_in *sin, const char *path); -struct nfs_fh_len * getfh_size(const struct sockaddr_in *sin, - const char *path, int const size); - int qword_get(char **bpp, char *dest, int bufsize); int qword_get_int(char **bpp, int *anint); void cache_flush(int force); -int check_new_cache(void); void qword_add(char **bpp, int *lp, char *str); void qword_addhex(char **bpp, int *lp, char *buf, int blen); void qword_addint(char **bpp, int *lp, int n); -- cgit