char devices without SI_UNMAPPED?

Konstantin Belousov kostikbel at gmail.com
Sun Dec 13 19:40:58 UTC 2020


On Sun, Dec 13, 2020 at 12:20:49PM -0700, Alan Somers wrote:
> On Sun, Dec 13, 2020 at 11:20 AM Warner Losh <imp at bsdimp.com> wrote:
> 
> >
> >
> > On Sun, Dec 13, 2020 at 11:18 AM Ian Lepore <ian at freebsd.org> wrote:
> >
> >> On Sun, 2020-12-13 at 10:27 -0700, alan somers wrote:
> >> > I'm trying to exercise the aio code that handles character devices
> >> > that
> >> > don't set the SI_UNMAPPED flag.  But I can't find any.  Are there any
> >> > remaining character devices that don't allow unmapped I/O?
> >> >
> >> > -Alan
> >> >
> >>
> >> I assume you mean disk-like devices?  Probably mmcsd, flash/at45d,
> >> flash/mx25l.
> >>
> >
> Hm.  I don't have any of those.
> 
> 
> >
> > There are times that it's disabled administratively as well, but that may
> > be on a per-I/O basis.
> > vfs.zfs.vol.unmap_enabled: 1
> >
> 
> This one doesn't seem to work.  It looks like the only functionality it
> gates these days is DIOCGDELETE.
> 
> 
> > vfs.unmapped_buf_allowed: 1
> >
> 
> Well, this one works.  Thanks for the tip.  Unfortunately, it's a tunable,
> so I can't use it for any kind of automated testing.

There is enough geoms which do not support unmapped bios, even if only in
some configurations.  Recursively grep for G_PF_ACCEPT_UNMAPPED in sys/geom
to see what I mean.

After all, an option for geom_nop should be trivial, to force all bios to
map, instead of inheriting from the lower provider.


More information about the freebsd-hackers mailing list