Deleted Added
full compact
35c35
< * $FreeBSD: head/sys/geom/geom_dev.c 104452 2002-10-04 10:38:36Z phk $
---
> * $FreeBSD: head/sys/geom/geom_dev.c 104602 2002-10-07 06:25:26Z phk $
234,236d233
< #if 0
< struct sbuf *usb, *sb;
< #endif
241a239
> gio = NULL;
277,289c275
< #if 0
< case GEOMGETCONF:
< /* we bogusly pass cp to avoid getting any consumers listed */
< sb = g_conf_specific(gp2->class, gp2, pp2, cp);
< usb = (struct sbuf *)data;
< if (usb->s_size - 1 < sbuf_len(sb))
< error = ENOMEM;
< else
< error = copyout(sbuf_data(sb), usb->s_buf, sbuf_len(sb) + 1);
< if (!error)
< usb->s_len = sbuf_len(sb);
< break;
< #endif
---
>
291c277
< gio = g_malloc(sizeof *gio, M_WAITOK);
---
> gio = g_malloc(sizeof *gio, M_WAITOK | M_ZERO);
301d286
< g_free(gio);
305a291,297
> if (error == EDIRIOCTL) {
> KASSERT(gio != NULL, ("NULL gio but EDIRIOCTL"));
> KASSERT(gio->func != NULL, ("NULL function but EDIRIOCTL"));
> error = (gio->func)(gio->dev, cmd, data, fflag, td);
> }
> if (gio != NULL)
> g_free(gio);