freebsd-dev/sys/fs
Jaakko Heinonen 89d10571db Remove empty devfs directories automatically.
devfs_delete() now recursively removes empty parent directories unless
the DEVFS_DEL_NORECURSE flag is specified. devfs_delete() can't be
called anymore with a parent directory vnode lock held because the
possible parent directory deletion needs to lock the vnode. Thus we
unlock the parent directory vnode in devfs_remove() before calling
devfs_delete().

Call devfs_populate_vp() from devfs_symlink() and devfs_vptocnp() as now
directories can get removed.

Add a check for DE_DOOMED flag to devfs_populate_vp() because
devfs_delete() drops dm_lock before the VI_DOOMED vnode flag gets set.
This ensures that devfs_populate_vp() returns an error for directories
which are in progress of deletion.

Reviewed by:	kib
Discussed on:	freebsd-current (mostly silence)
2010-09-15 14:23:55 +00:00
..
cd9660 Revert the previous commit. The race is not applicable to the lockmgr 2010-07-16 19:52:03 +00:00
coda Properly bounds check ioctl/pioctl data arguments for Coda: 2010-08-07 08:08:14 +00:00
deadfs Add function vop_rename_fail(9) that performs needed cleanup for locks 2010-04-02 14:03:01 +00:00
devfs Remove empty devfs directories automatically. 2010-09-15 14:23:55 +00:00
ext2fs - Remove duplicate comment. 2010-09-01 05:34:17 +00:00
fdescfs Fix a long standing regression of readdir(3) in fdescfs(5) introduced 2010-03-16 19:59:14 +00:00
fifofs - Improve comments about locking of the "struct fifoinfo" which is a bit 2009-11-06 22:29:46 +00:00
hpfs Remove the thread argument from the FSD (File-System Dependent) parts of 2009-05-11 15:33:26 +00:00
msdosfs Style fixes and removal of unneeded variable. 2010-05-06 18:43:19 +00:00
nfs Fix the NFSVNO_CMPFH() macro in the experimental NFS server so 2010-09-10 23:18:45 +00:00
nfsclient Fix the experimental NFS client so that it doesn't panic when 2010-09-09 15:45:11 +00:00
nfsserver This patch applies one of the two fixes suggested by 2010-09-10 23:49:33 +00:00
ntfs Fix ntfs such that it understand media with a non-512-bytes sector size: 2009-12-07 15:15:08 +00:00
nullfs Add a null_remove() function to nullfs, so that the v_usecount 2010-08-31 01:16:45 +00:00
nwfs Add dedicated routines to toggle lockmgr flags such as LK_NOSHARE and 2010-08-20 19:46:50 +00:00
portalfs Don't use ap->a_td->td_ucred when we were passed ap->a_cred. 2009-12-02 18:09:22 +00:00
procfs fix a few cases where a string is passed via format argument instead of 2010-06-11 19:27:21 +00:00
pseudofs Add dedicated routines to toggle lockmgr flags such as LK_NOSHARE and 2010-08-20 19:46:50 +00:00
smbfs Add dedicated routines to toggle lockmgr flags such as LK_NOSHARE and 2010-08-20 19:46:50 +00:00
tmpfs tmpfs, zfs + sendfile: mark page bits as valid after populating it with data 2010-09-15 10:31:27 +00:00
udf Revert the previous commit. The race is not applicable to the lockmgr 2010-07-16 19:52:03 +00:00
unionfs Allowed unionfs to use whiteout not supporting file system as 2010-09-05 04:58:16 +00:00