svn commit: r322196 - head/sys/geom

Warner Losh imp at bsdimp.com
Mon Aug 7 21:37:58 UTC 2017


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.

Thanks for the feedback.

Warner


More information about the svn-src-head mailing list