summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorphk <phk@FreeBSD.org>2003-04-12 17:04:34 +0000
committerphk <phk@FreeBSD.org>2003-04-12 17:04:34 +0000
commit2e8ebbf548a4ccef4400eac22c3849fb134b46ec (patch)
tree206149fc5d099f3e6e11d724fa45fbaa3815015f
parent1067d98b117dfbaed5f1f0c59c09567ea526eaaa (diff)
downloadFreeBSD-src-2e8ebbf548a4ccef4400eac22c3849fb134b46ec.zip
FreeBSD-src-2e8ebbf548a4ccef4400eac22c3849fb134b46ec.tar.gz
If we hit access ahead of a spoil event, we should have negative
delta access-counts and proceed.
-rw-r--r--sys/geom/geom_subr.c10
1 files changed, 3 insertions, 7 deletions
diff --git a/sys/geom/geom_subr.c b/sys/geom/geom_subr.c
index 9a54da1..fbaa6c7 100644
--- a/sys/geom/geom_subr.c
+++ b/sys/geom/geom_subr.c
@@ -398,13 +398,9 @@ g_access_rel(struct g_consumer *cp, int dcr, int dcw, int dce)
* now rather than having to unravel this later.
*/
if (cp->geom->spoiled != NULL && cp->spoiled) {
- KASSERT(dcr >= 0, ("spoiled but dcr = %d", dcr));
- KASSERT(dcw >= 0, ("spoiled but dce = %d", dcw));
- KASSERT(dce >= 0, ("spoiled but dcw = %d", dce));
- KASSERT(cp->acr == 0, ("spoiled but cp->acr = %d", cp->acr));
- KASSERT(cp->acw == 0, ("spoiled but cp->acw = %d", cp->acw));
- KASSERT(cp->ace == 0, ("spoiled but cp->ace = %d", cp->ace));
- return(ENXIO);
+ KASSERT(dcr <= 0, ("spoiled but dcr = %d", dcr));
+ KASSERT(dcw <= 0, ("spoiled but dce = %d", dcw));
+ KASSERT(dce <= 0, ("spoiled but dcw = %d", dce));
}
/*
OpenPOWER on IntegriCloud