PERFORCE change 229620 for review
Jonathan Anderson
jonathan at FreeBSD.org
Wed Jun 12 09:15:38 UTC 2013
http://p4web.freebsd.org/@@229620?ac=10
Change 229620 by jonathan at jonathan-on-zenith on 2013/06/12 09:14:51
Promote some kernel libtesla errors to full panics.
This is a local change that shouldn't be replicated to upstream.
Affected files ...
.. //depot/projects/ctsrd/tesla/src/sys/contrib/tesla/libtesla/tesla_class.c#2 edit
.. //depot/projects/ctsrd/tesla/src/sys/contrib/tesla/libtesla/tesla_key.c#2 edit
.. //depot/projects/ctsrd/tesla/src/sys/contrib/tesla/libtesla/tesla_notification.c#4 edit
.. //depot/projects/ctsrd/tesla/src/sys/contrib/tesla/libtesla/tesla_store.c#2 edit
Differences ...
==== //depot/projects/ctsrd/tesla/src/sys/contrib/tesla/libtesla/tesla_class.c#2 (text+ko) ====
@@ -138,7 +138,12 @@
// A new instance must not look inactive.
if ((state == 0) && (name->tk_mask == 0))
+#ifdef _KERNEL
+ tesla_panic("inactive-looking new instance: state %d, mask 0x%x",
+ state, name->tk_mask);
+#else
return (TESLA_ERROR_EINVAL);
+#endif
if (tclass->tc_free == 0)
return (TESLA_ERROR_ENOMEM);
==== //depot/projects/ctsrd/tesla/src/sys/contrib/tesla/libtesla/tesla_key.c#2 (text+ko) ====
@@ -72,6 +72,12 @@
if (IS_SET(source->tk_mask, i)) {
if (IS_SET(dest->tk_mask, i)) {
if (dest->tk_keys[i] != source->tk_keys[i])
+#ifdef _KERNEL
+ tesla_panic("dest key %d (0x%x) != source (0x%x)",
+ i, dest->tk_keys[i], source->tk_keys[i]);
+#else
+ return (TESLA_ERROR_EINVAL);
+#endif
return (TESLA_ERROR_EINVAL);
} else {
dest->tk_keys[i] = source->tk_keys[i];
==== //depot/projects/ctsrd/tesla/src/sys/contrib/tesla/libtesla/tesla_notification.c#4 (text+ko) ====
@@ -42,7 +42,11 @@
|| !tehp->teh_clone || !tehp->teh_fail_no_instance
|| !tehp->teh_bad_transition
|| !tehp->teh_accept || !tehp->teh_ignored)
+#ifdef _KERNEL
+ tesla_panic("invalid error handler vector");
+#else
return (TESLA_ERROR_EINVAL);
+#endif
ev_handlers = tehp;
return (TESLA_SUCCESS);
==== //depot/projects/ctsrd/tesla/src/sys/contrib/tesla/libtesla/tesla_store.c#2 (text+ko) ====
@@ -96,7 +96,11 @@
}
default:
+#ifdef _KERNEL
+ tesla_panic("invalid TESLA_SCOPE %d", context);
+#else
return (TESLA_ERROR_EINVAL);
+#endif
}
if (store->length == 0) {
@@ -159,7 +163,11 @@
assert(tclassp != NULL);
if (id >= store->length)
+#ifdef _KERNEL
+ tesla_panic("requested class id %d > store length (%d)", id, store->length);
+#else
return (TESLA_ERROR_EINVAL);
+#endif
tesla_class *tclass = &store->classes[id];
assert(tclass != NULL);
More information about the p4-projects
mailing list