freebsd-dev/sys/nfs
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
..
bootp_subr.c Fix warnings in preparation for adding -Wall -Wcast-qual to the 1999-01-27 23:45:44 +00:00
krpc_subr.c Fix warnings in preparation for adding -Wall -Wcast-qual to the 1999-01-27 23:45:44 +00:00
krpc.h Forward declare more structs that are used in prototypes here - don't 1998-02-01 20:34:07 +00:00
nfs_bio.c remove b_proc from struct buf, it's (now) unused. 1999-05-06 20:00:34 +00:00
nfs_common.c Divorce "dev_t" from the "major|minor" bitmap, which is now called 1999-05-11 19:55:07 +00:00
nfs_common.h Fix for creating files on a Solaris 7 server with NFSv3 (the request was 1998-12-25 10:34:27 +00:00
nfs_node.c Do not need (or want) to take a reference on an NFS file that 1998-09-29 23:15:25 +00:00
nfs_nqlease.c The VFS/BIO subsystem contained a number of hacks in order to optimize 1999-05-02 23:57:16 +00:00
nfs_serv.c Divorce "dev_t" from the "major|minor" bitmap, which is now called 1999-05-11 19:55:07 +00:00
nfs_socket.c The VFS/BIO subsystem contained a number of hacks in order to optimize 1999-05-02 23:57:16 +00:00
nfs_srvcache.c Moved `#ifndef NFS_NOSERVER' after including nfs.h. 1998-07-02 12:41:42 +00:00
nfs_subs.c Divorce "dev_t" from the "major|minor" bitmap, which is now called 1999-05-11 19:55:07 +00:00
nfs_syscalls.c Suser() simplification: 1999-04-27 11:18:52 +00:00
nfs_vfsops.c Close a potential mbuf and/or mbuf cluster leak in the client-side NFS 1999-04-10 18:53:29 +00:00
nfs_vnops.c Divorce "dev_t" from the "major|minor" bitmap, which is now called 1999-05-11 19:55:07 +00:00
nfs.h remove b_proc from struct buf, it's (now) unused. 1999-05-06 20:00:34 +00:00
nfsdiskless.h Removed more vestiges of config-time swap configuration. 1997-09-07 12:56:46 +00:00
nfsm_subs.h Fix for creating files on a Solaris 7 server with NFSv3 (the request was 1998-12-25 10:34:27 +00:00
nfsmount.h When using NFSv3, use the remote server's idea of the maximum file size 1998-05-30 16:33:58 +00:00
nfsnode.h Reimplement the NFS ACCESS RPC cache as an "accelerator" rather than a true 1998-11-15 20:36:18 +00:00
nfsproto.h For the on-the-wire protocol, u_long -> u_int32_t; long -> int32_t; 1998-05-31 20:09:01 +00:00
nfsrtt.h For the on-the-wire protocol, u_long -> u_int32_t; long -> int32_t; 1998-05-31 20:09:01 +00:00
nfsrvcache.h For the on-the-wire protocol, u_long -> u_int32_t; long -> int32_t; 1998-05-31 20:09:01 +00:00
nfsv2.h Delete the #if 0 (nearly) duplicate definitions of nfsproto.h. Having 1998-05-13 06:40:56 +00:00
nqnfs.h Use u_int32_t in NQFHHASH instead of u_long. 1998-07-05 10:13:22 +00:00
rpcv2.h For the on-the-wire protocol, u_long -> u_int32_t; long -> int32_t; 1998-05-31 20:09:01 +00:00
xdr_subs.h For the on-the-wire protocol, u_long -> u_int32_t; long -> int32_t; 1998-05-31 20:09:01 +00:00