freebsd-dev/sys/nfs
Bill Paul 1b4a7d506f Fix (properly, I hope) 'panic: sillyrename dir' crash that can happen
if you do:

% cd /nfsdir
% mkdir -p foo/foo
% mv foo/foo .

nfs_sillyrename() self-destructs if you try to sillyrename a directory,
however nfs_rename() can be coerced into doing just that by the above
sequence of commands. To avoid this, nfs_rename() now checks that
v_type of the 'destination' vnode != VDIR before attempting the
sillyrename. The server correctly handles this particular situation
by returning ENOTEMPTY on the rename() attempt.

I asked if this was the correct fix for this on -hackers but nobody
ever answered.

This is a 2.2 candidate.
1996-12-31 07:10:19 +00:00
..
nfs_bio.c Improve the queuing algorithms used by NFS' asynchronous i/o. The 1996-11-06 10:53:16 +00:00
nfs_common.c Improve the queuing algorithms used by NFS' asynchronous i/o. The 1996-11-06 10:53:16 +00:00
nfs_common.h In sys/time.h, struct timespec is defined as: 1996-09-19 18:21:32 +00:00
nfs_node.c Moved the fsnode MALLOC to before the call to getnewvnode() so that the 1996-06-12 03:37:57 +00:00
nfs_nqlease.c Even though this looks like it, this is not a complex code change. 1996-08-21 21:56:23 +00:00
nfs_serv.c In sys/time.h, struct timespec is defined as: 1996-09-19 18:21:32 +00:00
nfs_socket.c This fixes a problem with the nfs socket handling code which happens 1996-10-11 10:15:33 +00:00
nfs_srvcache.c Add an option NFS_NOSERVER which saves 100K in the install kernel (or 1996-01-13 23:27:58 +00:00
nfs_subs.c Improve the queuing algorithms used by NFS' asynchronous i/o. The 1996-11-06 10:53:16 +00:00
nfs_syscalls.c Improve the queuing algorithms used by NFS' asynchronous i/o. The 1996-11-06 10:53:16 +00:00
nfs_vfsops.c Improve the queuing algorithms used by NFS' asynchronous i/o. The 1996-11-06 10:53:16 +00:00
nfs_vnops.c Fix (properly, I hope) 'panic: sillyrename dir' crash that can happen 1996-12-31 07:10:19 +00:00
nfs.h Improve the queuing algorithms used by NFS' asynchronous i/o. The 1996-11-06 10:53:16 +00:00
nfsdiskless.h Changes to support version 3 of the NFS protocol. 1995-06-27 11:07:30 +00:00
nfsm_subs.h In sys/time.h, struct timespec is defined as: 1996-09-19 18:21:32 +00:00
nfsmount.h Improve the queuing algorithms used by NFS' asynchronous i/o. The 1996-11-06 10:53:16 +00:00
nfsnode.h Improve the queuing algorithms used by NFS' asynchronous i/o. The 1996-11-06 10:53:16 +00:00
nfsproto.h Changes to support version 3 of the NFS protocol. 1995-06-27 11:07:30 +00:00
nfsrtt.h Changes to support version 3 of the NFS protocol. 1995-06-27 11:07:30 +00:00
nfsrvcache.h Changes to support version 3 of the NFS protocol. 1995-06-27 11:07:30 +00:00
nfsv2.h Changes to support version 3 of the NFS protocol. 1995-06-27 11:07:30 +00:00
nqnfs.h Staticize. 1995-12-17 21:14:36 +00:00
rpcv2.h Changes to support version 3 of the NFS protocol. 1995-06-27 11:07:30 +00:00
xdr_subs.h In sys/time.h, struct timespec is defined as: 1996-09-19 18:21:32 +00:00