From owner-freebsd-hackers Thu Nov 27 12:23:13 1997 Return-Path: Received: (from root@localhost) by hub.freebsd.org (8.8.7/8.8.7) id MAA20143 for hackers-outgoing; Thu, 27 Nov 1997 12:23:13 -0800 (PST) (envelope-from owner-freebsd-hackers) Received: from nomis.simon-shapiro.org (nomis.i-Connect.Net [206.190.143.100]) by hub.freebsd.org (8.8.7/8.8.7) with SMTP id MAA20104 for ; Thu, 27 Nov 1997 12:22:56 -0800 (PST) (envelope-from shimon@nomis.Simon-Shapiro.ORG) Received: (qmail 27215 invoked by uid 1000); 27 Nov 1997 20:22:46 -0000 Message-ID: X-Mailer: XFMail 1.2-beta-111997 [p0] on FreeBSD X-Priority: 3 (Normal) Content-Type: text/plain; charset=us-ascii Content-Transfer-Encoding: 8bit MIME-Version: 1.0 In-Reply-To: Date: Thu, 27 Nov 1997 12:22:46 -0800 (PST) Reply-To: shimon@simon-shapiro.org Organization: The Simon shapiro Foundation From: Simon Shapiro To: Julian Elischer Subject: RE: DEVFS/SLICE passes milestone Cc: hackers@freebsd.org Sender: owner-freebsd-hackers@freebsd.org X-Loop: FreeBSD.org Precedence: bulk If you want me to try and test it, let me have a patch. Simon On 26-Nov-97 Julian Elischer wrote: > San francisco, Early Tuesday morning, > > DEVFS passed a critical milestone today when my PC here booted up a > kernel > using only DEVFS based devices. The kernel used DEVFS to find the > root > device and mount it, finding it by NAME (sd1s1a) rather than by > major/minor numbers. The disk devices were all created dynamically > using > the "slice" subsystem so that all IO to the disks was flowing through > the > SLICE system's "IOreq" entrypoints rather than the older disk > 'strategy()' > entrypoints. > > The disk partitionning is being handled by separate MBR and DISKLABEL > SLICE objects, rather than by the older disk 'slicing' code. > The drivers have SLICE entrypoints added, in addition to the usual > entrypoints, which are no longer being used. > teh SLICE code is also known as "storage layering". > > On my system here, the lowest layer is the driver, > which exports a single slice. The driver does not know about any > partitioning (in the new code that is). It does IO requiests and that > is > all. > The next layer is an MBR type object, that takes the single slice > exported by the driver and exports in turn N slices, one for each > MBR (fdisk) partition. On each disk, One of these slices is in turn > passed to a DISKLABEL object, that takes in a single MBR slice > and exports a slice for each disklabel partition. All these slices > regardless of layer are identical in behaviour. > the top layer HAPPENS to have filesystems on each slice. > > since All disklslices are now handled by the same code > their major numbers are all the same. The minor numbers are > allocated dynamically as increasing integers. > i.e. SLICE code NEEDS DEVFS. > > yes I know the dates and link counts are wrong.. > > next steps: > 1/ clean it up > 2/ figure out why I suddenly have an extra swap device (a worry) > 3/ fix dates and links > 4/ make all major numbers irrelevant by bypassing the devsw tables. > 4a/ Allocate majors dynamically (used only to allow a device > to be shown to be unique) > 5/ remove all references to dev_t in the kernel :-) > > julian > > > attached find 'mount' output and disk related lines from 'ls -l /dev' > > If Microsoft Built Cars: There would be an "Engine Pro" with bigger turbos, but it would be slower on most existing roads. Sincerely Yours, Simon Shapiro Shimon@Simon-Shapiro.ORG Voice: 503.799.2313