summaryrefslogtreecommitdiffstats
path: root/sys/geom/geom_kern.c
diff options
context:
space:
mode:
authordes <des@FreeBSD.org>2013-09-24 20:05:16 +0000
committerdes <des@FreeBSD.org>2013-09-24 20:05:16 +0000
commit140807754ca23ee872ee1217e4a66c347b7885f0 (patch)
tree69a6d93d88e9bcc159182353f067819d17b0b184 /sys/geom/geom_kern.c
parentb23486b24466dd2035799adb12dacdeaae033bce (diff)
downloadFreeBSD-src-140807754ca23ee872ee1217e4a66c347b7885f0.zip
FreeBSD-src-140807754ca23ee872ee1217e4a66c347b7885f0.tar.gz
Introduce a kern.geom.notaste sysctl that can be used to temporarily
disable GEOM tasting to avoid the "bouncing GEOM" problem where, when you shut down the consumer of a provider which can be viewed in multiple ways (typically a mirror whose members are labeled partitions), GEOM will immediately taste that provider's alter ego and reattach the consumer. Approved by: re (glebius)
Diffstat (limited to 'sys/geom/geom_kern.c')
-rw-r--r--sys/geom/geom_kern.c4
1 files changed, 4 insertions, 0 deletions
diff --git a/sys/geom/geom_kern.c b/sys/geom/geom_kern.c
index 1744d17..2e65bfb 100644
--- a/sys/geom/geom_kern.c
+++ b/sys/geom/geom_kern.c
@@ -66,6 +66,7 @@ static struct thread *g_event_td;
int g_debugflags;
int g_collectstats = 1;
int g_shutdown;
+int g_notaste;
/*
* G_UP and G_DOWN are the two threads which push I/O through the
@@ -208,6 +209,9 @@ TUNABLE_INT("kern.geom.debugflags", &g_debugflags);
SYSCTL_INT(_kern_geom, OID_AUTO, debugflags, CTLFLAG_RW,
&g_debugflags, 0, "Set various trace levels for GEOM debugging");
+SYSCTL_INT(_kern_geom, OID_AUTO, notaste, CTLFLAG_RW,
+ &g_notaste, 0, "Prevent GEOM tasting");
+
SYSCTL_INT(_kern_geom, OID_AUTO, collectstats, CTLFLAG_RW,
&g_collectstats, 0,
"Control statistics collection on GEOM providers and consumers");
OpenPOWER on IntegriCloud