freebsd-skq/sys/gnu/ext2fs
Poul-Henning Kamp bfbb9ce670 Divorce "dev_t" from the "major|minor" bitmap, which is now called
udev_t in the kernel but still called dev_t in userland.

Provide functions to manipulate both types:
        major()         umajor()
        minor()         uminor()
        makedev()       umakedev()
        dev2udev()      udev2dev()

For now they're functions, they will become in-line functions
after one of the next two steps in this process.

Return major/minor/makedev to macro-hood for userland.

Register a name in cdevsw[] for the "filedescriptor" driver.

In the kernel the udev_t appears in places where we have the
major/minor number combination, (ie: a potential device: we
may not have the driver nor the device), like in inodes, vattr,
cdevsw registration and so on, whereas the dev_t appears where
we carry around a reference to a actual device.

In the future the cdevsw and the aliased-from vnode will be hung
directly from the dev_t, along with up to two softc pointers for
the device driver and a few houskeeping bits.  This will essentially
replace the current "alias" check code (same buck, bigger bang).

A little stunt has been provided to try to catch places where the
wrong type is being used (dev_t vs udev_t), if you see something
not working, #undef DEVT_FASCIST in kern/kern_conf.c and see if
it makes a difference.  If it does, please try to track it down
(many hands make light work) or at least try to reproduce it
as simply as possible, and describe how to do that.

Without DEVT_FASCIST I belive this patch is a no-op.

Stylistic/posixoid comments about the userland view of the <sys/*.h>
files welcome now, from userland they now contain the end result.

Next planned step: make all dev_t's refer to the same devsw[] which
means convert BLK's to CHR's at the perimeter of the vnodes and
other places where they enter the game (bootdev, mknod, sysctl).
1999-05-11 19:55:07 +00:00
..
COPYRIGHT.INFO Seventy-odd "its" / "it's" typos in comments fixed as per kern/6108. 1998-04-17 22:37:19 +00:00
ext2_alloc.c Fix warnings in preparation for adding -Wall -Wcast-qual to the 1999-01-27 21:50:00 +00:00
ext2_balloc.c Fix warnings in preparation for adding -Wall -Wcast-qual to the 1999-01-27 21:50:00 +00:00
ext2_bmap.c I got tired of seeing all the cdevsw[major(foo)] all over the place. 1999-05-08 06:40:31 +00:00
ext2_extern.h Don't pass unused unused timestamp args to UFS_UPDATE() or waste 1999-01-07 16:14:19 +00:00
ext2_fs_i.h Main code for the ext2fs filesystem. Please refer to the COPYRIGHT.INFO 1995-11-05 23:25:12 +00:00
ext2_fs_sb.h Fixed clean flag handling: 1998-09-26 06:18:59 +00:00
ext2_fs.h Fixed bloatage of `struct inode'. We used 5 "spare" fields for ext2fs, 1998-10-13 15:45:43 +00:00
ext2_ihash.c Divorce "dev_t" from the "major|minor" bitmap, which is now called 1999-05-11 19:55:07 +00:00
ext2_inode_cnv.c Fixed printf format errors. 1998-07-11 07:46:16 +00:00
ext2_inode.c Fix warnings in preparation for adding -Wall -Wcast-qual to the 1999-01-27 21:50:00 +00:00
ext2_linux_balloc.c Added a used #include (don't depend on "vnode_if.h" including <sys/buf.h>). 1999-02-25 15:54:06 +00:00
ext2_linux_ialloc.c Fix warnings in preparation for adding -Wall -Wcast-qual to the 1999-01-27 21:50:00 +00:00
ext2_lookup.c Fix warnings in preparation for adding -Wall -Wcast-qual to the 1999-01-27 21:50:00 +00:00
ext2_mount.h Don't pass unused unused timestamp args to UFS_UPDATE() or waste 1999-01-07 16:14:19 +00:00
ext2_readwrite.c Don't pass unused unused timestamp args to UFS_UPDATE() or waste 1999-01-07 16:14:19 +00:00
ext2_subr.c Fix warnings in preparation for adding -Wall -Wcast-qual to the 1999-01-27 21:50:00 +00:00
ext2_vfsops.c I got tired of seeing all the cdevsw[major(foo)] all over the place. 1999-05-08 06:40:31 +00:00
ext2_vnops.c This Implements the mumbled about "Jail" feature. 1999-04-28 11:38:52 +00:00
fs.h Quick fix for not being able to sync all the buffers in boot() if 1998-10-03 16:19:28 +00:00
i386-bitops.h Support compiling with `gcc -pedantic' (don't use hard newlines in 1998-09-09 12:22:17 +00:00
inode.h Don't depend on <ufs/ufs/quota.h> or another (old) prerequisite including 1999-03-06 05:21:09 +00:00