From 9d449caddd4f442ba4ebfd2edafa1aef4fcba4c8 Mon Sep 17 00:00:00 2001 From: Alan Somers Date: Sat, 1 Jun 2024 12:00:03 -0600 Subject: [PATCH] md: round-trip the MUSTDEALLOC and RESERVE options If those options are requested when the device is created, ensure that they will be reported by MDIOCQUERY. MFC after: 2 weeks Reviewed by: imp Pull Request: https://github.com/freebsd/freebsd-src/pull/1270 --- sys/dev/md/md.c | 4 ++-- 1 file changed, 2 insertions(+), 2 deletions(-) diff --git a/sys/dev/md/md.c b/sys/dev/md/md.c index 267554031f23..af05373ae1d8 100644 --- a/sys/dev/md/md.c +++ b/sys/dev/md/md.c @@ -1345,7 +1345,7 @@ mdcreate_malloc(struct md_s *sc, struct md_req *mdr) sc->fwsectors = mdr->md_fwsectors; if (mdr->md_fwheads != 0) sc->fwheads = mdr->md_fwheads; - sc->flags = mdr->md_options & (MD_COMPRESS | MD_FORCE); + sc->flags = mdr->md_options & (MD_COMPRESS | MD_FORCE | MD_RESERVE); sc->indir = dimension(sc->mediasize / sc->sectorsize); sc->uma = uma_zcreate(sc->name, sc->sectorsize, NULL, NULL, NULL, NULL, 0x1ff, 0); @@ -1470,7 +1470,7 @@ mdcreate_vnode(struct md_s *sc, struct md_req *mdr, struct thread *td) snprintf(sc->ident, sizeof(sc->ident), "MD-DEV%ju-INO%ju", (uintmax_t)vattr.va_fsid, (uintmax_t)vattr.va_fileid); sc->flags = mdr->md_options & (MD_ASYNC | MD_CACHE | MD_FORCE | - MD_VERIFY); + MD_VERIFY | MD_MUSTDEALLOC); if (!(flags & FWRITE)) sc->flags |= MD_READONLY; sc->vnode = nd.ni_vp;