Skip site navigation (1)Skip section navigation (2)
Date:      Fri, 18 Aug 2000 22:41:32 +0200
From:      Poul-Henning Kamp <phk@freebsd.org>
To:        current@freebsd.org
Subject:   PATCH: devfs mkIII  test & review please.
Message-ID:  <84513.966631292@critter>

next in thread | raw e-mail | index | archive | help

Please look at, test and review:

	http://phk.freebsd.dk/patch/devfsIII.patch

Do not despair at the size of the patch, the majority of it are
the removal of the old DEVFS.  The kernel shrinks 3000 lines
because of this patch.

Please report the exact patch version in your emails, I will
be updating the patch on my web-server at regular intervals.

I intend to commit this stuff in the next week, and I hope
that we can make DEVFS the default pretty soon after.

Until you have seen a few "this works for me" emails, you
should probably not try this on a machine you don't want
hosed.

I will give a presentation at BSDcon about this entire ball
of wax: DEVFS, dev_t, disk-minilayer, struct bio/buf and
so on.  Be there!

Poul-Henning

README:

devfsIII.patch

Contains the patches needed to add the mkIII devfs in fs/devfs and remove
the mkI in miscfs/devfs.

(This patch includes the "vaccess.patch" as well, I expect that will be 
committed separately before this patch)

Apply patch, add "options DEVFS" to your kernel and tell me what happens.

Status:
        Functional (at least on my diskless test box).

Drivers which do real cloning:
        md
        bpf
        tun

Missing:
        Rename
        Subdirs.
        Close some race conditions using guaranteed atomic operations.
        Mountoption (ro ?) to prevent new devices from appearing in an instance.
        All uses of cdevsw_add() needs to be use devfs_clone() instead.

Patch Version: Fri Aug 18 22:32:54 CEST 2000


Poul-Henning


  -- draft commit message(s) --

  Remove all traces of Julians DEVFS (incl from kern/subr_diskslice.c)

  Remove old DEVFS support fields from dev_t.

  Make uid, gid & mode members of dev_t and set them in make_dev().

  Use correct uid, gid & mode in make_dev in disk minilayer.

  Use makedev() rather than make_dev() for MFSs magic devices to prevent
  DEVFS from noticing this abuse.

  Add a field for DEVFS inode number in dev_t.

  Add new DEVFS in fs/devfs.

  Add devfs cloning to:
        disk minilayer (ie: ad(4), sd(4), cd(4) etc etc) 
        md(4), tun(4), bpf(4)

  If DEVFS add -d flag to /sbin/inits args to make it mount devfs.

  Add commented out DEVFS to GENERIC

  -- end --


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


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




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