summaryrefslogtreecommitdiffstats
path: root/sys/geom/raid
diff options
context:
space:
mode:
authorhselasky <hselasky@FreeBSD.org>2014-06-28 03:56:17 +0000
committerhselasky <hselasky@FreeBSD.org>2014-06-28 03:56:17 +0000
commit35b126e324b8032aebea9ab6b4daf7c0bf8daed0 (patch)
tree2ebc46d89e79d747fa284f379b1979658216c719 /sys/geom/raid
parent02776baefafae26b2e8b15569fe1868071fb550a (diff)
downloadFreeBSD-src-35b126e324b8032aebea9ab6b4daf7c0bf8daed0.zip
FreeBSD-src-35b126e324b8032aebea9ab6b4daf7c0bf8daed0.tar.gz
Pull in r267961 and r267973 again. Fix for issues reported will follow.
Diffstat (limited to 'sys/geom/raid')
-rw-r--r--sys/geom/raid/g_raid.c31
-rw-r--r--sys/geom/raid/g_raid.h12
-rw-r--r--sys/geom/raid/tr_raid1.c16
-rw-r--r--sys/geom/raid/tr_raid1e.c16
4 files changed, 22 insertions, 53 deletions
diff --git a/sys/geom/raid/g_raid.c b/sys/geom/raid/g_raid.c
index 858cf4c..db9cf44 100644
--- a/sys/geom/raid/g_raid.c
+++ b/sys/geom/raid/g_raid.c
@@ -53,49 +53,38 @@ static MALLOC_DEFINE(M_RAID, "raid_data", "GEOM_RAID Data");
SYSCTL_DECL(_kern_geom);
SYSCTL_NODE(_kern_geom, OID_AUTO, raid, CTLFLAG_RW, 0, "GEOM_RAID stuff");
int g_raid_enable = 1;
-TUNABLE_INT("kern.geom.raid.enable", &g_raid_enable);
-SYSCTL_INT(_kern_geom_raid, OID_AUTO, enable, CTLFLAG_RW,
+SYSCTL_INT(_kern_geom_raid, OID_AUTO, enable, CTLFLAG_RWTUN,
&g_raid_enable, 0, "Enable on-disk metadata taste");
u_int g_raid_aggressive_spare = 0;
-TUNABLE_INT("kern.geom.raid.aggressive_spare", &g_raid_aggressive_spare);
-SYSCTL_UINT(_kern_geom_raid, OID_AUTO, aggressive_spare, CTLFLAG_RW,
+SYSCTL_UINT(_kern_geom_raid, OID_AUTO, aggressive_spare, CTLFLAG_RWTUN,
&g_raid_aggressive_spare, 0, "Use disks without metadata as spare");
u_int g_raid_debug = 0;
-TUNABLE_INT("kern.geom.raid.debug", &g_raid_debug);
-SYSCTL_UINT(_kern_geom_raid, OID_AUTO, debug, CTLFLAG_RW, &g_raid_debug, 0,
+SYSCTL_UINT(_kern_geom_raid, OID_AUTO, debug, CTLFLAG_RWTUN, &g_raid_debug, 0,
"Debug level");
int g_raid_read_err_thresh = 10;
-TUNABLE_INT("kern.geom.raid.read_err_thresh", &g_raid_read_err_thresh);
-SYSCTL_UINT(_kern_geom_raid, OID_AUTO, read_err_thresh, CTLFLAG_RW,
+SYSCTL_UINT(_kern_geom_raid, OID_AUTO, read_err_thresh, CTLFLAG_RWTUN,
&g_raid_read_err_thresh, 0,
"Number of read errors equated to disk failure");
u_int g_raid_start_timeout = 30;
-TUNABLE_INT("kern.geom.raid.start_timeout", &g_raid_start_timeout);
-SYSCTL_UINT(_kern_geom_raid, OID_AUTO, start_timeout, CTLFLAG_RW,
+SYSCTL_UINT(_kern_geom_raid, OID_AUTO, start_timeout, CTLFLAG_RWTUN,
&g_raid_start_timeout, 0,
"Time to wait for all array components");
static u_int g_raid_clean_time = 5;
-TUNABLE_INT("kern.geom.raid.clean_time", &g_raid_clean_time);
-SYSCTL_UINT(_kern_geom_raid, OID_AUTO, clean_time, CTLFLAG_RW,
+SYSCTL_UINT(_kern_geom_raid, OID_AUTO, clean_time, CTLFLAG_RWTUN,
&g_raid_clean_time, 0, "Mark volume as clean when idling");
static u_int g_raid_disconnect_on_failure = 1;
-TUNABLE_INT("kern.geom.raid.disconnect_on_failure",
- &g_raid_disconnect_on_failure);
-SYSCTL_UINT(_kern_geom_raid, OID_AUTO, disconnect_on_failure, CTLFLAG_RW,
+SYSCTL_UINT(_kern_geom_raid, OID_AUTO, disconnect_on_failure, CTLFLAG_RWTUN,
&g_raid_disconnect_on_failure, 0, "Disconnect component on I/O failure.");
static u_int g_raid_name_format = 0;
-TUNABLE_INT("kern.geom.raid.name_format", &g_raid_name_format);
-SYSCTL_UINT(_kern_geom_raid, OID_AUTO, name_format, CTLFLAG_RW,
+SYSCTL_UINT(_kern_geom_raid, OID_AUTO, name_format, CTLFLAG_RWTUN,
&g_raid_name_format, 0, "Providers name format.");
static u_int g_raid_idle_threshold = 1000000;
-TUNABLE_INT("kern.geom.raid.idle_threshold", &g_raid_idle_threshold);
-SYSCTL_UINT(_kern_geom_raid, OID_AUTO, idle_threshold, CTLFLAG_RW,
+SYSCTL_UINT(_kern_geom_raid, OID_AUTO, idle_threshold, CTLFLAG_RWTUN,
&g_raid_idle_threshold, 1000000,
"Time in microseconds to consider a volume idle.");
static u_int ar_legacy_aliases = 1;
-SYSCTL_INT(_kern_geom_raid, OID_AUTO, legacy_aliases, CTLFLAG_RW,
+SYSCTL_INT(_kern_geom_raid, OID_AUTO, legacy_aliases, CTLFLAG_RWTUN,
&ar_legacy_aliases, 0, "Create aliases named as the legacy ataraid style.");
-TUNABLE_INT("kern.geom_raid.legacy_aliases", &ar_legacy_aliases);
#define MSLEEP(rv, ident, mtx, priority, wmesg, timeout) do { \
diff --git a/sys/geom/raid/g_raid.h b/sys/geom/raid/g_raid.h
index 8a96fa9..f6aa6db 100644
--- a/sys/geom/raid/g_raid.h
+++ b/sys/geom/raid/g_raid.h
@@ -364,10 +364,8 @@ int g_raid_md_modevent(module_t, int, void *);
SYSCTL_NODE(_kern_geom_raid, OID_AUTO, name, CTLFLAG_RD, \
NULL, label " metadata module"); \
SYSCTL_INT(_kern_geom_raid_##name, OID_AUTO, enable, \
- CTLFLAG_RW, &g_raid_md_##name##_class.mdc_enable, 0, \
- "Enable " label " metadata format taste"); \
- TUNABLE_INT("kern.geom.raid." __XSTRING(name) ".enable", \
- &g_raid_md_##name##_class.mdc_enable)
+ CTLFLAG_RWTUN, &g_raid_md_##name##_class.mdc_enable, 0, \
+ "Enable " label " metadata format taste")
/*
* KOBJ parent class of data transformation modules.
@@ -403,10 +401,8 @@ int g_raid_tr_modevent(module_t, int, void *);
SYSCTL_NODE(_kern_geom_raid, OID_AUTO, name, CTLFLAG_RD, \
NULL, label " transformation module"); \
SYSCTL_INT(_kern_geom_raid_##name, OID_AUTO, enable, \
- CTLFLAG_RW, &g_raid_tr_##name##_class.trc_enable, 0, \
- "Enable " label " transformation module taste"); \
- TUNABLE_INT("kern.geom.raid." __XSTRING(name) ".enable", \
- &g_raid_tr_##name##_class.trc_enable)
+ CTLFLAG_RWTUN, &g_raid_tr_##name##_class.trc_enable, 0, \
+ "Enable " label " transformation module taste")
const char * g_raid_volume_level2str(int level, int qual);
int g_raid_volume_str2level(const char *str, int *level, int *qual);
diff --git a/sys/geom/raid/tr_raid1.c b/sys/geom/raid/tr_raid1.c
index 833655b..17c7a25 100644
--- a/sys/geom/raid/tr_raid1.c
+++ b/sys/geom/raid/tr_raid1.c
@@ -46,33 +46,25 @@ SYSCTL_DECL(_kern_geom_raid_raid1);
#define RAID1_REBUILD_SLAB (1 << 20) /* One transation in a rebuild */
static int g_raid1_rebuild_slab = RAID1_REBUILD_SLAB;
-TUNABLE_INT("kern.geom.raid.raid1.rebuild_slab_size",
- &g_raid1_rebuild_slab);
-SYSCTL_UINT(_kern_geom_raid_raid1, OID_AUTO, rebuild_slab_size, CTLFLAG_RW,
+SYSCTL_UINT(_kern_geom_raid_raid1, OID_AUTO, rebuild_slab_size, CTLFLAG_RWTUN,
&g_raid1_rebuild_slab, 0,
"Amount of the disk to rebuild each read/write cycle of the rebuild.");
#define RAID1_REBUILD_FAIR_IO 20 /* use 1/x of the available I/O */
static int g_raid1_rebuild_fair_io = RAID1_REBUILD_FAIR_IO;
-TUNABLE_INT("kern.geom.raid.raid1.rebuild_fair_io",
- &g_raid1_rebuild_fair_io);
-SYSCTL_UINT(_kern_geom_raid_raid1, OID_AUTO, rebuild_fair_io, CTLFLAG_RW,
+SYSCTL_UINT(_kern_geom_raid_raid1, OID_AUTO, rebuild_fair_io, CTLFLAG_RWTUN,
&g_raid1_rebuild_fair_io, 0,
"Fraction of the I/O bandwidth to use when disk busy for rebuild.");
#define RAID1_REBUILD_CLUSTER_IDLE 100
static int g_raid1_rebuild_cluster_idle = RAID1_REBUILD_CLUSTER_IDLE;
-TUNABLE_INT("kern.geom.raid.raid1.rebuild_cluster_idle",
- &g_raid1_rebuild_cluster_idle);
-SYSCTL_UINT(_kern_geom_raid_raid1, OID_AUTO, rebuild_cluster_idle, CTLFLAG_RW,
+SYSCTL_UINT(_kern_geom_raid_raid1, OID_AUTO, rebuild_cluster_idle, CTLFLAG_RWTUN,
&g_raid1_rebuild_cluster_idle, 0,
"Number of slabs to do each time we trigger a rebuild cycle");
#define RAID1_REBUILD_META_UPDATE 1024 /* update meta data every 1GB or so */
static int g_raid1_rebuild_meta_update = RAID1_REBUILD_META_UPDATE;
-TUNABLE_INT("kern.geom.raid.raid1.rebuild_meta_update",
- &g_raid1_rebuild_meta_update);
-SYSCTL_UINT(_kern_geom_raid_raid1, OID_AUTO, rebuild_meta_update, CTLFLAG_RW,
+SYSCTL_UINT(_kern_geom_raid_raid1, OID_AUTO, rebuild_meta_update, CTLFLAG_RWTUN,
&g_raid1_rebuild_meta_update, 0,
"When to update the meta data.");
diff --git a/sys/geom/raid/tr_raid1e.c b/sys/geom/raid/tr_raid1e.c
index 404b9e6..b357742 100644
--- a/sys/geom/raid/tr_raid1e.c
+++ b/sys/geom/raid/tr_raid1e.c
@@ -48,33 +48,25 @@ SYSCTL_DECL(_kern_geom_raid_raid1e);
#define RAID1E_REBUILD_SLAB (1 << 20) /* One transation in a rebuild */
static int g_raid1e_rebuild_slab = RAID1E_REBUILD_SLAB;
-TUNABLE_INT("kern.geom.raid.raid1e.rebuild_slab_size",
- &g_raid1e_rebuild_slab);
-SYSCTL_UINT(_kern_geom_raid_raid1e, OID_AUTO, rebuild_slab_size, CTLFLAG_RW,
+SYSCTL_UINT(_kern_geom_raid_raid1e, OID_AUTO, rebuild_slab_size, CTLFLAG_RWTUN,
&g_raid1e_rebuild_slab, 0,
"Amount of the disk to rebuild each read/write cycle of the rebuild.");
#define RAID1E_REBUILD_FAIR_IO 20 /* use 1/x of the available I/O */
static int g_raid1e_rebuild_fair_io = RAID1E_REBUILD_FAIR_IO;
-TUNABLE_INT("kern.geom.raid.raid1e.rebuild_fair_io",
- &g_raid1e_rebuild_fair_io);
-SYSCTL_UINT(_kern_geom_raid_raid1e, OID_AUTO, rebuild_fair_io, CTLFLAG_RW,
+SYSCTL_UINT(_kern_geom_raid_raid1e, OID_AUTO, rebuild_fair_io, CTLFLAG_RWTUN,
&g_raid1e_rebuild_fair_io, 0,
"Fraction of the I/O bandwidth to use when disk busy for rebuild.");
#define RAID1E_REBUILD_CLUSTER_IDLE 100
static int g_raid1e_rebuild_cluster_idle = RAID1E_REBUILD_CLUSTER_IDLE;
-TUNABLE_INT("kern.geom.raid.raid1e.rebuild_cluster_idle",
- &g_raid1e_rebuild_cluster_idle);
-SYSCTL_UINT(_kern_geom_raid_raid1e, OID_AUTO, rebuild_cluster_idle, CTLFLAG_RW,
+SYSCTL_UINT(_kern_geom_raid_raid1e, OID_AUTO, rebuild_cluster_idle, CTLFLAG_RWTUN,
&g_raid1e_rebuild_cluster_idle, 0,
"Number of slabs to do each time we trigger a rebuild cycle");
#define RAID1E_REBUILD_META_UPDATE 1024 /* update meta data every 1GB or so */
static int g_raid1e_rebuild_meta_update = RAID1E_REBUILD_META_UPDATE;
-TUNABLE_INT("kern.geom.raid.raid1e.rebuild_meta_update",
- &g_raid1e_rebuild_meta_update);
-SYSCTL_UINT(_kern_geom_raid_raid1e, OID_AUTO, rebuild_meta_update, CTLFLAG_RW,
+SYSCTL_UINT(_kern_geom_raid_raid1e, OID_AUTO, rebuild_meta_update, CTLFLAG_RWTUN,
&g_raid1e_rebuild_meta_update, 0,
"When to update the meta data.");
OpenPOWER on IntegriCloud