Skip site navigation (1)Skip section navigation (2)
Date:      Thu, 27 Nov 1997 12:22:46 -0800 (PST)
From:      Simon Shapiro <shimon@simon-shapiro.org>
To:        Julian Elischer <julian@whistle.com>
Cc:        hackers@freebsd.org
Subject:   RE: DEVFS/SLICE passes milestone
Message-ID:  <XFMail.971127122246.shimon@simon-shapiro.org>
In-Reply-To: <Pine.BSF.3.95.971126032124.2992A-200000@current1.whistle.com>

next in thread | previous in thread | raw e-mail | index | archive | help
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



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