summaryrefslogtreecommitdiffstats
path: root/sys/geom/gate/g_gate.h
diff options
context:
space:
mode:
authorpjd <pjd@FreeBSD.org>2006-09-05 21:56:00 +0000
committerpjd <pjd@FreeBSD.org>2006-09-05 21:56:00 +0000
commit5c567602d82c61d90ee3ea5f3262c9e13e064769 (patch)
tree1bc73e60d8daf49147a0b02027819d920fa6f93c /sys/geom/gate/g_gate.h
parentb48a7df7a28b9bcf280e082e2160b3312dee8f49 (diff)
downloadFreeBSD-src-5c567602d82c61d90ee3ea5f3262c9e13e064769.zip
FreeBSD-src-5c567602d82c61d90ee3ea5f3262c9e13e064769.tar.gz
Fix problems with destroy and forcible destroy functionality:
- hold/release device in start/done routines, this will probably slow down things a bit, but previous code was racy; - only release device if g_gate_destroy() failed - if it succeeded device is dead and there is nothing to release; - various other changes which makes forcible destruction reliable. MFC after: 3 days
Diffstat (limited to 'sys/geom/gate/g_gate.h')
-rw-r--r--sys/geom/gate/g_gate.h4
1 files changed, 2 insertions, 2 deletions
diff --git a/sys/geom/gate/g_gate.h b/sys/geom/gate/g_gate.h
index c6e8689..63ab356 100644
--- a/sys/geom/gate/g_gate.h
+++ b/sys/geom/gate/g_gate.h
@@ -68,9 +68,9 @@
*/
struct g_gate_softc {
int sc_unit; /* P: (read-only) */
- int16_t sc_ref; /* P: g_gate_list_mtx */
+ int sc_ref; /* P: g_gate_list_mtx */
struct g_provider *sc_provider; /* P: (read-only) */
- uint32_t sc_flags; /* P: (read-only) */
+ uint32_t sc_flags; /* P: sc_queue_mtx */
struct bio_queue_head sc_inqueue; /* P: sc_queue_mtx */
struct bio_queue_head sc_outqueue; /* P: sc_queue_mtx */
OpenPOWER on IntegriCloud