Skip site navigation (1)Skip section navigation (2)
Date:      Mon, 29 Jan 2001 12:28:42 GMT
From:      Brian Somers <brian@Awfulhak.org>
To:        Poul-Henning Kamp <phk@critter.freebsd.dk>
Cc:        Brian Somers <brian@Awfulhak.org>, freebsd-arch@FreeBSD.org
Subject:   Re: Cloned open support
Message-ID:  <200101291228.f0TCSgP60147@storm.FreeBSD.org.uk>
In-Reply-To: Your message of "Mon, 29 Jan 2001 12:43:32 %2B0100" <20362.980768612@critter>

next in thread | previous in thread | raw e-mail | index | archive | help
> >2.  Given that I'll need to change the d_open prototype (and
> >    thus cdevsw)
> 
> I'm not sure that is really a good idea.
> 
> If you look at the device name clone stuff I think I have made
> it possible to handle it there.
> 
> The idea being that you call it on "/dev/pty" and it will clone
> "/dev/pty38" for you and return the dev_t for that.  You then
> complete the open on that dev_t.  I have not quite thought
> it through though.
> 
> Either way, I think cloning open should be kept out of d_open
> one way or another.

The thing is that I believe the driver needs to be able to
decide what minor number will be opened.  This idea is taken
from the Solaris implementation.  For example, I have a
theoretical driver that does this:

o Makes minor 0 available in /dev as a control device
o Makes minor 1 available as something that'll be cloned.
o The descriptor returned from opening minor 1 may itself
  me made available via namefs (a vfs that allows you to
  turn a descriptor into a mountpoint to give other users
  access to it) and may be opened again.  Such descriptors
  are not cloned.

Although this sounds exotic, it's quite practical, and
impossible to do outside of the driver.

I think deciding on the minor outside the driver is too
limiting.

> --
> Poul-Henning Kamp       | UNIX since Zilog Zeus 3.20
> phk@FreeBSD.ORG         | TCP/IP since RFC 956
> FreeBSD committer       | BSD since 4.3-tahoe    
> Never attribute to malice what can adequately be explained by incompetence.

--
Brian <brian@Awfulhak.org>                        <brian@[uk.]FreeBSD.org>
      <http://www.Awfulhak.org>;                   <brian@[uk.]OpenBSD.org>
Don't _EVER_ lose your sense of humour !


To Unsubscribe: send mail to majordomo@FreeBSD.org
with "unsubscribe freebsd-arch" in the body of the message




Want to link to this message? Use this URL: <https://mail-archive.FreeBSD.org/cgi/mid.cgi?200101291228.f0TCSgP60147>