From owner-freebsd-hackers Wed Nov 26 13:01:01 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id NAA18856 for hackers-outgoing; Wed, 26 Nov 1997 13:01:01 -0800 (PST) (envelope-from owner-freebsd-hackers) Received: from alpo.whistle.com (alpo.whistle.com [207.76.204.38]) by hub.freebsd.org (8.8.7/8.8.7) with ESMTP id NAA18841 for ; Wed, 26 Nov 1997 13:00:57 -0800 (PST) (envelope-from julian@whistle.com) Received: (from daemon@localhost) by alpo.whistle.com (8.8.5/8.8.5) id MAA23632; Wed, 26 Nov 1997 12:55:33 -0800 (PST) Received: from UNKNOWN(), claiming to be "current1.whistle.com" via SMTP by alpo.whistle.com, id smtpd023629; Wed Nov 26 12:55:32 1997 Date: Wed, 26 Nov 1997 12:53:19 -0800 (PST) From: Julian Elischer To: S?ren Schmidt cc: hackers@FreeBSD.ORG Subject: Re: DEVFS/SLICE passes milestone In-Reply-To: <199711262036.VAA06175@sos.freebsd.dk> Message-ID: MIME-Version: 1.0 Content-Type: TEXT/PLAIN; charset=US-ASCII Content-Transfer-Encoding: 8bit X-MIME-Autoconverted: from QUOTED-PRINTABLE to 8bit by hub.freebsd.org id NAA18842 Sender: owner-freebsd-hackers@FreeBSD.ORG X-Loop: FreeBSD.org Precedence: bulk On Wed, 26 Nov 1997, S?ren Schmidt wrote: > In reply to Julian Elischer who wrote: > > Unfortunatly the existing code is inherrently broken by design. > > Now you tell us :(, that is the exact reason for our reservations > on what goes in and what does not nowadays.... It's not DEVFS that's broken, it's the existing slice system. it's too intertwined with itself. It's close to impossible to untangle it enough to make things happen in the order needed. an example.. slices are only noticed when you open the device. How do you open /dev/rsd0a if you don't know that it exists? The present code works because /dev/has entries that are always present, whether or not the system knows that the slice exists. with dynamic assignment of new slice types and partitionning schemes (e.g. raid) the device node may not exist.. then how do you open it to find that the slice exists? Dynamic devices are inherrently incompatible with devices that only make their nodes when you OPEN them. (you can't see the device because it isn't open, you can't open it becasue you can't see it) The new code is a LOT easier to read than the existing SLICE code as it breaks the functionality up into handlers, for each kind of slice so it's not all mashed in together. it allows us to dynamically and easily add new layers e.g. raid, mirroring etc. with minimal work. The DEVFS changes are separate, but as I don't run a diskless system, I cannot go further with DEVFS until I have the SLICE code fixed. Now that that is going, I have a chance of getting DEVFS production grade. > > > After discussing this with PHK we agreed that the two changes were > > intertwined. > > Well, depends on viewpoint, but I'll buy that... PHK tried to rewrite the slice code, but ended up needing a devfs (he wrote a 'make my device-daemon' (poor-man's devfs) I tried to get devfs up to production quality, but needed a new SLICE layer. The obvious answer is to merge the two efforts. > > > DEVFS works fine without the slice changes, except that > > you can't do disk partitions because of the broken-ness. > > i.e it works fine for diskless systems. > > > > You can do devfs without SLICES but it won't help you too much because of > > this. > > > > I have been consulting others on this as I go.. > > I know :), I just wanted to get this straight, we don't want a new > "inherrently broken by design" subsystem again. devfs isn't inherrently broken. it's just incompatible with BDE's slice code. > -=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=-=- > Søren Schmidt (sos@FreeBSD.org) FreeBSD Core Team > Even more code to hack -- will it ever end > .. >