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:
Brian Behlendorf 2014-09-30 18:15:22 -04:00
parent b38bf6a4e3
commit 9c91800d19
3 changed files with 4 additions and 195 deletions

View File

@ -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.

View File

@ -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);

View File

@ -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;
} }