summaryrefslogtreecommitdiffstats
path: root/sys/geom
diff options
context:
space:
mode:
authorpjd <pjd@FreeBSD.org>2004-12-19 23:33:59 +0000
committerpjd <pjd@FreeBSD.org>2004-12-19 23:33:59 +0000
commit5d72d5354a365055a5d453adba536e89c77df1b3 (patch)
tree1d8c2e7cddeb9eff946c98ca3a4b8a6768d1fcb2 /sys/geom
parent8fe8e68e769406cc298bf3b1d34bfb0135d1feae (diff)
downloadFreeBSD-src-5d72d5354a365055a5d453adba536e89c77df1b3.zip
FreeBSD-src-5d72d5354a365055a5d453adba536e89c77df1b3.tar.gz
- Argument 'flags' in g_mirror_destroy_consumer() function is unsed -
mark it as such. - Before closing consumer check if it is open. It can be closed here when g_mirror_connect_disk() fails on g_access().
Diffstat (limited to 'sys/geom')
-rw-r--r--sys/geom/mirror/g_mirror.c5
1 files changed, 3 insertions, 2 deletions
diff --git a/sys/geom/mirror/g_mirror.c b/sys/geom/mirror/g_mirror.c
index afbbdf7..1099e5e 100644
--- a/sys/geom/mirror/g_mirror.c
+++ b/sys/geom/mirror/g_mirror.c
@@ -315,7 +315,7 @@ g_mirror_is_busy(struct g_mirror_softc *sc, struct g_consumer *cp)
}
static void
-g_mirror_destroy_consumer(void *arg, int flags)
+g_mirror_destroy_consumer(void *arg, int flags __unused)
{
struct g_consumer *cp;
@@ -344,7 +344,8 @@ g_mirror_kill_consumer(struct g_mirror_softc *sc, struct g_consumer *cp)
}
G_MIRROR_DEBUG(2, "Access %s r%dw%de%d = %d", pp->name, -cp->acr,
-cp->acw, -cp->ace, 0);
- g_access(cp, -cp->acr, -cp->acw, -cp->ace);
+ if (cp->acr > 0 || cp->acw > 0 || cp->ace > 0)
+ g_access(cp, -cp->acr, -cp->acw, -cp->ace);
if (retaste_wait) {
/*
* After retaste event was send (inside g_access()), we can send
OpenPOWER on IntegriCloud