diff options
author | phk <phk@FreeBSD.org> | 2003-02-11 12:49:58 +0000 |
---|---|---|
committer | phk <phk@FreeBSD.org> | 2003-02-11 12:49:58 +0000 |
commit | ab4aed671a88556ae70014b86f547d31bda0c80b (patch) | |
tree | 43fa177177ca1f453891519c109f91bebd60d021 /sys/geom/geom_dev.c | |
parent | a61961945a92388339a076d9cd42eff7bb72c39d (diff) | |
download | FreeBSD-src-ab4aed671a88556ae70014b86f547d31bda0c80b.zip FreeBSD-src-ab4aed671a88556ae70014b86f547d31bda0c80b.tar.gz |
Use the SI_CANDELETE flag on the dev_t rather than the D_CANFREE flag
on the cdevsw to determine ability to handle the BIO_DELETE request.
Diffstat (limited to 'sys/geom/geom_dev.c')
-rw-r--r-- | sys/geom/geom_dev.c | 4 |
1 files changed, 3 insertions, 1 deletions
diff --git a/sys/geom/geom_dev.c b/sys/geom/geom_dev.c index 07a1df3..c626f14 100644 --- a/sys/geom/geom_dev.c +++ b/sys/geom/geom_dev.c @@ -72,7 +72,7 @@ static struct cdevsw g_dev_cdevsw = { /* maj */ GEOM_MAJOR, /* dump */ nodump, /* psize */ g_dev_psize, - /* flags */ D_DISK | D_CANFREE | D_TRACKCLOSE, + /* flags */ D_DISK | D_TRACKCLOSE, /* kqfilter */ nokqfilter }; @@ -171,6 +171,8 @@ g_dev_taste(struct g_class *mp, struct g_provider *pp, int insist __unused) mtx_lock(&Giant); dev = make_dev(&g_dev_cdevsw, unit2minor(unit++), UID_ROOT, GID_OPERATOR, 0640, gp->name); + if (pp->flags & G_PF_CANDELETE) + dev->si_flags |= SI_CANDELETE; mtx_unlock(&Giant); g_topology_lock(); |