freebsd-nq/sys
Brian Feldman 13ccadd4b0 This is what was "fdfix2.patch," a fix for fd sharing. It's pretty
far-reaching in fd-land, so you'll want to consult the code for
changes.  The biggest change is that now, you don't use
	fp->f_ops->fo_foo(fp, bar)
but instead
	fo_foo(fp, bar),
which increments and decrements the fp refcount upon entry and exit.
Two new calls, fhold() and fdrop(), are provided.  Each does what it
seems like it should, and if fdrop() brings the refcount to zero, the
fd is freed as well.

Thanks to peter ("to hell with it, it looks ok to me.") for his review.
Thanks to msmith for keeping me from putting locks everywhere :)

Reviewed by:	peter
1999-09-19 17:00:25 +00:00
..
alpha Pull in the core bus drivers based on the machine type rather than 1999-09-13 17:52:06 +00:00
amd64 Correction: mem.c devices are "D_MEM" (and D_MEM is added.) 1999-09-12 18:48:07 +00:00
boot netboot removed until somebody fixes it so it compiles 1999-09-09 01:28:26 +00:00
cam Remove unneeded disk-related includes. 1999-09-12 08:23:21 +00:00
coda Seperate the export check in VFS_FHTOVP, exports are now checked via 1999-09-11 00:46:08 +00:00
compat This is what was "fdfix2.patch," a fix for fd sharing. It's pretty 1999-09-19 17:00:25 +00:00
compile
conf Fix some more disordering, as well as the description string for the 1999-09-14 16:14:05 +00:00
contrib Use devstat_end_transaction_buf() rather than Use devstat_end_transaction() 1999-09-18 21:30:27 +00:00
ddb $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
dev Two more devstat_end_transaction() -> devstat_end_transaction_buf(). 1999-09-19 12:43:34 +00:00
fs Add vfs.enable_userblk_io sysctl to control whether user reads and writes 1999-09-17 06:10:27 +00:00
geom Use devstat_end_transaction_buf() rather than Use devstat_end_transaction() 1999-09-18 21:30:27 +00:00
gnu Seperate the export check in VFS_FHTOVP, exports are now checked via 1999-09-11 00:46:08 +00:00
i4b Finish making LINT compile. Disable references to pnp in files that 1999-09-03 20:38:47 +00:00
i386 This is what was "fdfix2.patch," a fix for fd sharing. It's pretty 1999-09-19 17:00:25 +00:00
isa Two more devstat_end_transaction() -> devstat_end_transaction_buf(). 1999-09-19 12:43:34 +00:00
isofs/cd9660 Seperate the export check in VFS_FHTOVP, exports are now checked via 1999-09-11 00:46:08 +00:00
kern This is what was "fdfix2.patch," a fix for fd sharing. It's pretty 1999-09-19 17:00:25 +00:00
libkern $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
miscfs Add vfs.enable_userblk_io sysctl to control whether user reads and writes 1999-09-17 06:10:27 +00:00
modules Clean up and reorder. 1999-09-08 19:17:15 +00:00
msdosfs Seperate the export check in VFS_FHTOVP, exports are now checked via 1999-09-11 00:46:08 +00:00
net Don't call if_up() here, just set IFF_UP. 1999-09-14 01:17:30 +00:00
netatalk Change suser_xxx() to suser() where it applies. 1999-04-27 12:21:16 +00:00
netatm Fixed printf format errors (don't assume that ntohl() returns u_long; 1999-08-29 10:28:10 +00:00
netinet Change so_cred's type to a ucred, not a pcred. THis makes more sense, actually. 1999-09-19 02:17:02 +00:00
netipx Get rid of the old XNS checksum code and implement it the IPX way. 1999-08-28 18:21:55 +00:00
netkey Fix a printf(3) formatter to match its variable. 1999-08-17 22:11:02 +00:00
netnatm Examine all occurrences of sprintf(), strcat(), and str[n]cpy() 1998-12-04 22:54:57 +00:00
netns $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
nfs Asynchronized client-side nfs_commit. NFS commit operations were 1999-09-17 05:57:57 +00:00
nfsclient Asynchronized client-side nfs_commit. NFS commit operations were 1999-09-17 05:57:57 +00:00
nfsserver Asynchronized client-side nfs_commit. NFS commit operations were 1999-09-17 05:57:57 +00:00
ntfs Seperate the export check in VFS_FHTOVP, exports are now checked via 1999-09-11 00:46:08 +00:00
pc98 Two more devstat_end_transaction() -> devstat_end_transaction_buf(). 1999-09-19 12:43:34 +00:00
pccard $Id$ -> $FreeBSD$ 1999-09-06 11:23:05 +00:00
pci Clean up two cases of the alpha vtophys() hack that should be 1999-09-18 04:04:03 +00:00
posix4 $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
powerpc $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00
rpc $Id$ -> $FreeBSD$ 1999-08-27 23:45:13 +00:00
svr4 This is what was "fdfix2.patch," a fix for fd sharing. It's pretty 1999-09-19 17:00:25 +00:00
sys This is what was "fdfix2.patch," a fix for fd sharing. It's pretty 1999-09-19 17:00:25 +00:00
tools $Id$ -> $FreeBSD$ (some mangled and/or hidden ones) 1999-08-28 02:21:15 +00:00
ufs Removed diskerr()'s unused d_name arg and updated callers. This fixes 1999-09-13 12:59:41 +00:00
vm Remove inappropriate VOP_FSYNC from vm_object_page_clean(). The fsync 1999-09-17 05:48:36 +00:00
Makefile $Id$ -> $FreeBSD$ 1999-08-28 01:08:13 +00:00