Remove CTL_UNNUMBERED sysctl interface
Support for the CTL_UNNUMBERED sysctl interface was removed in Linux 2.6.19. There is no longer any reason to maintain this compatibility code. There also issue any reason to keep around the CTL_NAME macro and helpers so they have been retired. Signed-off-by: Brian Behlendorf <behlendorf1@llnl.gov>
This commit is contained in:
parent
b38bf6a4e3
commit
9c91800d19
|
@ -27,7 +27,6 @@ AC_DEFUN([SPL_AC_CONFIG_KERNEL], [
|
||||||
SPL_AC_TYPE_ATOMIC64_XCHG
|
SPL_AC_TYPE_ATOMIC64_XCHG
|
||||||
SPL_AC_TYPE_UINTPTR_T
|
SPL_AC_TYPE_UINTPTR_T
|
||||||
SPL_AC_SHRINKER_CALLBACK
|
SPL_AC_SHRINKER_CALLBACK
|
||||||
SPL_AC_CTL_UNNUMBERED
|
|
||||||
SPL_AC_CTL_NAME
|
SPL_AC_CTL_NAME
|
||||||
SPL_AC_VMALLOC_INFO
|
SPL_AC_VMALLOC_INFO
|
||||||
SPL_AC_PDE_DATA
|
SPL_AC_PDE_DATA
|
||||||
|
@ -975,27 +974,6 @@ AC_DEFUN([SPL_AC_SHRINKER_CALLBACK],[
|
||||||
EXTRA_KCFLAGS="$tmp_flags"
|
EXTRA_KCFLAGS="$tmp_flags"
|
||||||
])
|
])
|
||||||
|
|
||||||
dnl #
|
|
||||||
dnl # 2.6.19 API change,
|
|
||||||
dnl # Use CTL_UNNUMBERED when binary sysctl is not required
|
|
||||||
dnl #
|
|
||||||
AC_DEFUN([SPL_AC_CTL_UNNUMBERED],
|
|
||||||
[AC_MSG_CHECKING([whether unnumbered sysctl support exists])
|
|
||||||
SPL_LINUX_TRY_COMPILE([
|
|
||||||
#include <linux/sysctl.h>
|
|
||||||
],[
|
|
||||||
#ifndef CTL_UNNUMBERED
|
|
||||||
#error CTL_UNNUMBERED undefined
|
|
||||||
#endif
|
|
||||||
],[
|
|
||||||
AC_MSG_RESULT(yes)
|
|
||||||
AC_DEFINE(HAVE_CTL_UNNUMBERED, 1,
|
|
||||||
[unnumbered sysctl support exists])
|
|
||||||
],[
|
|
||||||
AC_MSG_RESULT(no)
|
|
||||||
])
|
|
||||||
])
|
|
||||||
|
|
||||||
dnl #
|
dnl #
|
||||||
dnl # 2.6.33 API change,
|
dnl # 2.6.33 API change,
|
||||||
dnl # Removed .ctl_name from struct ctl_table.
|
dnl # Removed .ctl_name from struct ctl_table.
|
||||||
|
|
|
@ -27,12 +27,6 @@
|
||||||
|
|
||||||
#include <linux/proc_fs.h>
|
#include <linux/proc_fs.h>
|
||||||
|
|
||||||
#ifdef HAVE_CTL_NAME
|
|
||||||
#define CTL_NAME(cname) .ctl_name = (cname),
|
|
||||||
#else
|
|
||||||
#define CTL_NAME(cname)
|
|
||||||
#endif
|
|
||||||
|
|
||||||
extern struct proc_dir_entry *proc_spl_kstat;
|
extern struct proc_dir_entry *proc_spl_kstat;
|
||||||
|
|
||||||
int spl_proc_init(void);
|
int spl_proc_init(void);
|
||||||
|
|
|
@ -49,10 +49,7 @@ static unsigned long table_min = 0;
|
||||||
static unsigned long table_max = ~0;
|
static unsigned long table_max = ~0;
|
||||||
#endif
|
#endif
|
||||||
|
|
||||||
#ifdef CONFIG_SYSCTL
|
|
||||||
static struct ctl_table_header *spl_header = NULL;
|
static struct ctl_table_header *spl_header = NULL;
|
||||||
#endif /* CONFIG_SYSCTL */
|
|
||||||
|
|
||||||
static struct proc_dir_entry *proc_spl = NULL;
|
static struct proc_dir_entry *proc_spl = NULL;
|
||||||
#ifdef DEBUG_KMEM
|
#ifdef DEBUG_KMEM
|
||||||
static struct proc_dir_entry *proc_spl_kmem = NULL;
|
static struct proc_dir_entry *proc_spl_kmem = NULL;
|
||||||
|
@ -60,121 +57,6 @@ static struct proc_dir_entry *proc_spl_kmem_slab = NULL;
|
||||||
#endif /* DEBUG_KMEM */
|
#endif /* DEBUG_KMEM */
|
||||||
struct proc_dir_entry *proc_spl_kstat = NULL;
|
struct proc_dir_entry *proc_spl_kstat = NULL;
|
||||||
|
|
||||||
#ifdef HAVE_CTL_NAME
|
|
||||||
#ifdef HAVE_CTL_UNNUMBERED
|
|
||||||
|
|
||||||
#define CTL_SPL CTL_UNNUMBERED
|
|
||||||
#define CTL_SPL_DEBUG CTL_UNNUMBERED
|
|
||||||
#define CTL_SPL_VM CTL_UNNUMBERED
|
|
||||||
#define CTL_SPL_MUTEX CTL_UNNUMBERED
|
|
||||||
#define CTL_SPL_KMEM CTL_UNNUMBERED
|
|
||||||
#define CTL_SPL_KSTAT CTL_UNNUMBERED
|
|
||||||
|
|
||||||
#define CTL_VERSION CTL_UNNUMBERED /* Version */
|
|
||||||
#define CTL_HOSTID CTL_UNNUMBERED /* Host id by /usr/bin/hostid */
|
|
||||||
#define CTL_KALLSYMS CTL_UNNUMBERED /* kallsyms_lookup_name addr */
|
|
||||||
|
|
||||||
#define CTL_DEBUG_SUBSYS CTL_UNNUMBERED /* Debug subsystem */
|
|
||||||
#define CTL_DEBUG_MASK CTL_UNNUMBERED /* Debug mask */
|
|
||||||
#define CTL_DEBUG_PRINTK CTL_UNNUMBERED /* All messages to console */
|
|
||||||
#define CTL_DEBUG_MB CTL_UNNUMBERED /* Debug buffer size */
|
|
||||||
#define CTL_DEBUG_BINARY CTL_UNNUMBERED /* Binary data in buffer */
|
|
||||||
#define CTL_DEBUG_CATASTROPHE CTL_UNNUMBERED /* Set if BUG'd or panic'd */
|
|
||||||
#define CTL_DEBUG_PANIC_ON_BUG CTL_UNNUMBERED /* Should panic on BUG */
|
|
||||||
#define CTL_DEBUG_PATH CTL_UNNUMBERED /* Dump log location */
|
|
||||||
#define CTL_DEBUG_DUMP CTL_UNNUMBERED /* Dump debug buffer to file */
|
|
||||||
#define CTL_DEBUG_FORCE_BUG CTL_UNNUMBERED /* Hook to force a BUG */
|
|
||||||
#define CTL_DEBUG_STACK_SIZE CTL_UNNUMBERED /* Max observed stack size */
|
|
||||||
|
|
||||||
#define CTL_CONSOLE_RATELIMIT CTL_UNNUMBERED /* Ratelimit console messages */
|
|
||||||
#define CTL_CONSOLE_MAX_DELAY_CS CTL_UNNUMBERED /* Max delay skip messages */
|
|
||||||
#define CTL_CONSOLE_MIN_DELAY_CS CTL_UNNUMBERED /* Init delay skip messages */
|
|
||||||
#define CTL_CONSOLE_BACKOFF CTL_UNNUMBERED /* Delay increase factor */
|
|
||||||
|
|
||||||
#define CTL_VM_MINFREE CTL_UNNUMBERED /* Minimum free memory */
|
|
||||||
#define CTL_VM_DESFREE CTL_UNNUMBERED /* Desired free memory */
|
|
||||||
#define CTL_VM_LOTSFREE CTL_UNNUMBERED /* Lots of free memory */
|
|
||||||
#define CTL_VM_NEEDFREE CTL_UNNUMBERED /* Need free memory */
|
|
||||||
#define CTL_VM_SWAPFS_MINFREE CTL_UNNUMBERED /* Minimum swapfs memory */
|
|
||||||
#define CTL_VM_SWAPFS_RESERVE CTL_UNNUMBERED /* Reserved swapfs memory */
|
|
||||||
#define CTL_VM_AVAILRMEM CTL_UNNUMBERED /* Easily available memory */
|
|
||||||
#define CTL_VM_FREEMEM CTL_UNNUMBERED /* Free memory */
|
|
||||||
#define CTL_VM_PHYSMEM CTL_UNNUMBERED /* Total physical memory */
|
|
||||||
|
|
||||||
#ifdef DEBUG_KMEM
|
|
||||||
#define CTL_KMEM_KMEMUSED CTL_UNNUMBERED /* Alloc'd kmem bytes */
|
|
||||||
#define CTL_KMEM_KMEMMAX CTL_UNNUMBERED /* Max alloc'd by kmem bytes */
|
|
||||||
#define CTL_KMEM_VMEMUSED CTL_UNNUMBERED /* Alloc'd vmem bytes */
|
|
||||||
#define CTL_KMEM_VMEMMAX CTL_UNNUMBERED /* Max alloc'd by vmem bytes */
|
|
||||||
#define CTL_KMEM_SLAB_KMEMTOTAL CTL_UNNUMBERED /* Total kmem slab size */
|
|
||||||
#define CTL_KMEM_SLAB_KMEMALLOC CTL_UNNUMBERED /* Alloc'd kmem slab size */
|
|
||||||
#define CTL_KMEM_SLAB_KMEMMAX CTL_UNNUMBERED /* Max kmem slab size */
|
|
||||||
#define CTL_KMEM_SLAB_VMEMTOTAL CTL_UNNUMBERED /* Total vmem slab size */
|
|
||||||
#define CTL_KMEM_SLAB_VMEMALLOC CTL_UNNUMBERED /* Alloc'd vmem slab size */
|
|
||||||
#define CTL_KMEM_SLAB_VMEMMAX CTL_UNNUMBERED /* Max vmem slab size */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
#else /* HAVE_CTL_UNNUMBERED */
|
|
||||||
|
|
||||||
enum {
|
|
||||||
CTL_SPL = 0x87,
|
|
||||||
CTL_SPL_DEBUG = 0x88,
|
|
||||||
CTL_SPL_VM = 0x89,
|
|
||||||
CTL_SPL_MUTEX = 0x90,
|
|
||||||
CTL_SPL_KMEM = 0x91,
|
|
||||||
CTL_SPL_KSTAT = 0x92,
|
|
||||||
};
|
|
||||||
|
|
||||||
enum {
|
|
||||||
CTL_VERSION = 1, /* Version */
|
|
||||||
CTL_HOSTID, /* Host id reported by /usr/bin/hostid */
|
|
||||||
CTL_KALLSYMS, /* Address of kallsyms_lookup_name */
|
|
||||||
|
|
||||||
#ifdef DEBUG_LOG
|
|
||||||
CTL_DEBUG_SUBSYS, /* Debug subsystem */
|
|
||||||
CTL_DEBUG_MASK, /* Debug mask */
|
|
||||||
CTL_DEBUG_PRINTK, /* Force all messages to console */
|
|
||||||
CTL_DEBUG_MB, /* Debug buffer size */
|
|
||||||
CTL_DEBUG_BINARY, /* Include binary data in buffer */
|
|
||||||
CTL_DEBUG_CATASTROPHE, /* Set if we have BUG'd or panic'd */
|
|
||||||
CTL_DEBUG_PANIC_ON_BUG, /* Set if we should panic on BUG */
|
|
||||||
CTL_DEBUG_PATH, /* Dump log location */
|
|
||||||
CTL_DEBUG_DUMP, /* Dump debug buffer to file */
|
|
||||||
CTL_DEBUG_FORCE_BUG, /* Hook to force a BUG */
|
|
||||||
CTL_DEBUG_STACK_SIZE, /* Max observed stack size */
|
|
||||||
#endif
|
|
||||||
|
|
||||||
CTL_CONSOLE_RATELIMIT, /* Ratelimit console messages */
|
|
||||||
CTL_CONSOLE_MAX_DELAY_CS, /* Max delay which we skip messages */
|
|
||||||
CTL_CONSOLE_MIN_DELAY_CS, /* Init delay which we skip messages */
|
|
||||||
CTL_CONSOLE_BACKOFF, /* Delay increase factor */
|
|
||||||
|
|
||||||
CTL_VM_MINFREE, /* Minimum free memory threshold */
|
|
||||||
CTL_VM_DESFREE, /* Desired free memory threshold */
|
|
||||||
CTL_VM_LOTSFREE, /* Lots of free memory threshold */
|
|
||||||
CTL_VM_NEEDFREE, /* Need free memory deficit */
|
|
||||||
CTL_VM_SWAPFS_MINFREE, /* Minimum swapfs memory */
|
|
||||||
CTL_VM_SWAPFS_RESERVE, /* Reserved swapfs memory */
|
|
||||||
CTL_VM_AVAILRMEM, /* Easily available memory */
|
|
||||||
CTL_VM_FREEMEM, /* Free memory */
|
|
||||||
CTL_VM_PHYSMEM, /* Total physical memory */
|
|
||||||
|
|
||||||
#ifdef DEBUG_KMEM
|
|
||||||
CTL_KMEM_KMEMUSED, /* Alloc'd kmem bytes */
|
|
||||||
CTL_KMEM_KMEMMAX, /* Max alloc'd by kmem bytes */
|
|
||||||
CTL_KMEM_VMEMUSED, /* Alloc'd vmem bytes */
|
|
||||||
CTL_KMEM_VMEMMAX, /* Max alloc'd by vmem bytes */
|
|
||||||
CTL_KMEM_SLAB_KMEMTOTAL, /* Total kmem slab size */
|
|
||||||
CTL_KMEM_SLAB_KMEMALLOC, /* Alloc'd kmem slab size */
|
|
||||||
CTL_KMEM_SLAB_KMEMMAX, /* Max kmem slab size */
|
|
||||||
CTL_KMEM_SLAB_VMEMTOTAL, /* Total vmem slab size */
|
|
||||||
CTL_KMEM_SLAB_VMEMALLOC, /* Alloc'd vmem slab size */
|
|
||||||
CTL_KMEM_SLAB_VMEMMAX, /* Max vmem slab size */
|
|
||||||
#endif
|
|
||||||
};
|
|
||||||
#endif /* HAVE_CTL_UNNUMBERED */
|
|
||||||
#endif /* HAVE_CTL_NAME */
|
|
||||||
|
|
||||||
static int
|
static int
|
||||||
proc_copyin_string(char *kbuffer, int kbuffer_size,
|
proc_copyin_string(char *kbuffer, int kbuffer_size,
|
||||||
const char *ubuffer, int ubuffer_size)
|
const char *ubuffer, int ubuffer_size)
|
||||||
|
@ -738,7 +620,6 @@ static struct file_operations proc_slab_operations = {
|
||||||
#ifdef DEBUG_LOG
|
#ifdef DEBUG_LOG
|
||||||
static struct ctl_table spl_debug_table[] = {
|
static struct ctl_table spl_debug_table[] = {
|
||||||
{
|
{
|
||||||
CTL_NAME (CTL_DEBUG_SUBSYS)
|
|
||||||
.procname = "subsystem",
|
.procname = "subsystem",
|
||||||
.data = &spl_debug_subsys,
|
.data = &spl_debug_subsys,
|
||||||
.maxlen = sizeof(unsigned long),
|
.maxlen = sizeof(unsigned long),
|
||||||
|
@ -746,7 +627,6 @@ static struct ctl_table spl_debug_table[] = {
|
||||||
.proc_handler = &proc_dobitmasks
|
.proc_handler = &proc_dobitmasks
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
CTL_NAME (CTL_DEBUG_MASK)
|
|
||||||
.procname = "mask",
|
.procname = "mask",
|
||||||
.data = &spl_debug_mask,
|
.data = &spl_debug_mask,
|
||||||
.maxlen = sizeof(unsigned long),
|
.maxlen = sizeof(unsigned long),
|
||||||
|
@ -754,7 +634,6 @@ static struct ctl_table spl_debug_table[] = {
|
||||||
.proc_handler = &proc_dobitmasks
|
.proc_handler = &proc_dobitmasks
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
CTL_NAME (CTL_DEBUG_PRINTK)
|
|
||||||
.procname = "printk",
|
.procname = "printk",
|
||||||
.data = &spl_debug_printk,
|
.data = &spl_debug_printk,
|
||||||
.maxlen = sizeof(unsigned long),
|
.maxlen = sizeof(unsigned long),
|
||||||
|
@ -762,13 +641,11 @@ static struct ctl_table spl_debug_table[] = {
|
||||||
.proc_handler = &proc_dobitmasks
|
.proc_handler = &proc_dobitmasks
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
CTL_NAME (CTL_DEBUG_MB)
|
|
||||||
.procname = "mb",
|
.procname = "mb",
|
||||||
.mode = 0644,
|
.mode = 0644,
|
||||||
.proc_handler = &proc_debug_mb,
|
.proc_handler = &proc_debug_mb,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
CTL_NAME (CTL_DEBUG_BINARY)
|
|
||||||
.procname = "binary",
|
.procname = "binary",
|
||||||
.data = &spl_debug_binary,
|
.data = &spl_debug_binary,
|
||||||
.maxlen = sizeof(int),
|
.maxlen = sizeof(int),
|
||||||
|
@ -776,7 +653,6 @@ static struct ctl_table spl_debug_table[] = {
|
||||||
.proc_handler = &proc_dointvec,
|
.proc_handler = &proc_dointvec,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
CTL_NAME (CTL_DEBUG_CATASTROPHE)
|
|
||||||
.procname = "catastrophe",
|
.procname = "catastrophe",
|
||||||
.data = &spl_debug_catastrophe,
|
.data = &spl_debug_catastrophe,
|
||||||
.maxlen = sizeof(int),
|
.maxlen = sizeof(int),
|
||||||
|
@ -784,7 +660,6 @@ static struct ctl_table spl_debug_table[] = {
|
||||||
.proc_handler = &proc_dointvec,
|
.proc_handler = &proc_dointvec,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
CTL_NAME (CTL_DEBUG_PANIC_ON_BUG)
|
|
||||||
.procname = "panic_on_bug",
|
.procname = "panic_on_bug",
|
||||||
.data = &spl_debug_panic_on_bug,
|
.data = &spl_debug_panic_on_bug,
|
||||||
.maxlen = sizeof(int),
|
.maxlen = sizeof(int),
|
||||||
|
@ -792,7 +667,6 @@ static struct ctl_table spl_debug_table[] = {
|
||||||
.proc_handler = &proc_dointvec
|
.proc_handler = &proc_dointvec
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
CTL_NAME (CTL_DEBUG_PATH)
|
|
||||||
.procname = "path",
|
.procname = "path",
|
||||||
.data = spl_debug_file_path,
|
.data = spl_debug_file_path,
|
||||||
.maxlen = sizeof(spl_debug_file_path),
|
.maxlen = sizeof(spl_debug_file_path),
|
||||||
|
@ -800,18 +674,16 @@ static struct ctl_table spl_debug_table[] = {
|
||||||
.proc_handler = &proc_dostring,
|
.proc_handler = &proc_dostring,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
CTL_NAME (CTL_DEBUG_DUMP)
|
|
||||||
.procname = "dump",
|
.procname = "dump",
|
||||||
.mode = 0200,
|
.mode = 0200,
|
||||||
.proc_handler = &proc_dump_kernel,
|
.proc_handler = &proc_dump_kernel,
|
||||||
},
|
},
|
||||||
{ CTL_NAME (CTL_DEBUG_FORCE_BUG)
|
{
|
||||||
.procname = "force_bug",
|
.procname = "force_bug",
|
||||||
.mode = 0200,
|
.mode = 0200,
|
||||||
.proc_handler = &proc_force_bug,
|
.proc_handler = &proc_force_bug,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
CTL_NAME (CTL_CONSOLE_RATELIMIT)
|
|
||||||
.procname = "console_ratelimit",
|
.procname = "console_ratelimit",
|
||||||
.data = &spl_console_ratelimit,
|
.data = &spl_console_ratelimit,
|
||||||
.maxlen = sizeof(int),
|
.maxlen = sizeof(int),
|
||||||
|
@ -819,28 +691,24 @@ static struct ctl_table spl_debug_table[] = {
|
||||||
.proc_handler = &proc_dointvec,
|
.proc_handler = &proc_dointvec,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
CTL_NAME (CTL_CONSOLE_MAX_DELAY_CS)
|
|
||||||
.procname = "console_max_delay_centisecs",
|
.procname = "console_max_delay_centisecs",
|
||||||
.maxlen = sizeof(int),
|
.maxlen = sizeof(int),
|
||||||
.mode = 0644,
|
.mode = 0644,
|
||||||
.proc_handler = &proc_console_max_delay_cs,
|
.proc_handler = &proc_console_max_delay_cs,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
CTL_NAME (CTL_CONSOLE_MIN_DELAY_CS)
|
|
||||||
.procname = "console_min_delay_centisecs",
|
.procname = "console_min_delay_centisecs",
|
||||||
.maxlen = sizeof(int),
|
.maxlen = sizeof(int),
|
||||||
.mode = 0644,
|
.mode = 0644,
|
||||||
.proc_handler = &proc_console_min_delay_cs,
|
.proc_handler = &proc_console_min_delay_cs,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
CTL_NAME (CTL_CONSOLE_BACKOFF)
|
|
||||||
.procname = "console_backoff",
|
.procname = "console_backoff",
|
||||||
.maxlen = sizeof(int),
|
.maxlen = sizeof(int),
|
||||||
.mode = 0644,
|
.mode = 0644,
|
||||||
.proc_handler = &proc_console_backoff,
|
.proc_handler = &proc_console_backoff,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
CTL_NAME (CTL_DEBUG_STACK_SIZE)
|
|
||||||
.procname = "stack_max",
|
.procname = "stack_max",
|
||||||
.data = &spl_debug_stack,
|
.data = &spl_debug_stack,
|
||||||
.maxlen = sizeof(int),
|
.maxlen = sizeof(int),
|
||||||
|
@ -853,7 +721,6 @@ static struct ctl_table spl_debug_table[] = {
|
||||||
|
|
||||||
static struct ctl_table spl_vm_table[] = {
|
static struct ctl_table spl_vm_table[] = {
|
||||||
{
|
{
|
||||||
CTL_NAME (CTL_VM_MINFREE)
|
|
||||||
.procname = "minfree",
|
.procname = "minfree",
|
||||||
.data = &minfree,
|
.data = &minfree,
|
||||||
.maxlen = sizeof(int),
|
.maxlen = sizeof(int),
|
||||||
|
@ -861,7 +728,6 @@ static struct ctl_table spl_vm_table[] = {
|
||||||
.proc_handler = &proc_dointvec,
|
.proc_handler = &proc_dointvec,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
CTL_NAME (CTL_VM_DESFREE)
|
|
||||||
.procname = "desfree",
|
.procname = "desfree",
|
||||||
.data = &desfree,
|
.data = &desfree,
|
||||||
.maxlen = sizeof(int),
|
.maxlen = sizeof(int),
|
||||||
|
@ -869,7 +735,6 @@ static struct ctl_table spl_vm_table[] = {
|
||||||
.proc_handler = &proc_dointvec,
|
.proc_handler = &proc_dointvec,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
CTL_NAME (CTL_VM_LOTSFREE)
|
|
||||||
.procname = "lotsfree",
|
.procname = "lotsfree",
|
||||||
.data = &lotsfree,
|
.data = &lotsfree,
|
||||||
.maxlen = sizeof(int),
|
.maxlen = sizeof(int),
|
||||||
|
@ -877,7 +742,6 @@ static struct ctl_table spl_vm_table[] = {
|
||||||
.proc_handler = &proc_dointvec,
|
.proc_handler = &proc_dointvec,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
CTL_NAME (CTL_VM_NEEDFREE)
|
|
||||||
.procname = "needfree",
|
.procname = "needfree",
|
||||||
.data = &needfree,
|
.data = &needfree,
|
||||||
.maxlen = sizeof(int),
|
.maxlen = sizeof(int),
|
||||||
|
@ -885,7 +749,6 @@ static struct ctl_table spl_vm_table[] = {
|
||||||
.proc_handler = &proc_dointvec,
|
.proc_handler = &proc_dointvec,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
CTL_NAME (CTL_VM_SWAPFS_MINFREE)
|
|
||||||
.procname = "swapfs_minfree",
|
.procname = "swapfs_minfree",
|
||||||
.data = &swapfs_minfree,
|
.data = &swapfs_minfree,
|
||||||
.maxlen = sizeof(int),
|
.maxlen = sizeof(int),
|
||||||
|
@ -893,7 +756,6 @@ static struct ctl_table spl_vm_table[] = {
|
||||||
.proc_handler = &proc_dointvec,
|
.proc_handler = &proc_dointvec,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
CTL_NAME (CTL_VM_SWAPFS_RESERVE)
|
|
||||||
.procname = "swapfs_reserve",
|
.procname = "swapfs_reserve",
|
||||||
.data = &swapfs_reserve,
|
.data = &swapfs_reserve,
|
||||||
.maxlen = sizeof(int),
|
.maxlen = sizeof(int),
|
||||||
|
@ -901,13 +763,11 @@ static struct ctl_table spl_vm_table[] = {
|
||||||
.proc_handler = &proc_dointvec,
|
.proc_handler = &proc_dointvec,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
CTL_NAME (CTL_VM_AVAILRMEM)
|
|
||||||
.procname = "availrmem",
|
.procname = "availrmem",
|
||||||
.mode = 0444,
|
.mode = 0444,
|
||||||
.proc_handler = &proc_doavailrmem,
|
.proc_handler = &proc_doavailrmem,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
CTL_NAME (CTL_VM_FREEMEM)
|
|
||||||
.procname = "freemem",
|
.procname = "freemem",
|
||||||
.data = (void *)2,
|
.data = (void *)2,
|
||||||
.maxlen = sizeof(int),
|
.maxlen = sizeof(int),
|
||||||
|
@ -915,7 +775,6 @@ static struct ctl_table spl_vm_table[] = {
|
||||||
.proc_handler = &proc_dofreemem,
|
.proc_handler = &proc_dofreemem,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
CTL_NAME (CTL_VM_PHYSMEM)
|
|
||||||
.procname = "physmem",
|
.procname = "physmem",
|
||||||
.data = &physmem,
|
.data = &physmem,
|
||||||
.maxlen = sizeof(int),
|
.maxlen = sizeof(int),
|
||||||
|
@ -928,7 +787,6 @@ static struct ctl_table spl_vm_table[] = {
|
||||||
#ifdef DEBUG_KMEM
|
#ifdef DEBUG_KMEM
|
||||||
static struct ctl_table spl_kmem_table[] = {
|
static struct ctl_table spl_kmem_table[] = {
|
||||||
{
|
{
|
||||||
CTL_NAME (CTL_KMEM_KMEMUSED)
|
|
||||||
.procname = "kmem_used",
|
.procname = "kmem_used",
|
||||||
.data = &kmem_alloc_used,
|
.data = &kmem_alloc_used,
|
||||||
# ifdef HAVE_ATOMIC64_T
|
# ifdef HAVE_ATOMIC64_T
|
||||||
|
@ -940,7 +798,6 @@ static struct ctl_table spl_kmem_table[] = {
|
||||||
.proc_handler = &proc_domemused,
|
.proc_handler = &proc_domemused,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
CTL_NAME (CTL_KMEM_KMEMMAX)
|
|
||||||
.procname = "kmem_max",
|
.procname = "kmem_max",
|
||||||
.data = &kmem_alloc_max,
|
.data = &kmem_alloc_max,
|
||||||
.maxlen = sizeof(unsigned long),
|
.maxlen = sizeof(unsigned long),
|
||||||
|
@ -950,7 +807,6 @@ static struct ctl_table spl_kmem_table[] = {
|
||||||
.proc_handler = &proc_doulongvec_minmax,
|
.proc_handler = &proc_doulongvec_minmax,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
CTL_NAME (CTL_KMEM_VMEMUSED)
|
|
||||||
.procname = "vmem_used",
|
.procname = "vmem_used",
|
||||||
.data = &vmem_alloc_used,
|
.data = &vmem_alloc_used,
|
||||||
# ifdef HAVE_ATOMIC64_T
|
# ifdef HAVE_ATOMIC64_T
|
||||||
|
@ -962,7 +818,6 @@ static struct ctl_table spl_kmem_table[] = {
|
||||||
.proc_handler = &proc_domemused,
|
.proc_handler = &proc_domemused,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
CTL_NAME (CTL_KMEM_VMEMMAX)
|
|
||||||
.procname = "vmem_max",
|
.procname = "vmem_max",
|
||||||
.data = &vmem_alloc_max,
|
.data = &vmem_alloc_max,
|
||||||
.maxlen = sizeof(unsigned long),
|
.maxlen = sizeof(unsigned long),
|
||||||
|
@ -972,7 +827,6 @@ static struct ctl_table spl_kmem_table[] = {
|
||||||
.proc_handler = &proc_doulongvec_minmax,
|
.proc_handler = &proc_doulongvec_minmax,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
CTL_NAME (CTL_KMEM_SLAB_KMEMTOTAL)
|
|
||||||
.procname = "slab_kmem_total",
|
.procname = "slab_kmem_total",
|
||||||
.data = (void *)(KMC_KMEM | KMC_TOTAL),
|
.data = (void *)(KMC_KMEM | KMC_TOTAL),
|
||||||
.maxlen = sizeof(unsigned long),
|
.maxlen = sizeof(unsigned long),
|
||||||
|
@ -982,7 +836,6 @@ static struct ctl_table spl_kmem_table[] = {
|
||||||
.proc_handler = &proc_doslab,
|
.proc_handler = &proc_doslab,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
CTL_NAME (CTL_KMEM_SLAB_KMEMALLOC)
|
|
||||||
.procname = "slab_kmem_alloc",
|
.procname = "slab_kmem_alloc",
|
||||||
.data = (void *)(KMC_KMEM | KMC_ALLOC),
|
.data = (void *)(KMC_KMEM | KMC_ALLOC),
|
||||||
.maxlen = sizeof(unsigned long),
|
.maxlen = sizeof(unsigned long),
|
||||||
|
@ -992,7 +845,6 @@ static struct ctl_table spl_kmem_table[] = {
|
||||||
.proc_handler = &proc_doslab,
|
.proc_handler = &proc_doslab,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
CTL_NAME (CTL_KMEM_SLAB_KMEMMAX)
|
|
||||||
.procname = "slab_kmem_max",
|
.procname = "slab_kmem_max",
|
||||||
.data = (void *)(KMC_KMEM | KMC_MAX),
|
.data = (void *)(KMC_KMEM | KMC_MAX),
|
||||||
.maxlen = sizeof(unsigned long),
|
.maxlen = sizeof(unsigned long),
|
||||||
|
@ -1002,7 +854,6 @@ static struct ctl_table spl_kmem_table[] = {
|
||||||
.proc_handler = &proc_doslab,
|
.proc_handler = &proc_doslab,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
CTL_NAME (CTL_KMEM_SLAB_VMEMTOTAL)
|
|
||||||
.procname = "slab_vmem_total",
|
.procname = "slab_vmem_total",
|
||||||
.data = (void *)(KMC_VMEM | KMC_TOTAL),
|
.data = (void *)(KMC_VMEM | KMC_TOTAL),
|
||||||
.maxlen = sizeof(unsigned long),
|
.maxlen = sizeof(unsigned long),
|
||||||
|
@ -1012,7 +863,6 @@ static struct ctl_table spl_kmem_table[] = {
|
||||||
.proc_handler = &proc_doslab,
|
.proc_handler = &proc_doslab,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
CTL_NAME (CTL_KMEM_SLAB_VMEMALLOC)
|
|
||||||
.procname = "slab_vmem_alloc",
|
.procname = "slab_vmem_alloc",
|
||||||
.data = (void *)(KMC_VMEM | KMC_ALLOC),
|
.data = (void *)(KMC_VMEM | KMC_ALLOC),
|
||||||
.maxlen = sizeof(unsigned long),
|
.maxlen = sizeof(unsigned long),
|
||||||
|
@ -1022,7 +872,6 @@ static struct ctl_table spl_kmem_table[] = {
|
||||||
.proc_handler = &proc_doslab,
|
.proc_handler = &proc_doslab,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
CTL_NAME (CTL_KMEM_SLAB_VMEMMAX)
|
|
||||||
.procname = "slab_vmem_max",
|
.procname = "slab_vmem_max",
|
||||||
.data = (void *)(KMC_VMEM | KMC_MAX),
|
.data = (void *)(KMC_VMEM | KMC_MAX),
|
||||||
.maxlen = sizeof(unsigned long),
|
.maxlen = sizeof(unsigned long),
|
||||||
|
@ -1044,7 +893,6 @@ static struct ctl_table spl_table[] = {
|
||||||
* sysctl(8) prefers to go via /proc for portability.
|
* sysctl(8) prefers to go via /proc for portability.
|
||||||
*/
|
*/
|
||||||
{
|
{
|
||||||
CTL_NAME (CTL_VERSION)
|
|
||||||
.procname = "version",
|
.procname = "version",
|
||||||
.data = spl_version,
|
.data = spl_version,
|
||||||
.maxlen = sizeof(spl_version),
|
.maxlen = sizeof(spl_version),
|
||||||
|
@ -1052,7 +900,6 @@ static struct ctl_table spl_table[] = {
|
||||||
.proc_handler = &proc_dostring,
|
.proc_handler = &proc_dostring,
|
||||||
},
|
},
|
||||||
{
|
{
|
||||||
CTL_NAME (CTL_HOSTID)
|
|
||||||
.procname = "hostid",
|
.procname = "hostid",
|
||||||
.data = &spl_hostid,
|
.data = &spl_hostid,
|
||||||
.maxlen = sizeof(unsigned long),
|
.maxlen = sizeof(unsigned long),
|
||||||
|
@ -1061,7 +908,6 @@ static struct ctl_table spl_table[] = {
|
||||||
},
|
},
|
||||||
#ifndef HAVE_KALLSYMS_LOOKUP_NAME
|
#ifndef HAVE_KALLSYMS_LOOKUP_NAME
|
||||||
{
|
{
|
||||||
CTL_NAME (CTL_KALLSYMS)
|
|
||||||
.procname = "kallsyms_lookup_name",
|
.procname = "kallsyms_lookup_name",
|
||||||
.data = &spl_kallsyms_lookup_name_fn,
|
.data = &spl_kallsyms_lookup_name_fn,
|
||||||
.maxlen = sizeof(unsigned long),
|
.maxlen = sizeof(unsigned long),
|
||||||
|
@ -1071,28 +917,24 @@ static struct ctl_table spl_table[] = {
|
||||||
#endif
|
#endif
|
||||||
#ifdef DEBUG_LOG
|
#ifdef DEBUG_LOG
|
||||||
{
|
{
|
||||||
CTL_NAME (CTL_SPL_DEBUG)
|
|
||||||
.procname = "debug",
|
.procname = "debug",
|
||||||
.mode = 0555,
|
.mode = 0555,
|
||||||
.child = spl_debug_table,
|
.child = spl_debug_table,
|
||||||
},
|
},
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
CTL_NAME (CTL_SPL_VM)
|
|
||||||
.procname = "vm",
|
.procname = "vm",
|
||||||
.mode = 0555,
|
.mode = 0555,
|
||||||
.child = spl_vm_table,
|
.child = spl_vm_table,
|
||||||
},
|
},
|
||||||
#ifdef DEBUG_KMEM
|
#ifdef DEBUG_KMEM
|
||||||
{
|
{
|
||||||
CTL_NAME (CTL_SPL_KMEM)
|
|
||||||
.procname = "kmem",
|
.procname = "kmem",
|
||||||
.mode = 0555,
|
.mode = 0555,
|
||||||
.child = spl_kmem_table,
|
.child = spl_kmem_table,
|
||||||
},
|
},
|
||||||
#endif
|
#endif
|
||||||
{
|
{
|
||||||
CTL_NAME (CTL_SPL_KSTAT)
|
|
||||||
.procname = "kstat",
|
.procname = "kstat",
|
||||||
.mode = 0555,
|
.mode = 0555,
|
||||||
.child = spl_kstat_table,
|
.child = spl_kstat_table,
|
||||||
|
@ -1102,7 +944,6 @@ static struct ctl_table spl_table[] = {
|
||||||
|
|
||||||
static struct ctl_table spl_dir[] = {
|
static struct ctl_table spl_dir[] = {
|
||||||
{
|
{
|
||||||
CTL_NAME (CTL_SPL)
|
|
||||||
.procname = "spl",
|
.procname = "spl",
|
||||||
.mode = 0555,
|
.mode = 0555,
|
||||||
.child = spl_table,
|
.child = spl_table,
|
||||||
|
@ -1112,7 +953,9 @@ static struct ctl_table spl_dir[] = {
|
||||||
|
|
||||||
static struct ctl_table spl_root[] = {
|
static struct ctl_table spl_root[] = {
|
||||||
{
|
{
|
||||||
CTL_NAME (CTL_KERN)
|
#ifdef HAVE_CTL_NAME
|
||||||
|
.ctl_name = CTL_KERN,
|
||||||
|
#endif
|
||||||
.procname = "kernel",
|
.procname = "kernel",
|
||||||
.mode = 0555,
|
.mode = 0555,
|
||||||
.child = spl_dir,
|
.child = spl_dir,
|
||||||
|
@ -1126,11 +969,9 @@ spl_proc_init(void)
|
||||||
int rc = 0;
|
int rc = 0;
|
||||||
SENTRY;
|
SENTRY;
|
||||||
|
|
||||||
#ifdef CONFIG_SYSCTL
|
|
||||||
spl_header = register_sysctl_table(spl_root);
|
spl_header = register_sysctl_table(spl_root);
|
||||||
if (spl_header == NULL)
|
if (spl_header == NULL)
|
||||||
SRETURN(-EUNATCH);
|
SRETURN(-EUNATCH);
|
||||||
#endif /* CONFIG_SYSCTL */
|
|
||||||
|
|
||||||
proc_spl = proc_mkdir("spl", NULL);
|
proc_spl = proc_mkdir("spl", NULL);
|
||||||
if (proc_spl == NULL)
|
if (proc_spl == NULL)
|
||||||
|
@ -1159,9 +1000,7 @@ out:
|
||||||
remove_proc_entry("kmem", proc_spl);
|
remove_proc_entry("kmem", proc_spl);
|
||||||
#endif
|
#endif
|
||||||
remove_proc_entry("spl", NULL);
|
remove_proc_entry("spl", NULL);
|
||||||
#ifdef CONFIG_SYSCTL
|
|
||||||
unregister_sysctl_table(spl_header);
|
unregister_sysctl_table(spl_header);
|
||||||
#endif /* CONFIG_SYSCTL */
|
|
||||||
}
|
}
|
||||||
|
|
||||||
SRETURN(rc);
|
SRETURN(rc);
|
||||||
|
@ -1179,10 +1018,8 @@ spl_proc_fini(void)
|
||||||
#endif
|
#endif
|
||||||
remove_proc_entry("spl", NULL);
|
remove_proc_entry("spl", NULL);
|
||||||
|
|
||||||
#ifdef CONFIG_SYSCTL
|
|
||||||
ASSERT(spl_header != NULL);
|
ASSERT(spl_header != NULL);
|
||||||
unregister_sysctl_table(spl_header);
|
unregister_sysctl_table(spl_header);
|
||||||
#endif /* CONFIG_SYSCTL */
|
|
||||||
|
|
||||||
SEXIT;
|
SEXIT;
|
||||||
}
|
}
|
||||||
|
|
Loading…
Reference in New Issue