svn commit: r322196 - head/sys/geom

Warner Losh imp at bsdimp.com
Mon Aug 7 22:00:19 UTC 2017


On Mon, Aug 7, 2017 at 3:51 PM, Konstantin Belousov <kostikbel at gmail.com>
wrote:

> On Mon, Aug 07, 2017 at 03:37:57PM -0600, Warner Losh wrote:
> > On Mon, Aug 7, 2017 at 3:29 PM, Konstantin Belousov <kostikbel at gmail.com
> >
> > wrote:
> >
> > > On Mon, Aug 07, 2017 at 09:12:28PM +0000, Warner Losh wrote:
> > > > +     LIST_FOREACH(gap, &pp->geom->aliases, ga_next) {
> > > > +             error = make_dev_alias_p(MAKEDEV_CHECKNAME |
> > > MAKEDEV_WAITOK, &adev, dev,
> > > > +                 "%s", gap->ga_alias);
> > > > +             if (error) {
> > > > +                     printf("%s: make_dev_alias_p() failed (name=%s,
> > > error=%d)\n",
> > > > +                         __func__, gap->ga_alias, error);
> > > > +                     continue;
> > > > +             }
> > > > +             adev->si_flags |= SI_UNMAPPED;
> > > Why do you set the flag unconditionally ?
> >
> >
> > Because it's set for "dev" unconditionally and the old compat code did it
> > too...
> >
> > > +             adev->si_iosize_max = dev->si_iosize_max;
> > > > +             adev->si_drv2 = dev->si_drv2;
> > > And what are you trying to do by these initializations, including the
> > > si_flags adjustment ?
> > >
> >
> > The old (ad->ada) compat code set them. Though to be honest, I didn't
> drill
> > down into the devfs code to see if that as still relevant. It sounds like
> > maybe not relevant...
> >
> >
> > > Aliases cause creation of symlinks in the devfs populate loop, which
> > > makes it impossible to access the alias cdevs.
> > >
> >
> > True enough. If so, do you think these adjustments to adev can just be
> > removed entirely? A quick look in devfs code suggests that it doesn't
> > matter since, as you point out, it's a symlink not a new, different node.
> Yes, I think that the adev tweaks are not needed.  I will be surprised
> if it appears to be used, but then there might be some hole in the
> devfs symlinks handling.
>

Maybe I'm just setting 'dead variables' here that don't matter. I don't
know that this is required, just kept the same code that used to 'work'.


> That said, since you mentioned ada/ad aliases, are they still in the tree ?
> If yes, do you plan to convert them as well ?
>

That code was removed in 11. I thought about bringing the code that ada
used to implement them back verbatim for nda (and soon mda), but thought
this approach was better and more general (and less error prone). I have no
plans to re-add them.

Warner


More information about the svn-src-all mailing list