diff options
author | pjd <pjd@FreeBSD.org> | 2004-12-19 23:33:59 +0000 |
---|---|---|
committer | pjd <pjd@FreeBSD.org> | 2004-12-19 23:33:59 +0000 |
commit | 5d72d5354a365055a5d453adba536e89c77df1b3 (patch) | |
tree | 1d8c2e7cddeb9eff946c98ca3a4b8a6768d1fcb2 | |
parent | 8fe8e68e769406cc298bf3b1d34bfb0135d1feae (diff) | |
download | FreeBSD-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().
-rw-r--r-- | sys/geom/mirror/g_mirror.c | 5 |
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 |