freebsd-nq/sys
Kirk McKusick 0b04113700 If the effective link count is zero when an NFS file handle request
comes in for it, the file is really gone, so return ESTALE.

The problem arises when the last reference to an FFS file is
released because soft-updates may delay the actual freeing of the
inode for some time. Since there are no filesystem links or open
file descriptors referencing the inode, from the point of view of
the system, the file is inaccessible. However, if the filesystem
is NFS exported, then the remote client can still access the inode
via ufs_fhtovp() until the inode really goes away. To prevent this
anomoly, it is necessary to begin returning ESTALE at the same time
that the file ceases to be accessible to the local filesystem.

Obtained from:	Ian Dowse <iedowse@maths.tcd.ie>
2001-05-13 23:30:45 +00:00
..
alpha Convert DEVFS from an "opt-in" to an "opt-out" option. 2001-05-13 20:52:40 +00:00
amd64 Convert DEVFS from an "opt-in" to an "opt-out" option. 2001-05-13 20:52:40 +00:00
arm/include Correct disordering which is corresponding to bde's fix to 2001-02-17 14:51:11 +00:00
boot FICL 2.05 has a flawed definition of BASE. Fix it. 2001-05-10 05:13:09 +00:00
cam Exploit recent improvements in the disk minilayer to simplify error 2001-05-08 08:30:48 +00:00
coda Implement vop_std{get|put}pages() and add them to the default vop[]. 2001-05-01 08:34:45 +00:00
compat Avoid overflow when converting ticks to jiffies. 2001-05-09 11:41:54 +00:00
compile
conf Convert DEVFS from an "opt-in" to an "opt-out" option. 2001-05-13 20:52:40 +00:00
contrib/dev Actually biofinish(struct bio *, struct devstat *, int error) is more general 2001-05-06 20:00:03 +00:00
crypto Kernel crypto need binary key material, not symbolic ascii. 2001-03-10 13:02:58 +00:00
ddb Undo part of the tangle of having sys/lock.h and sys/mutex.h included in 2001-05-01 08:13:21 +00:00
dev Remove safety belt that checks for miibus in the config file. This 2001-05-13 05:38:59 +00:00
fs Convert DEVFS from an "opt-in" to an "opt-out" option. 2001-05-13 20:52:40 +00:00
geom Polish error handling with biofinish(). 2001-05-08 09:10:27 +00:00
gnu When running with soft updates, track the number of blocks and files 2001-05-08 07:42:20 +00:00
i4b pseudo-device -> device in kernel config. 2001-05-01 11:26:14 +00:00
i386 Convert DEVFS from an "opt-in" to an "opt-out" option. 2001-05-13 20:52:40 +00:00
ia64 Convert DEVFS from an "opt-in" to an "opt-out" option. 2001-05-13 20:52:40 +00:00
isa Actually biofinish(struct bio *, struct devstat *, int error) is more general 2001-05-06 20:00:03 +00:00
isofs/cd9660 Implement vop_std{get|put}pages() and add them to the default vop[]. 2001-05-01 08:34:45 +00:00
kern Simplify the vm fault trap handling code a bit by using if-else instead of 2001-05-11 23:50:08 +00:00
libkern Add function prototypes and base module for kernel side iconv library. 2001-04-09 09:39:29 +00:00
miscfs GC prototype for procfs_bmap() missed during a previous commit. 2001-05-11 23:37:37 +00:00
modules Update makefile to reflect vlan support. 2001-05-13 00:04:02 +00:00
msdosfs Implement vop_std{get|put}pages() and add them to the default vop[]. 2001-05-01 08:34:45 +00:00
net Get IP multicast working on VLAN devices: 2001-05-02 16:12:58 +00:00
netatalk Mechanical change to use <sys/queue.h> macro API instead of 2001-02-04 13:13:25 +00:00
netatm Silence some warnings 2001-03-20 10:42:49 +00:00
netgraph Don't reference a node after we dropped a reference to it 2001-04-11 22:04:47 +00:00
netinet In in_ifadown(), differentiate between whether the interface goes 2001-05-11 14:37:34 +00:00
netinet6 Fix typo in previous commit. 2001-04-20 08:43:20 +00:00
netipx Undo part of the tangle of having sys/lock.h and sys/mutex.h included in 2001-05-01 08:13:21 +00:00
netkey Undo part of the tangle of having sys/lock.h and sys/mutex.h included in 2001-05-01 08:13:21 +00:00
netnatm Change a couple of M_WAITOKs used in M_PREPEND() to M_TRYWAITs, which 2001-04-05 04:20:48 +00:00
netncp Undo part of the tangle of having sys/lock.h and sys/mutex.h included in 2001-05-01 08:13:21 +00:00
netns * Rename M_WAIT mbuf subsystem flag to M_TRYWAIT. 2000-12-21 21:44:31 +00:00
netsmb Undo part of the tangle of having sys/lock.h and sys/mutex.h included in 2001-05-01 08:13:21 +00:00
nfs Undo part of the tangle of having sys/lock.h and sys/mutex.h included in 2001-05-01 08:13:21 +00:00
nfsclient Undo part of the tangle of having sys/lock.h and sys/mutex.h included in 2001-05-01 08:13:21 +00:00
nfsserver Undo part of the tangle of having sys/lock.h and sys/mutex.h included in 2001-05-01 08:13:21 +00:00
ntfs Implement vop_std{get|put}pages() and add them to the default vop[]. 2001-05-01 08:34:45 +00:00
nwfs Implement vop_std{get|put}pages() and add them to the default vop[]. 2001-05-01 08:34:45 +00:00
pc98 Convert DEVFS from an "opt-in" to an "opt-out" option. 2001-05-13 20:52:40 +00:00
pccard Return errors for unsupported operations on pcic_get_res_flags rather 2001-05-13 04:44:45 +00:00
pci I'll be making some rather substantial changes to the pci attachment 2001-05-13 01:52:55 +00:00
posix4 o First step in cleaning up authorization code for the posix4 2001-05-06 16:15:42 +00:00
powerpc Trim lots of stuff that is now in MI code along with MD alpha code. 2001-05-10 17:58:35 +00:00
rpc Bring in a hybrid of SunSoft's transport-independent RPC (TI-RPC) and 2001-03-19 12:50:13 +00:00
svr4
sys Add a new macro to test if a process' proc lock is held by the current 2001-05-11 21:28:37 +00:00
tools replace calls to non-existant bail() subroutine with calls to 2001-03-23 11:48:50 +00:00
ufs If the effective link count is zero when an NFS file handle request 2001-05-13 23:30:45 +00:00
vm Actually biofinish(struct bio *, struct devstat *, int error) is more general 2001-05-06 20:00:03 +00:00
Makefile