Date: Wed, 19 Jul 2000 10:33:36 +0200 From: Adrian Chadd <adrian@freebsd.org> To: Poul-Henning Kamp <phk@critter.freebsd.dk> Cc: arch@freebsd.org Subject: Re: DEVFS, the complete picture (Was: Re: SysctlFS) Message-ID: <20000719103336.B40749@ywing.creative.net.au> In-Reply-To: <2732.963993497@critter.freebsd.dk>; from phk@critter.freebsd.dk on Wed, Jul 19, 2000 at 09:58:17AM %2B0200 References: <3974D642.59E2B600@elischer.org> <2732.963993497@critter.freebsd.dk>
next in thread | previous in thread | raw e-mail | index | archive | help
[To/CC list chomped because I think we're all on -arch anyway] On Wed, Jul 19, 2000, Poul-Henning Kamp wrote: > In message <3974D642.59E2B600@elischer.org>, Julian Elischer writes: > > >> Your "symlink device node" proposal still doesn't solve the > >> cloning problem, so it is only 1/2 a solution to what in > >> practice is a non-problem. > > > >It allows the cloning devices to be represented > >all over the filesystems rather than limitted to the devfs, > >thus it allows them to be in chroot/jails without zillions > >of devfs mounts... > > No it doesn't. You "symlink" idea just replaces the major+minor > with a string, that's all. > > Cloning can be done two ways, which I will illustrate with the pty > driver as example: > > A) You open "/dev/pty", which clones and does some h0h0magic > with vnodes and fdesc. > You call ioctl(fd, WHATSMYREALNAME, buf, sizeof(buf)) > and it tells you that you are really "/dev/pty102". > > B) You try to open ("/dev/pty%d",N) for N [0...] > Once an open succeeds you have your fd and your name. > (this is what we do today) The amount of h0h0magick needed for A from a vnode point of view really isn't that much. In fact, if you wanted to make it less evil you could mandate that stat.st_ino or even stat.st_dev reflects the device minor number when you're cloning, which seems a lot neater than the above ioctl(). (I used stat.st_ino when implementing the cloning creation file in my inode FS FFS hack.) 2c, adrian -- Adrian Chadd Build a man a fire, and he's warm for the <adrian@FreeBSD.org> rest of the evening. Set a man on fire and he's warm for the rest of his life. 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?20000719103336.B40749>