Change the sysctl naming for the old and new NFS clients
to vfs.oldnfs.xxx and vfs.nfs.xxx respectively. This makes the default nfs client use vfs.nfs.xxx after r221124.
This commit is contained in:
parent
6e81b75a3c
commit
1f3765902c
Notes:
svn2git
2020-12-20 02:59:44 +00:00
svn path=/head/; revision=221973
@ -78,17 +78,17 @@ static int nfs3_jukebox_delay = 10;
|
|||||||
static int nfs_skip_wcc_data_onerr = 1;
|
static int nfs_skip_wcc_data_onerr = 1;
|
||||||
static int nfs_keytab_enctype = ETYPE_DES_CBC_CRC;
|
static int nfs_keytab_enctype = ETYPE_DES_CBC_CRC;
|
||||||
|
|
||||||
SYSCTL_DECL(_vfs_newnfs);
|
SYSCTL_DECL(_vfs_nfs);
|
||||||
|
|
||||||
SYSCTL_INT(_vfs_newnfs, OID_AUTO, bufpackets, CTLFLAG_RW, &nfs_bufpackets, 0,
|
SYSCTL_INT(_vfs_nfs, OID_AUTO, bufpackets, CTLFLAG_RW, &nfs_bufpackets, 0,
|
||||||
"Buffer reservation size 2 < x < 64");
|
"Buffer reservation size 2 < x < 64");
|
||||||
SYSCTL_INT(_vfs_newnfs, OID_AUTO, reconnects, CTLFLAG_RD, &nfs_reconnects, 0,
|
SYSCTL_INT(_vfs_nfs, OID_AUTO, reconnects, CTLFLAG_RD, &nfs_reconnects, 0,
|
||||||
"Number of times the nfs client has had to reconnect");
|
"Number of times the nfs client has had to reconnect");
|
||||||
SYSCTL_INT(_vfs_newnfs, OID_AUTO, nfs3_jukebox_delay, CTLFLAG_RW, &nfs3_jukebox_delay, 0,
|
SYSCTL_INT(_vfs_nfs, OID_AUTO, nfs3_jukebox_delay, CTLFLAG_RW, &nfs3_jukebox_delay, 0,
|
||||||
"Number of seconds to delay a retry after receiving EJUKEBOX");
|
"Number of seconds to delay a retry after receiving EJUKEBOX");
|
||||||
SYSCTL_INT(_vfs_newnfs, OID_AUTO, skip_wcc_data_onerr, CTLFLAG_RW, &nfs_skip_wcc_data_onerr, 0,
|
SYSCTL_INT(_vfs_nfs, OID_AUTO, skip_wcc_data_onerr, CTLFLAG_RW, &nfs_skip_wcc_data_onerr, 0,
|
||||||
"Disable weak cache consistency checking when server returns an error");
|
"Disable weak cache consistency checking when server returns an error");
|
||||||
SYSCTL_INT(_vfs_newnfs, OID_AUTO, keytab_enctype, CTLFLAG_RW, &nfs_keytab_enctype, 0,
|
SYSCTL_INT(_vfs_nfs, OID_AUTO, keytab_enctype, CTLFLAG_RW, &nfs_keytab_enctype, 0,
|
||||||
"Encryption type for the keytab entry used by nfs");
|
"Encryption type for the keytab entry used by nfs");
|
||||||
|
|
||||||
static void nfs_down(struct nfsmount *, struct thread *, const char *,
|
static void nfs_down(struct nfsmount *, struct thread *, const char *,
|
||||||
|
@ -69,14 +69,12 @@ void (*ncl_call_invalcaches)(struct vnode *) = NULL;
|
|||||||
static int nfs_realign_test;
|
static int nfs_realign_test;
|
||||||
static int nfs_realign_count;
|
static int nfs_realign_count;
|
||||||
|
|
||||||
SYSCTL_NODE(_vfs, OID_AUTO, newnfs, CTLFLAG_RW, 0, "New NFS filesystem");
|
SYSCTL_NODE(_vfs, OID_AUTO, nfs, CTLFLAG_RW, 0, "New NFS filesystem");
|
||||||
SYSCTL_INT(_vfs_newnfs, OID_AUTO, realign_test, CTLFLAG_RW, &nfs_realign_test,
|
SYSCTL_INT(_vfs_nfs, OID_AUTO, realign_test, CTLFLAG_RW, &nfs_realign_test,
|
||||||
0, "Number of realign tests done");
|
0, "Number of realign tests done");
|
||||||
SYSCTL_INT(_vfs_newnfs, OID_AUTO, realign_count, CTLFLAG_RW, &nfs_realign_count,
|
SYSCTL_INT(_vfs_nfs, OID_AUTO, realign_count, CTLFLAG_RW, &nfs_realign_count,
|
||||||
0, "Number of mbuf realignments done");
|
0, "Number of mbuf realignments done");
|
||||||
SYSCTL_INT(_vfs_newnfs, OID_AUTO, nfs4acl_enable, CTLFLAG_RW, &nfsrv_useacl,
|
SYSCTL_STRING(_vfs_nfs, OID_AUTO, callback_addr, CTLFLAG_RW,
|
||||||
0, "Enable NFSv4 ACLs");
|
|
||||||
SYSCTL_STRING(_vfs_newnfs, OID_AUTO, callback_addr, CTLFLAG_RW,
|
|
||||||
nfsv4_callbackaddr, sizeof(nfsv4_callbackaddr),
|
nfsv4_callbackaddr, sizeof(nfsv4_callbackaddr),
|
||||||
"NFSv4 callback addr for server to use");
|
"NFSv4 callback addr for server to use");
|
||||||
|
|
||||||
|
@ -46,8 +46,6 @@ __FBSDID("$FreeBSD$");
|
|||||||
|
|
||||||
NFSDLOCKMUTEX;
|
NFSDLOCKMUTEX;
|
||||||
|
|
||||||
SYSCTL_DECL(_vfs_newnfs);
|
|
||||||
|
|
||||||
SVCPOOL *nfscbd_pool;
|
SVCPOOL *nfscbd_pool;
|
||||||
|
|
||||||
static int nfs_cbproc(struct nfsrv_descript *, u_int32_t);
|
static int nfs_cbproc(struct nfsrv_descript *, u_int32_t);
|
||||||
|
@ -80,11 +80,11 @@ static void nfssvc_iod(void *);
|
|||||||
|
|
||||||
static int nfs_asyncdaemon[NFS_MAXASYNCDAEMON];
|
static int nfs_asyncdaemon[NFS_MAXASYNCDAEMON];
|
||||||
|
|
||||||
SYSCTL_DECL(_vfs_newnfs);
|
SYSCTL_DECL(_vfs_nfs);
|
||||||
|
|
||||||
/* Maximum number of seconds a nfsiod kthread will sleep before exiting */
|
/* Maximum number of seconds a nfsiod kthread will sleep before exiting */
|
||||||
static unsigned int nfs_iodmaxidle = 120;
|
static unsigned int nfs_iodmaxidle = 120;
|
||||||
SYSCTL_UINT(_vfs_newnfs, OID_AUTO, iodmaxidle, CTLFLAG_RW, &nfs_iodmaxidle, 0,
|
SYSCTL_UINT(_vfs_nfs, OID_AUTO, iodmaxidle, CTLFLAG_RW, &nfs_iodmaxidle, 0,
|
||||||
"Max number of seconds an nfsiod kthread will sleep before exiting");
|
"Max number of seconds an nfsiod kthread will sleep before exiting");
|
||||||
|
|
||||||
/* Maximum number of nfsiod kthreads */
|
/* Maximum number of nfsiod kthreads */
|
||||||
@ -123,7 +123,7 @@ sysctl_iodmin(SYSCTL_HANDLER_ARGS)
|
|||||||
mtx_unlock(&ncl_iod_mutex);
|
mtx_unlock(&ncl_iod_mutex);
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
SYSCTL_PROC(_vfs_newnfs, OID_AUTO, iodmin, CTLTYPE_UINT | CTLFLAG_RW, 0,
|
SYSCTL_PROC(_vfs_nfs, OID_AUTO, iodmin, CTLTYPE_UINT | CTLFLAG_RW, 0,
|
||||||
sizeof (nfs_iodmin), sysctl_iodmin, "IU",
|
sizeof (nfs_iodmin), sysctl_iodmin, "IU",
|
||||||
"Min number of nfsiod kthreads to keep as spares");
|
"Min number of nfsiod kthreads to keep as spares");
|
||||||
|
|
||||||
@ -159,7 +159,7 @@ sysctl_iodmax(SYSCTL_HANDLER_ARGS)
|
|||||||
mtx_unlock(&ncl_iod_mutex);
|
mtx_unlock(&ncl_iod_mutex);
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
SYSCTL_PROC(_vfs_newnfs, OID_AUTO, iodmax, CTLTYPE_UINT | CTLFLAG_RW, 0,
|
SYSCTL_PROC(_vfs_nfs, OID_AUTO, iodmax, CTLTYPE_UINT | CTLFLAG_RW, 0,
|
||||||
sizeof (ncl_iodmax), sysctl_iodmax, "IU",
|
sizeof (ncl_iodmax), sysctl_iodmax, "IU",
|
||||||
"Max number of nfsiod kthreads");
|
"Max number of nfsiod kthreads");
|
||||||
|
|
||||||
@ -214,7 +214,7 @@ nfsiod_setup(void *dummy)
|
|||||||
{
|
{
|
||||||
int error;
|
int error;
|
||||||
|
|
||||||
TUNABLE_INT_FETCH("vfs.newnfs.iodmin", &nfs_iodmin);
|
TUNABLE_INT_FETCH("vfs.nfs.iodmin", &nfs_iodmin);
|
||||||
nfscl_init();
|
nfscl_init();
|
||||||
mtx_lock(&ncl_iod_mutex);
|
mtx_lock(&ncl_iod_mutex);
|
||||||
/* Silently limit the start number of nfsiod's */
|
/* Silently limit the start number of nfsiod's */
|
||||||
@ -231,7 +231,7 @@ nfsiod_setup(void *dummy)
|
|||||||
SYSINIT(newnfsiod, SI_SUB_KTHREAD_IDLE, SI_ORDER_ANY, nfsiod_setup, NULL);
|
SYSINIT(newnfsiod, SI_SUB_KTHREAD_IDLE, SI_ORDER_ANY, nfsiod_setup, NULL);
|
||||||
|
|
||||||
static int nfs_defect = 0;
|
static int nfs_defect = 0;
|
||||||
SYSCTL_INT(_vfs_newnfs, OID_AUTO, defect, CTLFLAG_RW, &nfs_defect, 0,
|
SYSCTL_INT(_vfs_nfs, OID_AUTO, defect, CTLFLAG_RW, &nfs_defect, 0,
|
||||||
"Allow nfsiods to migrate serving different mounts");
|
"Allow nfsiods to migrate serving different mounts");
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -174,9 +174,9 @@ ncl_printf(const char *fmt, ...)
|
|||||||
|
|
||||||
#ifdef NFS_ACDEBUG
|
#ifdef NFS_ACDEBUG
|
||||||
#include <sys/sysctl.h>
|
#include <sys/sysctl.h>
|
||||||
SYSCTL_DECL(_vfs_newnfs);
|
SYSCTL_DECL(_vfs_nfs);
|
||||||
static int nfs_acdebug;
|
static int nfs_acdebug;
|
||||||
SYSCTL_INT(_vfs_newnfs, OID_AUTO, acdebug, CTLFLAG_RW, &nfs_acdebug, 0, "");
|
SYSCTL_INT(_vfs_nfs, OID_AUTO, acdebug, CTLFLAG_RW, &nfs_acdebug, 0, "");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -83,18 +83,16 @@ extern struct nfsstats newnfsstats;
|
|||||||
MALLOC_DEFINE(M_NEWNFSREQ, "newnfsclient_req", "New NFS request header");
|
MALLOC_DEFINE(M_NEWNFSREQ, "newnfsclient_req", "New NFS request header");
|
||||||
MALLOC_DEFINE(M_NEWNFSMNT, "newnfsmnt", "New NFS mount struct");
|
MALLOC_DEFINE(M_NEWNFSMNT, "newnfsmnt", "New NFS mount struct");
|
||||||
|
|
||||||
SYSCTL_DECL(_vfs_newnfs);
|
SYSCTL_DECL(_vfs_nfs);
|
||||||
SYSCTL_STRUCT(_vfs_newnfs, NFS_NFSSTATS, nfsstats, CTLFLAG_RW,
|
|
||||||
&newnfsstats, nfsstats, "S,nfsstats");
|
|
||||||
static int nfs_ip_paranoia = 1;
|
static int nfs_ip_paranoia = 1;
|
||||||
SYSCTL_INT(_vfs_newnfs, OID_AUTO, nfs_ip_paranoia, CTLFLAG_RW,
|
SYSCTL_INT(_vfs_nfs, OID_AUTO, nfs_ip_paranoia, CTLFLAG_RW,
|
||||||
&nfs_ip_paranoia, 0, "");
|
&nfs_ip_paranoia, 0, "");
|
||||||
static int nfs_tprintf_initial_delay = NFS_TPRINTF_INITIAL_DELAY;
|
static int nfs_tprintf_initial_delay = NFS_TPRINTF_INITIAL_DELAY;
|
||||||
SYSCTL_INT(_vfs_newnfs, NFS_TPRINTF_INITIAL_DELAY,
|
SYSCTL_INT(_vfs_nfs, NFS_TPRINTF_INITIAL_DELAY,
|
||||||
downdelayinitial, CTLFLAG_RW, &nfs_tprintf_initial_delay, 0, "");
|
downdelayinitial, CTLFLAG_RW, &nfs_tprintf_initial_delay, 0, "");
|
||||||
/* how long between console messages "nfs server foo not responding" */
|
/* how long between console messages "nfs server foo not responding" */
|
||||||
static int nfs_tprintf_delay = NFS_TPRINTF_DELAY;
|
static int nfs_tprintf_delay = NFS_TPRINTF_DELAY;
|
||||||
SYSCTL_INT(_vfs_newnfs, NFS_TPRINTF_DELAY,
|
SYSCTL_INT(_vfs_nfs, NFS_TPRINTF_DELAY,
|
||||||
downdelayinterval, CTLFLAG_RW, &nfs_tprintf_delay, 0, "");
|
downdelayinterval, CTLFLAG_RW, &nfs_tprintf_delay, 0, "");
|
||||||
|
|
||||||
static int nfs_mountroot(struct mount *);
|
static int nfs_mountroot(struct mount *);
|
||||||
@ -152,14 +150,14 @@ struct nfsv3_diskless nfsv3_diskless = { { { 0 } } };
|
|||||||
int nfs_diskless_valid = 0;
|
int nfs_diskless_valid = 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
SYSCTL_INT(_vfs_newnfs, OID_AUTO, diskless_valid, CTLFLAG_RD,
|
SYSCTL_INT(_vfs_nfs, OID_AUTO, diskless_valid, CTLFLAG_RD,
|
||||||
&nfs_diskless_valid, 0,
|
&nfs_diskless_valid, 0,
|
||||||
"Has the diskless struct been filled correctly");
|
"Has the diskless struct been filled correctly");
|
||||||
|
|
||||||
SYSCTL_STRING(_vfs_newnfs, OID_AUTO, diskless_rootpath, CTLFLAG_RD,
|
SYSCTL_STRING(_vfs_nfs, OID_AUTO, diskless_rootpath, CTLFLAG_RD,
|
||||||
nfsv3_diskless.root_hostnam, 0, "Path to nfs root");
|
nfsv3_diskless.root_hostnam, 0, "Path to nfs root");
|
||||||
|
|
||||||
SYSCTL_OPAQUE(_vfs_newnfs, OID_AUTO, diskless_rootaddr, CTLFLAG_RD,
|
SYSCTL_OPAQUE(_vfs_nfs, OID_AUTO, diskless_rootaddr, CTLFLAG_RD,
|
||||||
&nfsv3_diskless.root_saddr, sizeof(nfsv3_diskless.root_saddr),
|
&nfsv3_diskless.root_saddr, sizeof(nfsv3_diskless.root_saddr),
|
||||||
"%Ssockaddr_in", "Diskless root nfs address");
|
"%Ssockaddr_in", "Diskless root nfs address");
|
||||||
|
|
||||||
|
@ -199,27 +199,27 @@ static int nfs_renameit(struct vnode *sdvp, struct vnode *svp,
|
|||||||
*/
|
*/
|
||||||
#define DIRHDSIZ (sizeof (struct dirent) - (MAXNAMLEN + 1))
|
#define DIRHDSIZ (sizeof (struct dirent) - (MAXNAMLEN + 1))
|
||||||
|
|
||||||
SYSCTL_DECL(_vfs_newnfs);
|
SYSCTL_DECL(_vfs_nfs);
|
||||||
|
|
||||||
static int nfsaccess_cache_timeout = NFS_MAXATTRTIMO;
|
static int nfsaccess_cache_timeout = NFS_MAXATTRTIMO;
|
||||||
SYSCTL_INT(_vfs_newnfs, OID_AUTO, access_cache_timeout, CTLFLAG_RW,
|
SYSCTL_INT(_vfs_nfs, OID_AUTO, access_cache_timeout, CTLFLAG_RW,
|
||||||
&nfsaccess_cache_timeout, 0, "NFS ACCESS cache timeout");
|
&nfsaccess_cache_timeout, 0, "NFS ACCESS cache timeout");
|
||||||
|
|
||||||
static int nfs_prime_access_cache = 0;
|
static int nfs_prime_access_cache = 0;
|
||||||
SYSCTL_INT(_vfs_newnfs, OID_AUTO, prime_access_cache, CTLFLAG_RW,
|
SYSCTL_INT(_vfs_nfs, OID_AUTO, prime_access_cache, CTLFLAG_RW,
|
||||||
&nfs_prime_access_cache, 0,
|
&nfs_prime_access_cache, 0,
|
||||||
"Prime NFS ACCESS cache when fetching attributes");
|
"Prime NFS ACCESS cache when fetching attributes");
|
||||||
|
|
||||||
static int newnfs_commit_on_close = 0;
|
static int newnfs_commit_on_close = 0;
|
||||||
SYSCTL_INT(_vfs_newnfs, OID_AUTO, commit_on_close, CTLFLAG_RW,
|
SYSCTL_INT(_vfs_nfs, OID_AUTO, commit_on_close, CTLFLAG_RW,
|
||||||
&newnfs_commit_on_close, 0, "write+commit on close, else only write");
|
&newnfs_commit_on_close, 0, "write+commit on close, else only write");
|
||||||
|
|
||||||
static int nfs_clean_pages_on_close = 1;
|
static int nfs_clean_pages_on_close = 1;
|
||||||
SYSCTL_INT(_vfs_newnfs, OID_AUTO, clean_pages_on_close, CTLFLAG_RW,
|
SYSCTL_INT(_vfs_nfs, OID_AUTO, clean_pages_on_close, CTLFLAG_RW,
|
||||||
&nfs_clean_pages_on_close, 0, "NFS clean dirty pages on close");
|
&nfs_clean_pages_on_close, 0, "NFS clean dirty pages on close");
|
||||||
|
|
||||||
int newnfs_directio_enable = 0;
|
int newnfs_directio_enable = 0;
|
||||||
SYSCTL_INT(_vfs_newnfs, OID_AUTO, nfs_directio_enable, CTLFLAG_RW,
|
SYSCTL_INT(_vfs_nfs, OID_AUTO, nfs_directio_enable, CTLFLAG_RW,
|
||||||
&newnfs_directio_enable, 0, "Enable NFS directio");
|
&newnfs_directio_enable, 0, "Enable NFS directio");
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -234,14 +234,14 @@ SYSCTL_INT(_vfs_newnfs, OID_AUTO, nfs_directio_enable, CTLFLAG_RW,
|
|||||||
* meaningful.
|
* meaningful.
|
||||||
*/
|
*/
|
||||||
int newnfs_directio_allow_mmap = 1;
|
int newnfs_directio_allow_mmap = 1;
|
||||||
SYSCTL_INT(_vfs_newnfs, OID_AUTO, nfs_directio_allow_mmap, CTLFLAG_RW,
|
SYSCTL_INT(_vfs_nfs, OID_AUTO, nfs_directio_allow_mmap, CTLFLAG_RW,
|
||||||
&newnfs_directio_allow_mmap, 0, "Enable mmaped IO on file with O_DIRECT opens");
|
&newnfs_directio_allow_mmap, 0, "Enable mmaped IO on file with O_DIRECT opens");
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
SYSCTL_INT(_vfs_newnfs, OID_AUTO, access_cache_hits, CTLFLAG_RD,
|
SYSCTL_INT(_vfs_nfs, OID_AUTO, access_cache_hits, CTLFLAG_RD,
|
||||||
&newnfsstats.accesscache_hits, 0, "NFS ACCESS cache hit count");
|
&newnfsstats.accesscache_hits, 0, "NFS ACCESS cache hit count");
|
||||||
|
|
||||||
SYSCTL_INT(_vfs_newnfs, OID_AUTO, access_cache_misses, CTLFLAG_RD,
|
SYSCTL_INT(_vfs_nfs, OID_AUTO, access_cache_misses, CTLFLAG_RD,
|
||||||
&newnfsstats.accesscache_misses, 0, "NFS ACCESS cache miss count");
|
&newnfsstats.accesscache_misses, 0, "NFS ACCESS cache miss count");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -361,7 +361,7 @@ nfsm_adv_xx(int s, struct mbuf **md, caddr_t *dpos)
|
|||||||
*
|
*
|
||||||
* We would prefer to avoid this situation entirely. The situation does not
|
* We would prefer to avoid this situation entirely. The situation does not
|
||||||
* occur with NFS/UDP and is supposed to only occassionally occur with TCP.
|
* occur with NFS/UDP and is supposed to only occassionally occur with TCP.
|
||||||
* Use vfs.nfs.realign_count and realign_test to check this.
|
* Use vfs.nfs_common.realign_count and realign_test to check this.
|
||||||
*/
|
*/
|
||||||
int
|
int
|
||||||
nfs_realign(struct mbuf **pm, int how)
|
nfs_realign(struct mbuf **pm, int how)
|
||||||
|
@ -93,16 +93,16 @@ static int nfs3_jukebox_delay = 10;
|
|||||||
static int nfs_skip_wcc_data_onerr = 1;
|
static int nfs_skip_wcc_data_onerr = 1;
|
||||||
static int fake_wchan;
|
static int fake_wchan;
|
||||||
|
|
||||||
SYSCTL_DECL(_vfs_nfs);
|
SYSCTL_DECL(_vfs_oldnfs);
|
||||||
|
|
||||||
SYSCTL_INT(_vfs_nfs, OID_AUTO, bufpackets, CTLFLAG_RW, &nfs_bufpackets, 0,
|
SYSCTL_INT(_vfs_oldnfs, OID_AUTO, bufpackets, CTLFLAG_RW, &nfs_bufpackets, 0,
|
||||||
"Buffer reservation size 2 < x < 64");
|
"Buffer reservation size 2 < x < 64");
|
||||||
SYSCTL_INT(_vfs_nfs, OID_AUTO, reconnects, CTLFLAG_RD, &nfs_reconnects, 0,
|
SYSCTL_INT(_vfs_oldnfs, OID_AUTO, reconnects, CTLFLAG_RD, &nfs_reconnects, 0,
|
||||||
"Number of times the nfs client has had to reconnect");
|
"Number of times the nfs client has had to reconnect");
|
||||||
SYSCTL_INT(_vfs_nfs, OID_AUTO, nfs3_jukebox_delay, CTLFLAG_RW,
|
SYSCTL_INT(_vfs_oldnfs, OID_AUTO, nfs3_jukebox_delay, CTLFLAG_RW,
|
||||||
&nfs3_jukebox_delay, 0,
|
&nfs3_jukebox_delay, 0,
|
||||||
"Number of seconds to delay a retry after receiving EJUKEBOX");
|
"Number of seconds to delay a retry after receiving EJUKEBOX");
|
||||||
SYSCTL_INT(_vfs_nfs, OID_AUTO, skip_wcc_data_onerr, CTLFLAG_RW,
|
SYSCTL_INT(_vfs_oldnfs, OID_AUTO, skip_wcc_data_onerr, CTLFLAG_RW,
|
||||||
&nfs_skip_wcc_data_onerr, 0,
|
&nfs_skip_wcc_data_onerr, 0,
|
||||||
"Disable weak cache consistency checking when server returns an error");
|
"Disable weak cache consistency checking when server returns an error");
|
||||||
|
|
||||||
|
@ -78,11 +78,11 @@ static void nfssvc_iod(void *);
|
|||||||
|
|
||||||
static int nfs_asyncdaemon[NFS_MAXASYNCDAEMON];
|
static int nfs_asyncdaemon[NFS_MAXASYNCDAEMON];
|
||||||
|
|
||||||
SYSCTL_DECL(_vfs_nfs);
|
SYSCTL_DECL(_vfs_oldnfs);
|
||||||
|
|
||||||
/* Maximum number of seconds a nfsiod kthread will sleep before exiting */
|
/* Maximum number of seconds a nfsiod kthread will sleep before exiting */
|
||||||
static unsigned int nfs_iodmaxidle = 120;
|
static unsigned int nfs_iodmaxidle = 120;
|
||||||
SYSCTL_UINT(_vfs_nfs, OID_AUTO, iodmaxidle, CTLFLAG_RW, &nfs_iodmaxidle, 0,
|
SYSCTL_UINT(_vfs_oldnfs, OID_AUTO, iodmaxidle, CTLFLAG_RW, &nfs_iodmaxidle, 0,
|
||||||
"Max number of seconds an nfsiod kthread will sleep before exiting");
|
"Max number of seconds an nfsiod kthread will sleep before exiting");
|
||||||
|
|
||||||
/* Maximum number of nfsiod kthreads */
|
/* Maximum number of nfsiod kthreads */
|
||||||
@ -121,7 +121,7 @@ sysctl_iodmin(SYSCTL_HANDLER_ARGS)
|
|||||||
mtx_unlock(&nfs_iod_mtx);
|
mtx_unlock(&nfs_iod_mtx);
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
SYSCTL_PROC(_vfs_nfs, OID_AUTO, iodmin, CTLTYPE_UINT | CTLFLAG_RW, 0,
|
SYSCTL_PROC(_vfs_oldnfs, OID_AUTO, iodmin, CTLTYPE_UINT | CTLFLAG_RW, 0,
|
||||||
sizeof (nfs_iodmin), sysctl_iodmin, "IU",
|
sizeof (nfs_iodmin), sysctl_iodmin, "IU",
|
||||||
"Min number of nfsiod kthreads to keep as spares");
|
"Min number of nfsiod kthreads to keep as spares");
|
||||||
|
|
||||||
@ -158,7 +158,7 @@ sysctl_iodmax(SYSCTL_HANDLER_ARGS)
|
|||||||
mtx_unlock(&nfs_iod_mtx);
|
mtx_unlock(&nfs_iod_mtx);
|
||||||
return (0);
|
return (0);
|
||||||
}
|
}
|
||||||
SYSCTL_PROC(_vfs_nfs, OID_AUTO, iodmax, CTLTYPE_UINT | CTLFLAG_RW, 0,
|
SYSCTL_PROC(_vfs_oldnfs, OID_AUTO, iodmax, CTLTYPE_UINT | CTLFLAG_RW, 0,
|
||||||
sizeof (nfs_iodmax), sysctl_iodmax, "IU",
|
sizeof (nfs_iodmax), sysctl_iodmax, "IU",
|
||||||
"Max number of nfsiod kthreads");
|
"Max number of nfsiod kthreads");
|
||||||
|
|
||||||
@ -213,7 +213,7 @@ nfsiod_setup(void *dummy)
|
|||||||
{
|
{
|
||||||
int error;
|
int error;
|
||||||
|
|
||||||
TUNABLE_INT_FETCH("vfs.nfs.iodmin", &nfs_iodmin);
|
TUNABLE_INT_FETCH("vfs.oldnfs.iodmin", &nfs_iodmin);
|
||||||
mtx_lock(&nfs_iod_mtx);
|
mtx_lock(&nfs_iod_mtx);
|
||||||
/* Silently limit the start number of nfsiod's */
|
/* Silently limit the start number of nfsiod's */
|
||||||
if (nfs_iodmin > NFS_MAXASYNCDAEMON)
|
if (nfs_iodmin > NFS_MAXASYNCDAEMON)
|
||||||
@ -229,7 +229,7 @@ nfsiod_setup(void *dummy)
|
|||||||
SYSINIT(nfsiod, SI_SUB_KTHREAD_IDLE, SI_ORDER_ANY, nfsiod_setup, NULL);
|
SYSINIT(nfsiod, SI_SUB_KTHREAD_IDLE, SI_ORDER_ANY, nfsiod_setup, NULL);
|
||||||
|
|
||||||
static int nfs_defect = 0;
|
static int nfs_defect = 0;
|
||||||
SYSCTL_INT(_vfs_nfs, OID_AUTO, defect, CTLFLAG_RW, &nfs_defect, 0,
|
SYSCTL_INT(_vfs_oldnfs, OID_AUTO, defect, CTLFLAG_RW, &nfs_defect, 0,
|
||||||
"Allow nfsiods to migrate serving different mounts");
|
"Allow nfsiods to migrate serving different mounts");
|
||||||
|
|
||||||
/*
|
/*
|
||||||
|
@ -653,9 +653,9 @@ nfs_loadattrcache(struct vnode **vpp, struct mbuf **mdp, caddr_t *dposp,
|
|||||||
|
|
||||||
#ifdef NFS_ACDEBUG
|
#ifdef NFS_ACDEBUG
|
||||||
#include <sys/sysctl.h>
|
#include <sys/sysctl.h>
|
||||||
SYSCTL_DECL(_vfs_nfs);
|
SYSCTL_DECL(_vfs_oldnfs);
|
||||||
static int nfs_acdebug;
|
static int nfs_acdebug;
|
||||||
SYSCTL_INT(_vfs_nfs, OID_AUTO, acdebug, CTLFLAG_RW, &nfs_acdebug, 0,
|
SYSCTL_INT(_vfs_oldnfs, OID_AUTO, acdebug, CTLFLAG_RW, &nfs_acdebug, 0,
|
||||||
"Toggle acdebug (attribute cache debug) flag");
|
"Toggle acdebug (attribute cache debug) flag");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -90,25 +90,25 @@ uma_zone_t nfsmount_zone;
|
|||||||
|
|
||||||
struct nfsstats nfsstats;
|
struct nfsstats nfsstats;
|
||||||
|
|
||||||
SYSCTL_NODE(_vfs, OID_AUTO, nfs, CTLFLAG_RW, 0, "NFS filesystem");
|
SYSCTL_NODE(_vfs, OID_AUTO, oldnfs, CTLFLAG_RW, 0, "Old NFS filesystem");
|
||||||
SYSCTL_STRUCT(_vfs_nfs, NFS_NFSSTATS, nfsstats, CTLFLAG_RW,
|
SYSCTL_STRUCT(_vfs_oldnfs, NFS_NFSSTATS, nfsstats, CTLFLAG_RW,
|
||||||
&nfsstats, nfsstats, "S,nfsstats");
|
&nfsstats, nfsstats, "S,nfsstats");
|
||||||
static int nfs_ip_paranoia = 1;
|
static int nfs_ip_paranoia = 1;
|
||||||
SYSCTL_INT(_vfs_nfs, OID_AUTO, nfs_ip_paranoia, CTLFLAG_RW,
|
SYSCTL_INT(_vfs_oldnfs, OID_AUTO, nfs_ip_paranoia, CTLFLAG_RW,
|
||||||
&nfs_ip_paranoia, 0,
|
&nfs_ip_paranoia, 0,
|
||||||
"Disallow accepting replies from IPs which differ from those sent");
|
"Disallow accepting replies from IPs which differ from those sent");
|
||||||
#ifdef NFS_DEBUG
|
#ifdef NFS_DEBUG
|
||||||
int nfs_debug;
|
int nfs_debug;
|
||||||
SYSCTL_INT(_vfs_nfs, OID_AUTO, debug, CTLFLAG_RW, &nfs_debug, 0,
|
SYSCTL_INT(_vfs_oldnfs, OID_AUTO, debug, CTLFLAG_RW, &nfs_debug, 0,
|
||||||
"Toggle debug flag");
|
"Toggle debug flag");
|
||||||
#endif
|
#endif
|
||||||
static int nfs_tprintf_initial_delay = NFS_TPRINTF_INITIAL_DELAY;
|
static int nfs_tprintf_initial_delay = NFS_TPRINTF_INITIAL_DELAY;
|
||||||
SYSCTL_INT(_vfs_nfs, NFS_TPRINTF_INITIAL_DELAY,
|
SYSCTL_INT(_vfs_oldnfs, NFS_TPRINTF_INITIAL_DELAY,
|
||||||
downdelayinitial, CTLFLAG_RW, &nfs_tprintf_initial_delay, 0,
|
downdelayinitial, CTLFLAG_RW, &nfs_tprintf_initial_delay, 0,
|
||||||
"Delay before printing \"nfs server not responding\" messages");
|
"Delay before printing \"nfs server not responding\" messages");
|
||||||
/* how long between console messages "nfs server foo not responding" */
|
/* how long between console messages "nfs server foo not responding" */
|
||||||
static int nfs_tprintf_delay = NFS_TPRINTF_DELAY;
|
static int nfs_tprintf_delay = NFS_TPRINTF_DELAY;
|
||||||
SYSCTL_INT(_vfs_nfs, NFS_TPRINTF_DELAY,
|
SYSCTL_INT(_vfs_oldnfs, NFS_TPRINTF_DELAY,
|
||||||
downdelayinterval, CTLFLAG_RW, &nfs_tprintf_delay, 0,
|
downdelayinterval, CTLFLAG_RW, &nfs_tprintf_delay, 0,
|
||||||
"Delay between printing \"nfs server not responding\" messages");
|
"Delay between printing \"nfs server not responding\" messages");
|
||||||
|
|
||||||
@ -176,14 +176,14 @@ struct nfsv3_diskless nfsv3_diskless = { { { 0 } } };
|
|||||||
int nfs_diskless_valid = 0;
|
int nfs_diskless_valid = 0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
SYSCTL_INT(_vfs_nfs, OID_AUTO, diskless_valid, CTLFLAG_RD,
|
SYSCTL_INT(_vfs_oldnfs, OID_AUTO, diskless_valid, CTLFLAG_RD,
|
||||||
&nfs_diskless_valid, 0,
|
&nfs_diskless_valid, 0,
|
||||||
"Has the diskless struct been filled correctly");
|
"Has the diskless struct been filled correctly");
|
||||||
|
|
||||||
SYSCTL_STRING(_vfs_nfs, OID_AUTO, diskless_rootpath, CTLFLAG_RD,
|
SYSCTL_STRING(_vfs_oldnfs, OID_AUTO, diskless_rootpath, CTLFLAG_RD,
|
||||||
nfsv3_diskless.root_hostnam, 0, "Path to nfs root");
|
nfsv3_diskless.root_hostnam, 0, "Path to nfs root");
|
||||||
|
|
||||||
SYSCTL_OPAQUE(_vfs_nfs, OID_AUTO, diskless_rootaddr, CTLFLAG_RD,
|
SYSCTL_OPAQUE(_vfs_oldnfs, OID_AUTO, diskless_rootaddr, CTLFLAG_RD,
|
||||||
&nfsv3_diskless.root_saddr, sizeof nfsv3_diskless.root_saddr,
|
&nfsv3_diskless.root_saddr, sizeof nfsv3_diskless.root_saddr,
|
||||||
"%Ssockaddr_in", "Diskless root nfs address");
|
"%Ssockaddr_in", "Diskless root nfs address");
|
||||||
|
|
||||||
|
@ -217,27 +217,27 @@ struct nfsmount *nfs_iodmount[NFS_MAXASYNCDAEMON];
|
|||||||
int nfs_numasync = 0;
|
int nfs_numasync = 0;
|
||||||
#define DIRHDSIZ (sizeof (struct dirent) - (MAXNAMLEN + 1))
|
#define DIRHDSIZ (sizeof (struct dirent) - (MAXNAMLEN + 1))
|
||||||
|
|
||||||
SYSCTL_DECL(_vfs_nfs);
|
SYSCTL_DECL(_vfs_oldnfs);
|
||||||
|
|
||||||
static int nfsaccess_cache_timeout = NFS_MAXATTRTIMO;
|
static int nfsaccess_cache_timeout = NFS_MAXATTRTIMO;
|
||||||
SYSCTL_INT(_vfs_nfs, OID_AUTO, access_cache_timeout, CTLFLAG_RW,
|
SYSCTL_INT(_vfs_oldnfs, OID_AUTO, access_cache_timeout, CTLFLAG_RW,
|
||||||
&nfsaccess_cache_timeout, 0, "NFS ACCESS cache timeout");
|
&nfsaccess_cache_timeout, 0, "NFS ACCESS cache timeout");
|
||||||
|
|
||||||
static int nfs_prime_access_cache = 0;
|
static int nfs_prime_access_cache = 0;
|
||||||
SYSCTL_INT(_vfs_nfs, OID_AUTO, prime_access_cache, CTLFLAG_RW,
|
SYSCTL_INT(_vfs_oldnfs, OID_AUTO, prime_access_cache, CTLFLAG_RW,
|
||||||
&nfs_prime_access_cache, 0,
|
&nfs_prime_access_cache, 0,
|
||||||
"Prime NFS ACCESS cache when fetching attributes");
|
"Prime NFS ACCESS cache when fetching attributes");
|
||||||
|
|
||||||
static int nfsv3_commit_on_close = 0;
|
static int nfsv3_commit_on_close = 0;
|
||||||
SYSCTL_INT(_vfs_nfs, OID_AUTO, nfsv3_commit_on_close, CTLFLAG_RW,
|
SYSCTL_INT(_vfs_oldnfs, OID_AUTO, nfsv3_commit_on_close, CTLFLAG_RW,
|
||||||
&nfsv3_commit_on_close, 0, "write+commit on close, else only write");
|
&nfsv3_commit_on_close, 0, "write+commit on close, else only write");
|
||||||
|
|
||||||
static int nfs_clean_pages_on_close = 1;
|
static int nfs_clean_pages_on_close = 1;
|
||||||
SYSCTL_INT(_vfs_nfs, OID_AUTO, clean_pages_on_close, CTLFLAG_RW,
|
SYSCTL_INT(_vfs_oldnfs, OID_AUTO, clean_pages_on_close, CTLFLAG_RW,
|
||||||
&nfs_clean_pages_on_close, 0, "NFS clean dirty pages on close");
|
&nfs_clean_pages_on_close, 0, "NFS clean dirty pages on close");
|
||||||
|
|
||||||
int nfs_directio_enable = 0;
|
int nfs_directio_enable = 0;
|
||||||
SYSCTL_INT(_vfs_nfs, OID_AUTO, nfs_directio_enable, CTLFLAG_RW,
|
SYSCTL_INT(_vfs_oldnfs, OID_AUTO, nfs_directio_enable, CTLFLAG_RW,
|
||||||
&nfs_directio_enable, 0, "Enable NFS directio");
|
&nfs_directio_enable, 0, "Enable NFS directio");
|
||||||
|
|
||||||
/*
|
/*
|
||||||
@ -252,14 +252,14 @@ SYSCTL_INT(_vfs_nfs, OID_AUTO, nfs_directio_enable, CTLFLAG_RW,
|
|||||||
* meaningful.
|
* meaningful.
|
||||||
*/
|
*/
|
||||||
int nfs_directio_allow_mmap = 1;
|
int nfs_directio_allow_mmap = 1;
|
||||||
SYSCTL_INT(_vfs_nfs, OID_AUTO, nfs_directio_allow_mmap, CTLFLAG_RW,
|
SYSCTL_INT(_vfs_oldnfs, OID_AUTO, nfs_directio_allow_mmap, CTLFLAG_RW,
|
||||||
&nfs_directio_allow_mmap, 0, "Enable mmaped IO on file with O_DIRECT opens");
|
&nfs_directio_allow_mmap, 0, "Enable mmaped IO on file with O_DIRECT opens");
|
||||||
|
|
||||||
#if 0
|
#if 0
|
||||||
SYSCTL_INT(_vfs_nfs, OID_AUTO, access_cache_hits, CTLFLAG_RD,
|
SYSCTL_INT(_vfs_oldnfs, OID_AUTO, access_cache_hits, CTLFLAG_RD,
|
||||||
&nfsstats.accesscache_hits, 0, "NFS ACCESS cache hit count");
|
&nfsstats.accesscache_hits, 0, "NFS ACCESS cache hit count");
|
||||||
|
|
||||||
SYSCTL_INT(_vfs_nfs, OID_AUTO, access_cache_misses, CTLFLAG_RD,
|
SYSCTL_INT(_vfs_oldnfs, OID_AUTO, access_cache_misses, CTLFLAG_RD,
|
||||||
&nfsstats.accesscache_misses, 0, "NFS ACCESS cache miss count");
|
&nfsstats.accesscache_misses, 0, "NFS ACCESS cache miss count");
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
|
@ -221,10 +221,10 @@ readstats(struct nfsstats **stp, struct nfsrvstats **srvstp, int zero)
|
|||||||
if (zero)
|
if (zero)
|
||||||
bzero(&zerostat, sizeof(zerostat));
|
bzero(&zerostat, sizeof(zerostat));
|
||||||
buflen = sizeof(struct nfsstats);
|
buflen = sizeof(struct nfsstats);
|
||||||
if (*stp != NULL && sysctlbyname("vfs.nfs.nfsstats", *stp,
|
if (*stp != NULL && sysctlbyname("vfs.oldnfs.nfsstats", *stp,
|
||||||
&buflen, zero ? &zerostat : NULL, zero ? buflen : 0) < 0) {
|
&buflen, zero ? &zerostat : NULL, zero ? buflen : 0) < 0) {
|
||||||
if (errno != ENOENT)
|
if (errno != ENOENT)
|
||||||
err(1, "sysctl: vfs.nfs.nfsstats");
|
err(1, "sysctl: vfs.oldnfs.nfsstats");
|
||||||
*stp = NULL;
|
*stp = NULL;
|
||||||
}
|
}
|
||||||
buflen = sizeof(struct nfsrvstats);
|
buflen = sizeof(struct nfsrvstats);
|
||||||
|
Loading…
Reference in New Issue
Block a user