diff options
-rw-r--r-- | sys/geom/vinum/geom_vinum.c | 8 |
1 files changed, 6 insertions, 2 deletions
diff --git a/sys/geom/vinum/geom_vinum.c b/sys/geom/vinum/geom_vinum.c index c4e96f4..ebd92e2 100644 --- a/sys/geom/vinum/geom_vinum.c +++ b/sys/geom/vinum/geom_vinum.c @@ -93,8 +93,12 @@ gv_start(struct bio *bp) case BIO_WRITE: case BIO_DELETE: bp2 = g_clone_bio(bp); - bp2->bio_done = g_std_done; - g_io_request(bp2, LIST_FIRST(&gp->consumer)); + if (bp2 == NULL) + g_io_deliver(bp, ENOMEM); + else { + bp2->bio_done = g_std_done; + g_io_request(bp2, LIST_FIRST(&gp->consumer)); + } return; default: g_io_deliver(bp, EOPNOTSUPP); |