diff options
| author | Edward Tomasz Napierala <trasz@FreeBSD.org> | 2017-10-26 10:18:31 +0000 |
|---|---|---|
| committer | Edward Tomasz Napierala <trasz@FreeBSD.org> | 2017-10-26 10:18:31 +0000 |
| commit | 0d73fface2cdd48cfab8a72637282cdee0807198 (patch) | |
| tree | 36e39c139b869261f50cf6c08bd04ed0f2069014 /sys | |
| parent | 4001fcbe0aca256bf9f8166566609b0f45b9ce13 (diff) | |
Notes
Diffstat (limited to 'sys')
| -rw-r--r-- | sys/geom/mountver/g_mountver.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/geom/mountver/g_mountver.c b/sys/geom/mountver/g_mountver.c index cb4465b87ea3..5f580a1ef12d 100644 --- a/sys/geom/mountver/g_mountver.c +++ b/sys/geom/mountver/g_mountver.c @@ -257,7 +257,7 @@ g_mountver_create(struct gctl_req *req, struct g_class *mp, struct g_provider *p } gp = g_new_geomf(mp, "%s", name); sc = g_malloc(sizeof(*sc), M_WAITOK | M_ZERO); - mtx_init(&sc->sc_mtx, "gmountver", NULL, MTX_DEF); + mtx_init(&sc->sc_mtx, "gmountver", NULL, MTX_RECURSE); TAILQ_INIT(&sc->sc_queue); sc->sc_provider_name = strdup(pp->name, M_GEOM); gp->softc = sc; @@ -270,6 +270,7 @@ g_mountver_create(struct gctl_req *req, struct g_class *mp, struct g_provider *p newpp = g_new_providerf(gp, "%s", gp->name); newpp->mediasize = pp->mediasize; newpp->sectorsize = pp->sectorsize; + newpp->flags |= G_PF_DIRECT_SEND | G_PF_DIRECT_RECEIVE; if ((pp->flags & G_PF_ACCEPT_UNMAPPED) != 0) { G_MOUNTVER_DEBUG(0, "Unmapped supported for %s.", gp->name); @@ -280,6 +281,7 @@ g_mountver_create(struct gctl_req *req, struct g_class *mp, struct g_provider *p } cp = g_new_consumer(gp); + cp->flags |= G_CF_DIRECT_SEND | G_CF_DIRECT_RECEIVE; error = g_attach(cp, pp); if (error != 0) { gctl_error(req, "Cannot attach to provider %s.", pp->name); |
