diff options
author | phk <phk@FreeBSD.org> | 2003-04-12 17:04:34 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 2003-04-12 17:04:34 +0000 |
commit | 2e8ebbf548a4ccef4400eac22c3849fb134b46ec (patch) | |
tree | 206149fc5d099f3e6e11d724fa45fbaa3815015f | |
parent | 1067d98b117dfbaed5f1f0c59c09567ea526eaaa (diff) | |
download | FreeBSD-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.c | 10 |
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)); } /* |